本文整理汇总了PHP中FieldList::getFieldsFromIdst方法的典型用法代码示例。如果您正苦于以下问题:PHP FieldList::getFieldsFromIdst方法的具体用法?PHP FieldList::getFieldsFromIdst怎么用?PHP FieldList::getFieldsFromIdst使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FieldList
的用法示例。
在下文中一共展示了FieldList::getFieldsFromIdst方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveFields
/**
* @param array $predefined_data
* @param array $custom_data
* @param integer $id user id; if 0 a new user will be created
* @param boolean $dropdown_id if true will take dropdown values as id;
* else will search the id starting from the value.
*/
function saveFields($predefined_data, $custom_data, $id = 0, $dropdown_id = TRUE)
{
require_once $GLOBALS["where_crm"] . "/modules/company/lib.company.php";
// TODO: at this moment the function works only for user creation;
// does not update the user if it already exists
$acl =& Docebo::user()->getACL();
$acl_manager =& Docebo::user()->getAclManager();
$data = array();
$userid = $predefined_data["userid"];
$firstname = $predefined_data["firstname"];
$lastname = $predefined_data["lastname"];
$pass = $predefined_data["pass"];
$email = $predefined_data["email"];
if (!empty($userid)) {
$idst = $acl_manager->registerUser($userid, $firstname, $lastname, $pass, $email, '', '');
} else {
$idst = FALSE;
}
if ($idst !== false) {
// -- Add user to registered users group if not importing into root ---
$idst_oc = $acl_manager->getGroup(false, '/oc_0');
$idst_oc = $idst_oc[ACL_INFO_IDST];
$idst_ocd = $acl_manager->getGroup(false, '/ocd_0');
$idst_ocd = $idst_ocd[ACL_INFO_IDST];
$acl_manager->addToGroup($idst_oc, $idst);
$acl_manager->addToGroup($idst_ocd, $idst);
// -------------------------------------------------------------------|
// add to group level
$userlevel = $acl_manager->getGroupST(ADMIN_GROUP_USER);
$acl_manager->addToGroup($userlevel, $idst);
// -- Custom fields ----------------------------------------------------
require_once $GLOBALS["where_framework"] . "/lib/lib.field.php";
$res = array();
$fl = new FieldList();
$custom_fields = array_keys($this->getCustomFields(FALSE));
$field_info_arr = $fl->getFieldsFromIdst($custom_fields);
foreach ($custom_fields as $field_id) {
// store direct
if (isset($custom_data[$field_id])) {
$field_obj =& $fl->getFieldInstance($field_id);
// $field_obj->setFieldEntryTable($company_entry_table);
$field_obj->storeDirect($idst, $custom_data[$field_id], $dropdown_id, FALSE, TRUE);
}
}
}
return $idst;
}
示例2: connect
function connect()
{
require_once _base_ . '/lib/lib.userselector.php';
require_once _adm_ . '/lib/lib.field.php';
$aclManager = Docebo::user()->getACLManager();
$this->directory = new UserSelector();
$this->groupFilter_idst = $aclManager->getGroupST($this->groupFilter);
// load language for fields names
$lang_dir = DoceboLanguage::createInstance('admin_directory', 'framework');
$fl = new FieldList();
$this->fl = $fl;
// root and root descendant
$tmp = $aclManager->getGroup(false, '/oc_0');
$arr_idst[] = $tmp[0];
$this->tree_oc = $tmp[0];
$tmp = $aclManager->getGroup(false, '/ocd_0');
$arr_idst[] = $tmp[0];
$this->tree_ocd = $tmp[0];
// tree folder selected
if ($this->tree != 0) {
$arr_groupid = $aclManager->getGroupsId($arr_idst);
foreach ($arr_groupid as $key => $val) {
$arr_groupid[$key] = substr_replace($val, '/ocd', 0, 3);
}
$arr_result = $aclManager->getArrGroupST($arr_groupid);
list($this->tree_desc) = array_values($arr_result);
$arr_idst[] = $this->tree;
$arr_idst[] = $this->tree_desc;
}
$arr_fields = $fl->getFieldsFromIdst($arr_idst);
// generating cols descriptor
$this->cols_descriptor = NULL;
if ($this->dbconn === NULL) {
$this->dbconn = $GLOBALS['dbConn'];
}
$query = "SHOW FIELDS FROM " . $GLOBALS['prefix_fw'] . "_user";
$rs = sql_query($query, $this->dbconn);
if ($rs === FALSE) {
$this->last_error = Lang::t('_OPERATION_FAILURE', 'standard') . $query . ' [' . mysql_error($this->dbconn) . ']';
return FALSE;
}
$this->cols_descriptor = array();
while ($field_info = mysql_fetch_array($rs)) {
if (!in_array($field_info['Field'], $this->ignore_cols)) {
$mandatory = in_array($field_info['Field'], $this->mandatory_cols);
if (isset($this->default_cols[$field_info['Field']])) {
$this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $lang_dir->def('_DIRECTORY_FILTER_' . $field_info['Field']), DOCEBOIMPORT_COLID => $field_info['Field'], DOCEBOIMPORT_COLMANDATORY => $mandatory, DOCEBOIMPORT_DATATYPE => $field_info['Type'], DOCEBOIMPORT_DEFAULT => $this->default_cols[$field_info['Field']]);
} else {
$this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $lang_dir->def('_DIRECTORY_FILTER_' . $field_info['Field']), DOCEBOIMPORT_COLID => $field_info['Field'], DOCEBOIMPORT_COLMANDATORY => $mandatory, DOCEBOIMPORT_DATATYPE => $field_info['Type']);
}
}
}
mysql_free_result($rs);
foreach ($arr_fields as $field_id => $field_info) {
if (in_array($field_info[FIELD_INFO_TYPE], $this->valid_filed_type)) {
$this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $field_info[FIELD_INFO_TRANSLATION], DOCEBOIMPORT_COLID => $field_id, DOCEBOIMPORT_COLMANDATORY => FALSE, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => false);
}
}
$this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => 'tree_code', DOCEBOIMPORT_COLID => 'tree_code', DOCEBOIMPORT_COLMANDATORY => FALSE, DOCEBOIMPORT_DATATYPE => 'text');
$this->arr_fields = $arr_fields;
$this->index = 0;
$this->eof = true;
$match = array();
$this->org_chart_name = array();
$this->org_chart_group = array();
$this->user_org_chart = array();
// cache org_chart group
$this->org_chart_group = $aclManager->getBasePathGroupST('/oc');
$query = " SELECT id_dir, translation " . " FROM " . $GLOBALS['prefix_fw'] . "_org_chart" . " WHERE lang_code = '" . getLanguage() . "'";
$result = sql_query($query);
while (list($id_dir, $dir_name) = sql_fetch_row($result)) {
$valid = preg_match('/' . $this->preg_match_folder . '/i', $dir_name, $match);
if ($valid) {
$dir_name = $match[1];
}
$this->org_chart_name[$dir_name] = $id_dir;
$idst_group = $this->org_chart_group['/oc_' . $id_dir];
$query_idstMember = "SELECT idstMember" . " FROM " . $GLOBALS['prefix_fw'] . "_group_members " . " WHERE idst = '" . $idst_group . "'";
$re = sql_query($query_idstMember);
while (list($idstMember) = sql_fetch_row($re)) {
if (!isset($this->user_org_chart[$idstMember])) {
$this->user_org_chart[$idstMember] = array();
}
$this->user_org_chart[$idstMember][$id_dir] = $id_dir;
}
}
return TRUE;
}
示例3: assignfields
function assignfields()
{
//check permissions
if (!$this->permissions['mod_org']) {
Util::jump_to('index.php?r=' . $this->link . '/show');
}
require_once _base_ . '/lib/lib.table.php';
require_once _adm_ . '/lib/lib.field.php';
$id_org = Get::req('id_node', DOTY_INT, 0);
$table = new Table();
$type_h = array('', 'image', 'image', 'image', 'image', 'image');
$cont_h = array(Lang::t('_FIELD_NAME', 'organization_chart'), Lang::t('_DIRECTORY_ASSIGNFIELDGROUP', 'admin_directory'), Lang::t('_ORG_CHART_INHERIT', 'organization_chart'), Lang::t('_MANDATORY', 'organization_chart'), Lang::t('_ORG_CHART_FIELD_WRITE', 'organization_chart'), Lang::t('_USER_INHERIT', 'organization_chart'));
$table->addHead($cont_h, $type_h);
$fl = new FieldList();
$acl = Docebo::user()->getACL();
$acl_man = Docebo::user()->getAclManager();
$body = "";
$body .= Form::openForm('assignfieldgroup', 'ajax.adm_server.php?r=' . $this->link . '/assignfields_action');
$body .= Form::getLineBox(Lang::t('_ORG_CHART_LIST_FIELDS', 'organization_chart') . ': ', $this->model->getOrgPath($id_org));
$body .= Form::getHidden('idst_group', 'idst_group', $id_org);
$arr_all_fields = $fl->getAllFields();
$arr_fields_normal = $fl->getFieldsFromIdst(array($acl_man->getGroupST('oc_' . $id_org)));
$arr_fields_inherit = $fl->getFieldsFromIdst(array($acl_man->getGroupST('ocd_' . $id_org)));
//$body .= '<pre>'.print_r($arr_fields_normal, true).print_r($arr_fields_inherit, true).'</pre>';
foreach ($arr_all_fields as $field) {
$id_field = $field[FIELD_INFO_ID];
$def_value = GROUP_FIELD_NO;
if (isset($arr_fields_normal[$id_field])) {
$def_value = GROUP_FIELD_NORMAL;
}
if (isset($arr_fields_inherit[$id_field])) {
$def_value = GROUP_FIELD_INHERIT;
}
switch ($def_value) {
case GROUP_FIELD_NORMAL:
$is_mandatory = isset($arr_fields_normal[$id_field]) && $arr_fields_normal[$id_field][FIELD_INFO_MANDATORY] == 'true';
$is_invisible = isset($arr_fields_normal[$id_field]) && $arr_fields_normal[$id_field][FIELD_INFO_USERACCESS] == 'readwrite';
$is_userinherit = isset($arr_fields_normal[$id_field]) && $arr_fields_normal[$id_field][FIELD_INFO_USERINHERIT] == '1';
break;
case GROUP_FIELD_INHERIT:
$is_mandatory = isset($arr_fields_inherit[$id_field]) && $arr_fields_inherit[$id_field][FIELD_INFO_MANDATORY] == 'true';
$is_invisible = isset($arr_fields_inherit[$id_field]) && $arr_fields_inherit[$id_field][FIELD_INFO_USERACCESS] == 'readwrite';
$is_userinherit = isset($arr_fields_inherit[$id_field]) && $arr_fields_inherit[$id_field][FIELD_INFO_USERINHERIT] == '1';
break;
default:
$is_mandatory = false;
$is_invisible = false;
$is_userinherit = false;
}
$selected = $def_value != GROUP_FIELD_NO;
$disabled = 'disabled="disabled"';
$line = array();
$line[] = $field[FIELD_INFO_TRANSLATION];
$line[] = Form::getInputCheckbox('fields_use_' . $id_field, 'fields_use[' . $id_field . ']', 1, $selected, '');
$line[] = Form::getInputCheckbox('fields_inherit_' . $id_field, 'fields_inherit[' . $id_field . ']', 1, $def_value == GROUP_FIELD_INHERIT, $selected ? '' : $disabled);
$line[] = Form::getInputCheckbox('fields_mandatory_' . $id_field, 'fields_mandatory[' . $id_field . ']', 1, $is_mandatory, $selected ? '' : $disabled);
$line[] = Form::getInputCheckbox('fields_invisible_' . $id_field, 'fields_invisible[' . $id_field . ']', 1, $is_invisible, $selected ? '' : $disabled);
$line[] = Form::getInputCheckbox('fields_userinherit_' . $id_field, 'fields_userinherit[' . $id_field . ']', 1, $is_userinherit, $selected ? '' : $disabled);
$table->addBody($line);
}
$body .= $table->getTable();
$body .= Form::closeForm();
$output = array('success' => true, 'header' => Lang::t('_ORGCHART_FOLDER_FIELD_ALT', 'organization_chart'), 'body' => $body);
//$this->render('assign_fields', $params);
echo $this->json->encode($output);
}
示例4: FieldList
/**
* Assign fields mandatory and user for group
**/
function loadAssignField2($groupid)
{
$arr_fields = $_POST[DIRECTORY_ID][DIRECTORY_OP_ADDFIELD];
$idst_group = $_POST[DIRECTORY_ID]['idst_group'];
require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
if (isset($_POST[DIRECTORY_ID]['save_assignfield2'])) {
$fl = new FieldList();
$arr_fields_mandatory = $_POST[DIRECTORY_ID]['field_mandatory'];
$arr_fields_useraccess = $_POST[DIRECTORY_ID]['field_useraccess'];
foreach ($arr_fields as $id_filed => $status) {
switch ($status) {
case GROUP_FIELD_NO:
$fl->removeFieldFromGroup($id_filed, $idst_group);
break;
case GROUP_FIELD_NORMAL:
$fl->addFieldToGroup($id_filed, $idst_group, isset($arr_fields_mandatory[$id_filed]) ? $arr_fields_mandatory[$id_filed] : 'false', isset($arr_fields_useraccess[$id_filed]) ? $arr_fields_useraccess[$id_filed] : 'readonly');
break;
}
}
Util::jump_to('index.php?modname=directory&op=listgroup');
} elseif (isset($_POST[DIRECTORY_ID]['cancel_assignfield'])) {
Util::jump_to('index.php?modname=directory&op=listgroup');
}
$fl = new FieldList();
$arr_all_fields = $fl->getAllFields();
require_once _base_ . '/lib/lib.form.php';
$form = new Form();
$GLOBALS['page']->setWorkingZone('content');
$GLOBALS['page']->add(getTitleArea($this->lang->def('_GROUPS') . ': ' . $groupid, 'directory_group'));
$GLOBALS['page']->add('<div class="std_block">');
$GLOBALS['page']->add($form->openForm('directoryassignfieldgroupmandatory', 'index.php?modname=directory&op=assignfieldmandatory'));
$GLOBALS['page']->add($form->openElementSpace());
// print custom fields status
$arr_fields_normal = $fl->getFieldsFromIdst(array($idst_group));
$GLOBALS['page']->add($form->getHidden(DIRECTORY_ID . '_idst_group', DIRECTORY_ID . '[idst_group]', $idst_group));
foreach ($arr_fields as $id_filed => $status) {
$GLOBALS['page']->add($form->getHidden(DIRECTORY_ID . '_' . $id_filed, DIRECTORY_ID . '[' . DIRECTORY_OP_ADDFIELD . '][' . $id_filed . ']', $status));
}
$GLOBALS['page']->add($form->openFormLine() . '<div class="label_effect"> </div>' . '<div class="label_head">' . $this->lang->def('_MANDATORY') . '</div>' . '<div class="label_head">' . $this->lang->def('_DIRECTORY_GROUP_FIELD_WRITE') . '</div>' . $form->closeFormLine());
// checkbox for mandatory and useraccess
foreach ($arr_fields as $id_filed => $status) {
if ($status == GROUP_FIELD_NORMAL) {
$GLOBALS['page']->add($form->openFormLine() . '<div class="label_effect">' . $arr_all_fields[$id_filed][FIELD_INFO_TRANSLATION] . '</div>' . '<input class="label_head" type="checkbox"' . ' id="' . DIRECTORY_ID . '_' . $id_filed . '_mandatory"' . ' name="' . DIRECTORY_ID . '[field_mandatory][' . $id_filed . ']"' . ' value="true"');
if (isset($arr_fields_normal[$id_filed]) && $arr_fields_normal[$id_filed][FIELD_INFO_MANDATORY] == 'true') {
$GLOBALS['page']->add(' checked="checked"');
}
$GLOBALS['page']->add(' />');
$GLOBALS['page']->add($form->getLabel(DIRECTORY_ID . '_' . $id_filed . '_mandatory', $this->lang->def('_MANDATORY'), 'label_bold access-only'));
// checkbox for useraccess
$GLOBALS['page']->add('<input class="label_head" type="checkbox"' . ' id="' . DIRECTORY_ID . '_' . $id_filed . '_useraccess"' . ' name="' . DIRECTORY_ID . '[field_useraccess][' . $id_filed . ']"' . ' value="readwrite"');
if (isset($arr_fields_normal[$id_filed]) && $arr_fields_normal[$id_filed][FIELD_INFO_USERACCESS] == 'readwrite') {
$GLOBALS['page']->add(' checked="checked"');
}
$GLOBALS['page']->add(' />');
$GLOBALS['page']->add($form->getLabel(DIRECTORY_ID . '_' . $id_filed . '_useraccess', $this->lang->def('_DIRECTORY_GROUP_FIELD_WRITE'), 'label_bold access-only'));
$GLOBALS['page']->add($form->closeFormLine());
}
}
$GLOBALS['page']->add($form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('save_assignfield2' . DIRECTORY_ID, DIRECTORY_ID . '[save_assignfield2]', $this->lang->def('_SAVE')) . $form->getButton('cancel_assignfield' . DIRECTORY_ID, DIRECTORY_ID . '[cancel_assignfield]', $this->lang->def('_UNDO')) . $form->closeButtonSpace());
}
示例5: FieldList
function loadAssignField3()
{
$arr_fields = $_POST[$this->id]['field_set'];
$idst_group = $_POST[$this->id]['idst_group'];
require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
$fl = new FieldList();
$arr_all_fields = $fl->getAllFields();
$arr_fields_normal = $fl->getFieldsFromIdst(array($idst_group));
require_once _base_ . '/lib/lib.form.php';
$form = new Form();
$tree = $form->getFormHeader($this->lang->def('_ORG_CHART_LIST_FIELDS'));
$tree .= $form->openElementSpace();
$tree .= $this->printState();
$tree .= $form->getHidden($this->id . '_idst_group', $this->id . '[idst_group]', $idst_group);
// print custom fields status
foreach ($arr_fields as $id_filed => $status) {
$tree .= $form->getHidden($this->id . '_' . $id_filed, $this->id . '[field_set][' . $id_filed . ']', $status);
}
// first print already ordered fields
foreach ($arr_fields_normal as $id_filed => $field) {
}
$tree .= $form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('next1_assignfield' . $this->id, $this->id . '[save_assignfield]', $this->lang->def('_SAVE')) . $form->getButton($this->_getCancelId(), $this->_getCancelId(), $this->lang->def('_UNDO')) . $form->closeButtonSpace();
return $tree;
}