本文整理汇总了PHP中ca_lists::itemIsInList方法的典型用法代码示例。如果您正苦于以下问题:PHP ca_lists::itemIsInList方法的具体用法?PHP ca_lists::itemIsInList怎么用?PHP ca_lists::itemIsInList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ca_lists
的用法示例。
在下文中一共展示了ca_lists::itemIsInList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setAccessSettingForSource
/**
* Set access setting for given source
*
* @param string $ps_table the table the bundle belongs to
* @param string $pm_source_id_or_code the primary key or code for the type list item
* @param int $pn_access access level, __CA_BUNDLE_ACCESS_NONE__, __CA_BUNDLE_ACCESS_READONLY__ or __CA_BUNDLE_ACCESS_EDIT__
* @param bool $pb_is_default Mark source as default for this table
* @return boolean success or not
*/
public function setAccessSettingForSource($ps_table, $pm_source_id_or_code, $pn_access, $pb_is_default = false)
{
if (!in_array($pn_access, array(__CA_BUNDLE_ACCESS_NONE__, __CA_BUNDLE_ACCESS_READONLY__, __CA_BUNDLE_ACCESS_EDIT__))) {
return false;
}
if (!$this->getPrimaryKey()) {
return false;
}
//if(!$this->getAppConfig()->get('perform_source_access_checking')) { return false; }
$o_dm = Datamodel::load();
$t_list = new ca_lists();
$va_vars = $this->get('vars');
if (!is_array($va_vars)) {
$va_vars = array();
}
if (!isset($va_vars['source_access_settings'])) {
$va_vars['source_access_settings'] = array();
}
$t_instance = $o_dm->getInstanceByTableName($ps_table, true);
if (!$t_instance) {
return false;
}
if (!($vs_list_code = $t_instance->getSourceListCode())) {
return false;
}
// convert idno to id
if (!is_numeric($pm_source_id_or_code)) {
if (!$t_list->itemIsInList($vs_list_code, $pm_source_id_or_code)) {
return false;
}
$pm_source_id_or_code = ca_lists::getItemID($vs_list_code, $pm_source_id_or_code);
}
if (!$t_list->itemIDIsInList($vs_list_code, $pm_source_id_or_code)) {
return false;
}
$va_vars['source_access_settings'][$ps_table . "." . $pm_source_id_or_code] = $pn_access;
if ($pb_is_default) {
$va_vars['source_access_settings'][$ps_table . '_default_id'] = $pm_source_id_or_code;
}
$this->set('vars', $va_vars);
$vn_old_mode = $this->getMode();
$this->setMode(ACCESS_WRITE);
$this->update();
$this->setMode($vn_old_mode);
if ($this->numErrors() > 0) {
return false;
}
return true;
}