function addtest($object_test) { checkPerm('view', false, 'storage'); $lang =& DoceboLanguage::createInstance('test'); if (!is_a($object_test, 'Learning_Test')) { $_SESSION['last_error'] = $lang->def('_OPERATION_FAILURE'); Util::jump_to('' . $object_test->back_url . '&create_result=0'); } require_once _base_ . '/lib/lib.form.php'; $url_encode = htmlentities(urlencode($object_test->back_url)); $GLOBALS['page']->add(getTitleArea($lang->def('_TEST_SECTION'), 'test') . '<div class="std_block">' . getBackUi(Util::str_replace_once('&', '&', $object_test->back_url) . '&create_result=0', $lang->def('_BACK')) . Form::getFormHeader($lang->def('_TEST_ADD_FORM')) . Form::OpenForm('addtest_form', 'index.php?modname=test&op=instest') . Form::openElementSpace() . Form::getHidden('back_url', 'back_url', htmlentities(urlencode($object_test->back_url))) . Form::getTextfield($lang->def('_TITLE'), 'title', 'title', '255') . Form::getTextarea($lang->def('_DESCRIPTION'), 'textof', 'textof') . Form::closeElementSpace() . Form::openButtonSpace() . Form::getButton('button_ins', 'button_ins', $lang->def('_TEST_INSERT')) . Form::closeButtonSpace() . Form::closeForm() . '</div>', 'content'); }
function additem($object_item) { //checkPerm( 'view', FALSE, 'storage' ); $lang =& DoceboLanguage::createInstance('scorm', 'lms'); require_once _base_ . '/lib/lib.form.php'; $form = new Form(); //area title $GLOBALS['page']->add(getTitleArea($lang->getLangText('_SCORMIMGSECTION'), 'scorm', $lang->getLangText('_SCORMSECTIONNAME'))); $GLOBALS['page']->add('<div class="std_block">' . getBackUi(Util::str_replace_once('&', '&', $object_item->back_url) . '&create_result=0', $lang->getLangText('_BACK_TOLIST'))); $GLOBALS['page']->add(Form::getFormHeader($lang->def('_SCORM_ADD_FORM'))); $GLOBALS['page']->add($form->openForm("scormform", "index.php?modname=scorm&op=insitem", false, false, 'multipart/form-data')); $GLOBALS['page']->add($form->openElementSpace()); $GLOBALS['page']->add($form->getHidden("back_url", "back_url", htmlentities(urlencode($object_item->back_url)))); $GLOBALS['page']->add($form->getFilefield($lang->getLangText('_CONTENTPACKAGE'), "attach", "attach")); $GLOBALS['page']->add($form->getCheckbox($lang->getLangText('_SCORMIMPORTRESOURCES'), "lesson_resources", "lesson_resources", "import")); $GLOBALS['page']->add($form->closeElementSpace()); $GLOBALS['page']->add($form->openButtonSpace()); $GLOBALS['page']->add($form->getButton("scorm_add_submit", "scorm_add_submit", $lang->getLangText('_SCORMLOAD'))); $GLOBALS['page']->add($form->closeButtonSpace()); $GLOBALS['page']->add($form->closeForm() . '</div>'); }
function adminManager_lang_course() { checkPerm('view'); require_once _base_ . '/lib/lib.form.php'; $lang =& DoceboLanguage::createInstance('adminrules', 'framework'); $adminidst = importVar('adminidst', true, 0); $user_pref = new UserPreferences($adminidst); if (isset($_POST['save'])) { $re = $user_pref->setPreference('admin_rules.user_lang_assigned', isset($_POST['admin_lang']) ? urlencode(serialize($_POST['admin_lang'])) : ''); Util::jump_to('index.php?modname=admin_manager&op=view&result=' . ($re ? 1 : 0)); } $all_languages = Docebo::langManager()->getAllLangCode(); $assigned_lang = unserialize(urldecode($user_pref->getAdminPreference('admin_rules.user_lang_assigned'))); $GLOBALS['page']->add(getTitleArea($lang->def('_ADMIN_MANAGMENT'), 'admin_managmer', $lang->def('_ADMIN_MANAGMENT')) . '<div class="std_block">' . Form::getFormHeader($lang->def('_SELECT_LANG_TO_ASSIGN')) . Form::openForm('admin_lang_editing', 'index.php?modname=admin_manager&op=edit_lang') . Form::openElementSpace() . Form::getHidden('adminidst', 'adminidst', $adminidst), 'content'); while (list(, $lang_code) = each($all_languages)) { $GLOBALS['page']->add(Form::getCheckbox('<img src="' . getPathImage('cms') . 'language/' . $lang_code . '.png" alt="' . $lang_code . '" /> ' . $lang_code, 'admin_lang_' . $lang_code, 'admin_lang[' . $lang_code . ']', '1', isset($assigned_lang[$lang_code])), 'content'); } $GLOBALS['page']->add(Form::closeElementSpace() . Form::openButtonSpace() . Form::getButton('save', 'save', $lang->def('_SAVE')) . Form::getButton('undo_pref', 'undo_pref', $lang->def('_UNDO')) . Form::closeButtonSpace() . Form::closeForm() . '</div>', 'content'); }
function ioTask_UITaskRun(&$module, $action) { checkPerm('view'); require_once _base_ . '/lib/lib.form.php'; $connMgr =& $module->get_connMgr(); $lang =& $module->get_lang(); $out =& $module->get_out(); $form = new Form(); $dimport = new DoceboImport(); $params = $connMgr->get_task_byname(key($action)); $task_name = $params[CONNMGR_TASK_NAME]; $out->setWorkingZone('content'); $out->add(getTitleArea($lang->def('_TASKS'), 'iotask')); $out->add('<div class="std_block">'); $out->add($form->getFormHeader($lang->def('_TASK_RUNNED'))); $out->add($form->openForm('task_delete', 'index.php?modname=iotask&op=display&gotab=tasks')); $out->add($form->openElementSpace()); $out->add($form->getHidden('task_name', 'task_name', $task_name)); $report = $dimport->execute_task($task_name); if (!is_array($report)) { $out->add($report); } else { $out->add($form->getLineBox($lang->def('_TASK_INSERTED'), $report[0]['inserted'])); $out->add($form->getLineBox($lang->def('_OPERATION_SUCCESSFUL'), $report[0]['removed'])); $out->add($form->getLineBox($lang->def('_OPERATION_FAILURE'), count($report) - 1)); foreach ($report as $index => $elem_report) { if ($index !== 0) { $out->add($index . ' - ' . '(' . implode(', ', $report[$index][0]) . ')' . ' - ' . $report[$index][1]); } } } $out->add($form->closeElementSpace()); $out->add($form->openButtonSpace()); $out->add($form->getButton('close', 'close', $lang->def('_CLOSE'))); $out->add($form->closeButtonSpace()); $out->add($form->closeForm()); $out->add('</div>'); }
/** * this function create a new field for future use * * @param string $back indicates the return url * @return nothing * * @access public */ function create($back) { $back_coded = htmlentities(urlencode($back)); $array_lang = array(); $std_lang =& DoceboLanguage::createInstance('standard'); $lang =& DoceboLanguage::createInstance('field'); $array_lang = Docebo::langManager()->getAllLangCode(); $out =& $GLOBALS['page']; if (isset($_POST['undo'])) { //undo action Util::jump_to($back . '&result=undo'); } if (isset($_POST['save_field_' . $this->getFieldType()])) { //insert mandatory translation $mand_lang = getLanguage(); $show_on = ''; if (isset($_POST['show_on_platform'])) { while (list($code, ) = each($_POST['show_on_platform'])) { $show_on .= $code . ','; } } //control if all is ok if (!isset($_POST['new_freetext'][$mand_lang])) { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&type_field=' . $this->getFieldType() . '&back=' . $back_coded, $std_lang->def('_BACK')), 'content'); return; } if ($_POST['new_freetext'][$mand_lang] == $lang->def('_FIELD_NAME') || trim($_POST['new_freetext'][$mand_lang]) == '') { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&type_field=' . $this->getFieldType() . '&back=' . $back_coded, $std_lang->def('_BACK')), 'content'); return; } $use_multilang = isset($_POST['use_multi_lang']) ? 1 : 0; //insert mandatory field if (!sql_query("\r\n\t\t\tINSERT INTO " . $this->_getMainTable() . "\r\n\t\t\t(type_field, lang_code, translation, show_on_platform, use_multilang) VALUES\r\n\t\t\t('" . $this->getFieldType() . "', '" . $mand_lang . "', '" . $_POST['new_freetext'][$mand_lang] . "', '" . $show_on . "', '" . $use_multilang . "') ")) { Util::jump_to($back . '&result=fail'); } list($id_common) = sql_fetch_row(sql_query("SELECT LAST_INSERT_ID()")); if (!sql_query("\r\n\t\t\tUPDATE " . $this->_getMainTable() . "\r\n\t\t\tSET id_common = '" . (int) $id_common . "',\r\n\t\t\t\tshow_on_platform = '" . $show_on . "',\r\n\t\t\t\tuse_multilang = '" . $use_multilang . "'\r\n\t\t\tWHERE idField = '" . (int) $id_common . "'")) { Util::jump_to($back . '&result=fail'); } $re = true; //insert other field foreach ($_POST['new_freetext'] as $lang_code => $translation) { if ($mand_lang != $lang_code && $translation != $lang->def('_FIELD_NAME') && trim($translation) != '') { $re_ins = sql_query("\r\n\t\t\t\t\tINSERT INTO " . $this->_getMainTable() . "\r\n\t\t\t\t\t(type_field, id_common, lang_code, translation, show_on_platform, use_multilang) VALUES\r\n\t\t\t\t\t('" . $this->getFieldType() . "', '" . (int) $id_common . "', '" . $lang_code . "', '" . $translation . "', '" . $show_on . "', '" . $use_multilang . "') "); $re = $re && $re_ins; } } Util::jump_to($back . '&result=' . ($re ? 'success' : 'fail')); } require_once _base_ . '/lib/lib.form.php'; $form = new Form(); $out->setWorkingZone('content'); $out->add('<div class="std_block">'); $out->add($form->getFormHeader($lang->def('_NEW_FREETEXT')) . $form->openForm('create_' . $this->getFieldType(), $this->getUrl()) . $form->openElementSpace() . $form->getHidden('type_field', 'type_field', $this->getFieldType()) . $form->getHidden('back', 'back', $back_coded)); $mand_lang = getLanguage(); foreach ($array_lang as $k => $lang_code) { $out->add($form->getTextfield(($mand_lang == $lang_code ? '<span class="mandatory">*</span>' : '') . $lang_code, 'new_freetext_' . $lang_code, 'new_freetext[' . $lang_code . ']', 255, '', $lang_code . ' ' . $lang->def('_FIELD_NAME'))); } $GLOBALS['page']->add($this->getMultiLangCheck(), 'content'); $GLOBALS['page']->add($this->getShowOnPlatformFieldset(), 'content'); $out->add($form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('save_field', 'save_field_' . $this->getFieldType(), $std_lang->def('_CREATE', 'standard')) . $form->getButton('undo', 'undo', $std_lang->def('_UNDO', 'standard')) . $form->closeButtonSpace() . $form->closeForm()); $out->add('</div>'); }
<?php switch ($step) { //step 1 : choose file and reading options case 1: echo getTitleArea(Lang::t('_ORG_CHART_IMPORT_USERS', 'organization_chart'), 'directory_group'); echo '<div class="std_block">'; echo Form::getFormHeader(Lang::t('_ASSIGN_USERS', 'admin_directory')); echo Form::openForm('directory_importgroupuser', 'index.php?r=' . $this->link . '/importusers', false, false, 'multipart/form-data'); //echo Form::getHidden('id', 'id', $id_org); echo Form::getHidden('step', 'step', 2); echo Form::openElementSpace(); echo Form::getFilefield(Lang::t('_GROUP_USER_IMPORT_FILE', 'admin_directory'), 'file_import', 'file_import'); //echo Form::getTextfield(Lang::t('_GROUP_USER_IMPORT_SEPARATOR', 'admin_directory'), 'import_separator', 'import_separator', 1, ','); echo Form::getRadioSet(Lang::t('_GROUP_USER_IMPORT_SEPARATOR', 'admin_directory'), 'import_separator', 'import_separator', array(Lang::t('_AUTODETECT', 'standard') => 'auto', '<b>,</b>' => 'comma', '<b>;</b>' => 'dotcomma', Lang::t('_MANUAL', 'standard') . ': ' . Form::getInputTextfield('', 'import_separator_manual', 'import_separator_manual', "", "", 255) => 'manual'), 'auto'); echo Form::getCheckbox(Lang::t('_GROUP_USER_IMPORT_HEADER', 'admin_directory'), 'import_first_row_header', 'import_first_row_header', 'true', true); echo Form::getTextfield(Lang::t('_GROUP_USER_IMPORT_CHARSET', 'admin_directory'), 'import_charset', 'import_charset', 20, 'UTF-8'); echo Form::getDropdown(Lang::t('_DIRECTORY_MEMBERTYPETREE', 'admin_directory'), 'id', 'id', $orgchart_list, $id_org); echo Form::getRadioSet(Lang::t('_FORCE_PASSWORD_CHANGE', 'admin_directory'), 'pwd_force_change_policy', 'pwd_force_change_policy', array(Lang::t('_NO', 'standard') => 'false', Lang::t('_YES', 'standard') => 'true', Lang::t('_SERVERINFO', 'configuration') => 'by_setting', Lang::t('_DO_NOTHING', 'preassessment') => 'do_nothing'), 'do_nothing'); echo Form::closeElementSpace(); echo Form::openButtonSpace(); echo Form::getButton('import_groupuser_2', 'import_groupuser_2', Lang::t('_NEXT', 'standard')); echo Form::getButton('import_groupcancel', 'import_groupcancel', Lang::t('_UNDO', 'standard')); echo Form::closeButtonSpace(); echo Form::closeForm(); echo '</div>'; break; //step 2 : set columns //step 2 : set columns case 2: echo getTitleArea(Lang::t('_ORG_CHART_IMPORT_USERS', 'organization_chart'), 'directory_group');
function newCourseEditionForm($course_id) { checkPerm('mod'); require_once $GLOBALS['where_lms'] . '/lib/lib.course.php'; require_once _base_ . '/lib/lib.form.php'; //require_once(_i18n_.'/lib.lang.php'); require_once _base_ . '/lib/lib.table.php'; $lang =& DoceboLanguage::CreateInstance('course', 'lms'); $form = new Form(); $array_lang = Docebo::langManager()->getAllLangCode(); $array_lang[] = 'none'; // possibile course status $course_status = array(CST_PREPARATION => $lang->def('_CST_PREPARATION'), CST_AVAILABLE => $lang->def('_CST_AVAILABLE'), CST_EFFECTIVE => $lang->def('_CST_CONFIRMED'), CST_CONCLUDED => $lang->def('_CST_CONCLUDED'), CST_CANCELLED => $lang->def('_CST_CANCELLED')); //type of edition $edition_type = array('elearning' => $lang->def('_COURSE_TYPE_ELEARNING'), 'blended' => $lang->def('_COURSE_TYPE_BLENDED'), 'classroom' => $lang->def('_CLASSROOM')); $query_course = "\r\n\tSELECT \tcode, name, description, lang_code, status, level_show_user, subscribe_method,\r\n\t\tlinkSponsor, mediumTime, permCloseLO, userStatusOp, difficult,\r\n\t\tshow_progress, show_time, show_extra_info, show_rules, date_begin, date_end, hour_begin, hour_end, valid_time,\r\n\t\tmin_num_subscribe, max_num_subscribe, max_sms_budget, selling, prize, advance,\r\n\t\tcourse_type, policy_point, point_to_all, course_edition\r\n\tFROM " . $GLOBALS['prefix_lms'] . "_course\r\n\tWHERE idCourse = '" . $course_id . "'"; $course = mysql_fetch_assoc(sql_query($query_course)); $GLOBALS['page']->add(getTitleArea($lang->def('_EDITIONS') . " '" . $course["name"] . "'", 'course_edition') . '<div class="std_block">' . getBackUi('index.php?modname=course&op=course_list', $lang->def('_BACK')) . $form->getFormHeader($lang->def('_EDITIONS') . " '" . $course["name"] . "'") . $form->openForm('course_edition_creation', 'index.php?modname=course&op=add_course_edition', false, false, 'multipart/form-data') . $form->openElementSpace() . $form->getHidden('course_id', 'course_id', $course_id) . $form->getTextfield($lang->def('_CODE'), 'course_edition_code', 'course_edition_code', '50', $course["code"]) . $form->getTextfield($lang->def('_COURSE_NAME'), 'course_edition_name', 'course_edition_name', '255', $course["name"]) . $form->getDropdown($lang->def('_STATUS'), 'course_edition_status', 'course_edition_status', $course_status, $course['status']) . $form->getTextarea($lang->def('_DESCRIPTION'), 'course_edition_descr', 'course_edition_descr', $course['description']) . $form->getDropdown($lang->def('_COURSE_TYPE'), 'edition_type', 'edition_type', $edition_type, $course["course_type"]), 'content'); $GLOBALS['page']->add($form->getOpenFieldset($lang->def('_COURSE_SUBSCRIPTION')) . $form->getOpenCombo($lang->def('_USER_CAN_SUBSCRIBE')) . $form->getRadio($lang->def('_SUBSCRIPTION_CLOSED'), 'subscription_closed', 'can_subscribe', '0', TRUE) . $form->getRadio($lang->def('_SUBSCRIPTION_OPEN'), 'subscription_open', 'can_subscribe', '1', FALSE) . $form->getRadio($lang->def('_SUBSCRIPTION_IN_PERIOD') . ":", 'subscription_period', 'can_subscribe', '2', FALSE) . $form->getCloseCombo() . $form->getDatefield($lang->def('_SUBSCRIPTION_DATE_BEGIN') . ":", 'sub_start_date', 'sub_start_date', "") . $form->getDatefield($lang->def('_SUBSCRIPTION_DATE_END') . ":", 'sub_end_date', 'sub_end_date', "") . $form->getCloseFieldset(), 'content'); $GLOBALS['page']->add($form->getOpenFieldset($lang->def('_COURSE_SPECIAL_OPTION')) . $form->getTextfield($lang->def('_COURSE_PRIZE'), 'edition_price', 'edition_price', 11, $course["prize"]) . $form->getTextfield($lang->def('_COURSE_ADVANCE'), 'edition_advance', 'edition_advance', 11, $course['advance']) . $form->getTextfield($lang->def('_MIN_NUM_SUBSCRIBE'), 'min_num_subscribe', 'min_num_subscribe', 11, $course["min_num_subscribe"]) . $form->getTextfield($lang->def('_MAX_NUM_SUBSCRIBE'), 'max_num_subscribe', 'max_num_subscribe', 11, $course["max_num_subscribe"]) . $form->getCheckbox($lang->def('_ALLOW_OVERBOOKING'), 'allow_overbooking', 'allow_overbooking', 1) . $form->getCloseFieldset(), 'content'); $hours = array('-1' => '- -', '0' => '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'); $quarter = array('-1' => '- -', '00' => '00', '15' => '15', '30' => '30', '45' => '45'); if ($course['hour_begin'] != '-1') { $hb_sel = (int) substr($course['hour_begin'], 0, 2); $qb_sel = substr($course['hour_begin'], 3, 2); } else { $hb_sel = $qb_sel = '-1'; } if ($course['hour_end'] != '-1') { $he_sel = (int) substr($course['hour_end'], 0, 2); $qe_sel = substr($course['hour_end'], 3, 2); } else { $he_sel = $qe_sel = '-1'; } $GLOBALS['page']->add($form->getDatefield($lang->def('_DATE_BEGIN'), 'course_edition_date_begin', 'course_edition_date_begin', Format::date($course["date_begin"])) . $form->getDatefield($lang->def('_DATE_END'), 'course_edition_date_end', 'course_edition_date_end', Format::date($course["date_end"])) . $form->getLineBox('<label for="hour_begin_hour">' . $lang->def('_HOUR_BEGIN') . '</label>', $form->getInputDropdown('dropdown_nw', 'hour_begin_hour', 'hour_begin[hour]', $hours, $hb_sel, '') . ' : ' . $form->getInputDropdown('dropdown_nw', 'hour_begin_quarter', 'hour_begin[quarter]', $quarter, $qe_sel, '')) . $form->getLineBox('<label for="hour_end_hour">' . $lang->def('_HOUR_END') . '</label>', $form->getInputDropdown('dropdown_nw', 'hour_end_hour', 'hour_end[hour]', $hours, $he_sel, '') . ' : ' . $form->getInputDropdown('dropdown_nw', 'hour_end_quarter', 'hour_end[quarter]', $quarter, $qe_sel, '')), 'content'); $GLOBALS['page']->add($form->getOpenFieldset($lang->def('_DOCUMENT_UPLOAD')) . $form->getFilefield($lang->def('_USER_MATERIAL'), 'course_edition_user_material', 'course_edition_user_material') . $form->getFilefield($lang->def('_OTHER_USER_MATERIAL'), 'course_edition_otheruser_material', 'course_edition_otheruser_material') . $form->getCloseFieldset() . $form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('course_create', 'course_create', $lang->def('_CREATE')) . $form->getButton('course_undo_edition', 'course_undo_edition', $lang->def('_UNDO')) . $form->closeButtonSpace() . $form->closeForm() . '</div>', 'content'); }
/** * Assign fields for group **/ function loadAssignField($groupid) { if (isset($_POST[DIRECTORY_ID])) { if (isset($_POST[DIRECTORY_ID]['save_assignfield'])) { return $this->loadAssignField2($groupid); } elseif (isset($_POST[DIRECTORY_ID]['cancel_assignfield'])) { Util::jump_to('index.php?modname=directory&op=listgroup'); } } $arrGroup = $this->aclManager->getGroup(FALSE, $groupid); if ($arrGroup !== FALSE) { $idst = $arrGroup[0]; $description = $arrGroup[2]; } require_once $GLOBALS['where_framework'] . '/lib/lib.field.php'; require_once _base_ . '/lib/lib.form.php'; $form = new Form(); $fl = new FieldList(); $acl =& Docebo::user()->getACL(); $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->getFormHeader($this->lang->def('_DIRECTORY_ASSIGNFIELDGROUP'))); $GLOBALS['page']->add($form->openForm('directoryassignfieldgroup', 'index.php?modname=directory&op=assignfield&groupid=' . $groupid)); $GLOBALS['page']->add($form->openElementSpace()); //$GLOBALS['page']->add( $this->printState()); $GLOBALS['page']->add($form->getHidden(DIRECTORY_ID . '_idst_group', DIRECTORY_ID . '[idst_group]', $idst)); $arr_all_fields = $fl->getAllFields(); $arr_fields_normal = $fl->getFieldsFromIdst(array($idst)); $arr_fields_inherit = $fl->getFieldsFromIdst($acl->getGroupGroupsST($idst)); $arr_values = array($this->lang->def('_NO') => GROUP_FIELD_NO, $this->lang->def('_GROUP_FIELD_NORMAL') => GROUP_FIELD_NORMAL); foreach ($arr_all_fields as $field) { $def_value = GROUP_FIELD_NO; if (isset($arr_fields_normal[$field[FIELD_INFO_ID]])) { $def_value = GROUP_FIELD_NORMAL; } elseif (isset($arr_fields_inherit[$field[FIELD_INFO_ID]])) { $def_value = GROUP_FIELD_INHERIT; } $GLOBALS['page']->add($form->openFormLine()); $GLOBALS['page']->add('<div class="label_effect">' . $field[FIELD_INFO_TRANSLATION] . '</div>'); if ($def_value == GROUP_FIELD_INHERIT) { $GLOBALS['page']->add('<div class="floating">' . $this->lang->def('GROUP_FIELD_INHERIT') . '</div>'); } else { foreach ($arr_values as $label => $value) { $GLOBALS['page']->add('<input class="radio" type="radio"' . ' id="' . DIRECTORY_ID . '_' . $field[FIELD_INFO_ID] . '_' . $value . '"' . ' name="' . DIRECTORY_ID . '[' . DIRECTORY_OP_ADDFIELD . '][' . $field[FIELD_INFO_ID] . ']"' . ' value="' . $value . '"' . ($value == $def_value ? ' checked="checked"' : '') . ' />'); $GLOBALS['page']->add($form->getLabel(DIRECTORY_ID . '_' . $field[FIELD_INFO_ID] . '_' . $value, $label, 'label_bold')); } } //$tree .= $form->getLabel( $id, $field[FIELD_INFO_TRANSLATION] ); $GLOBALS['page']->add($form->closeFormLine()); } $GLOBALS['page']->add($form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('save_assignfield' . DIRECTORY_ID, DIRECTORY_ID . '[save_assignfield]', $this->lang->def('_NEXT')) . $form->getButton('cancel_assignfield' . DIRECTORY_ID, DIRECTORY_ID . '[cancel_assignfield]', $this->lang->def('_UNDO')) . $form->closeButtonSpace()); }
function _add_son() { $array_lang = array(); $std_lang =& DoceboLanguage::createInstance('standard'); $lang =& DoceboLanguage::createInstance('field'); $array_lang = Docebo::langManager()->getAllLangCode(); $out =& $GLOBALS['page']; if (isset($_POST['undo'])) { //undo action Util::jump_to($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded); } if (isset($_POST['save_field_' . $this->getFieldType()])) { //insert mandatory translation $mand_lang = getLanguage(); //control if all is ok if (!isset($_POST['new_dropdown_son'][$mand_lang])) { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded, $std_lang->def('_BACK')), 'content'); return; } if ($_POST['new_dropdown_son'][$mand_lang] == $lang->def('_FIELD_NAME') || trim($_POST['new_dropdown_son'][$mand_lang]) == '') { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded, $std_lang->def('_BACK')), 'content'); return; } list($sequence) = sql_fetch_row(sql_query("\r\n\t\t\tSELECT COUNT(*)\r\n\t\t\tFROM " . $this->_getElementTable() . "\r\n\t\t\tWHERE idField = '" . $this->id_common . "' AND lang_code = '" . getLanguage() . "'")); $sequence++; //insert mandatory field if (!sql_query("\r\n\t\t\tINSERT INTO " . $this->_getElementTable() . "\r\n\t\t\t(idField, lang_code, translation, sequence) VALUES\r\n\t\t\t('" . $this->id_common . "', '" . $mand_lang . "', '" . $_POST['new_dropdown_son'][$mand_lang] . "', '" . $sequence . "') ")) { Util::jump_to($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded . '&result=fail'); } list($id_common_son) = sql_fetch_row(sql_query("SELECT LAST_INSERT_ID()")); if (!sql_query("\r\n\t\t\tUPDATE " . $this->_getElementTable() . "\r\n\t\t\tSET id_common_son = '" . (int) $id_common_son . "'\r\n\t\t\tWHERE idSon = '" . (int) $id_common_son . "'")) { Util::jump_to($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded . '&result=fail'); } $re = true; //insert other field foreach ($_POST['new_dropdown_son'] as $lang_code => $translation) { if ($mand_lang != $lang_code && $translation != $lang->def('_FIELD_NAME') && trim($translation) != '') { $re_ins = sql_query("\r\n\t\t\t\t\tINSERT INTO " . $this->_getElementTable() . "\r\n\t\t\t\t\t(idField, id_common_son, lang_code, translation, sequence) VALUES\r\n\t\t\t\t\t('" . $this->id_common . "', '" . (int) $id_common_son . "', '" . $lang_code . "', '" . $translation . "', '" . $sequence . "') "); $re = $re && $re_ins; } } Util::jump_to($this->getUrl() . '&id_common=' . $this->id_common . '&type_field=' . $this->getFieldType() . '&back=' . $this->back_coded . '&result=' . ($re ? 'success' : 'fail')); } require_once _base_ . '/lib/lib.form.php'; $form = new Form(); $out->setWorkingZone('content'); $out->add('<div class="std_block">'); $out->add($form->getFormHeader($lang->def('_DROPDOWN_SON_NEW')) . $form->openForm('create_' . $this->getFieldType(), $this->getUrl()) . $form->openElementSpace() . $form->getHidden('type_field', 'type_field', $this->getFieldType()) . $form->getHidden('id_common', 'id_common', $this->id_common) . $form->getHidden('back', 'back', $this->back_coded) . $form->getHidden('iop', 'iop', 'add')); $mand_lang = getLanguage(); foreach ($array_lang as $k => $lang_code) { $out->add($form->getTextfield(($mand_lang == $lang_code ? '<span class="mandatory">*</span>' : '') . $lang_code, 'new_dropdown_son_' . $lang_code, 'new_dropdown_son[' . $lang_code . ']', 255, '', $lang_code . ' ' . $lang->def('_FIELD_NAME'))); } $out->add($form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('save_field', 'save_field_' . $this->getFieldType(), $std_lang->def('_CREATE', 'standard')) . $form->getButton('undo', 'undo', $std_lang->def('_UNDO', 'standard')) . $form->closeButtonSpace() . $form->closeForm()); $out->add('</div>'); }
function loadImportUsers2() { require_once _base_ . '/lib/lib.upload.php'; $tdb =& $this->tdb; $folder = $tdb->getFolderById($this->getSelectedFolderId()); $back_url = 'index.php?modname=directory&op=org_chart'; // ----------- file upload ----------------------------------------- if ($_FILES['file_import']['name'] == '') { $_SESSION['last_error'] = Lang::t('_FILEUNSPECIFIED'); Util::jump_to($back_url . '&import_result=-1'); } else { $path = '/appCore/'; $savefile = mt_rand(0, 100) . '_' . time() . '_' . $_FILES['file_import']['name']; if (!file_exists($GLOBALS['where_files_relative'] . $path . $savefile)) { sl_open_fileoperations(); if (!sl_upload($_FILES['file_import']['tmp_name'], $path . $savefile)) { sl_close_fileoperations(); $_SESSION['last_error'] = Lang::t('_ERROR_UPLOAD'); Util::jump_to($back_url . '&import_result=-1'); } sl_close_fileoperations(); } else { $_SESSION['last_error'] = Lang::t('_ERROR_UPLOAD'); Util::jump_to($back_url . '&create_result=-1'); } } require_once _base_ . '/lib/lib.form.php'; $form = new Form(); $tree = $form->getFormHeader($this->lang->def('_ORG_CHART_IMPORT_USERS')); $tree .= $form->openElementSpace(); $tree .= $this->printState(); require_once dirname(__FILE__) . '/import.org_chart.php'; $separator = isset($_POST['import_separator']) ? $_POST['import_separator'] : ','; $first_row_header = isset($_POST['import_first_row_header']) ? $_POST['import_first_row_header'] == 'true' : FALSE; $import_charset = isset($_POST['import_charset']) ? $_POST['import_charset'] : 'UTF-8'; if (trim($import_charset) === '') { $import_charset = 'UTF-8'; } $src = new DeceboImport_SourceCSV(array('filename' => $GLOBALS['where_files_relative'] . $path . $savefile, 'separator' => $separator, 'first_row_header' => $first_row_header, 'import_charset' => $import_charset)); $dst = new ImportUser(array('dbconn' => $GLOBALS['dbConn'], 'tree' => &$this)); $src->connect(); $dst->connect(); $importer = new DoceboImport(); $importer->setSource($src); $importer->setDestination($dst); $tree .= $importer->getUIMap(); $tree .= $form->getHidden($this->id . '_filename', $this->id . '[filename]', $GLOBALS['where_files_relative'] . $path . $savefile); $tree .= $form->getHidden('import_first_row_header', 'import_first_row_header', $first_row_header ? 'true' : 'false'); $tree .= $form->getHidden('import_separator', 'import_separator', $separator); $tree .= $form->getHidden('import_charset', 'import_charset', $import_charset); $tree .= $form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('next2_importusers' . $this->id, $this->id . '[next2_importusers]', $this->lang->def('_SAVE')) . $form->getButton($this->_getCancelId(), $this->_getCancelId(), $this->lang->def('_UNDO')) . $form->closeButtonSpace(); return $tree; }
/** * this function manage a field * * @param string $back indicates the return url * @return nothing * * @access public */ function edit($back) { $back_coded = htmlentities(urlencode($back)); $array_lang = array(); $std_lang =& DoceboLanguage::createInstance('standard'); $lang =& DoceboLanguage::createInstance('field'); $array_lang = Docebo::langManager()->getAllLangCode(); $out =& $GLOBALS['page']; if (isset($_POST['undo'])) { //undo action Util::jump_to($back . '&result=undo'); } if (isset($_POST['save_field_' . $this->getFieldType()])) { //insert mandatory translation $mand_lang = getLanguage(); $show_on = ''; if (isset($_POST['show_on_platform'])) { while (list($code, ) = each($_POST['show_on_platform'])) { $show_on .= $code . ','; } } //control if all is ok if (!isset($_POST['new_country'][$mand_lang])) { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&type_field=' . $this->getFieldType() . '&back=' . $back_coded, $std_lang->def('_BACK')), 'content'); return; } if ($_POST['new_country'][$mand_lang] == $lang->def('_FIELD_NAME') || trim($_POST['new_country'][$mand_lang]) == '') { $out->add(getErrorUi($lang->def('_ERR_MUST_DEF_MANADATORY_TRANSLATION')) . getBackUi($this->getUrl() . '&type_field=' . $this->getFieldType() . '&back=' . $back_coded, $std_lang->def('_BACK')), 'content'); return; } $existsing_translation = array(); $re_trans = sql_query("\r\n\t\t\tSELECT lang_code\r\n\t\t\tFROM " . $this->_getMainTable() . "\r\n\t\t\tWHERE id_common = '" . $this->id_common . "'"); while (list($l_code) = sql_fetch_row($re_trans)) { $existsing_translation[$l_code] = 1; } $use_multilang = isset($_POST['use_multi_lang']) ? 1 : 0; $re = true; //insert other field foreach ($_POST['new_country'] as $lang_code => $translation) { if (isset($existsing_translation[$lang_code])) { if (!sql_query("\r\n\t\t\t\t\tUPDATE " . $this->_getMainTable() . "\r\n\t\t\t\t\tSET translation = '" . $translation . "',\r\n\t\t\t\t\t\tshow_on_platform = '" . $show_on . "',\r\n\t\t\t\t\t\tuse_multilang = '" . $use_multilang . "'\r\n\t\t\t\t\tWHERE id_common = '" . (int) $this->id_common . "' AND lang_code = '" . $lang_code . "'")) { $re = false; } } else { if (!sql_query("\r\n\t\t\t\t\tINSERT INTO " . $this->_getMainTable() . "\r\n\t\t\t\t\t(type_field, id_common, lang_code, translation, show_on_platform, use_multilang) VALUES\r\n\t\t\t\t\t('" . $this->getFieldType() . "', '" . (int) $this->id_common . "', '" . $lang_code . "', '" . $translation . "', '" . $show_on . "', '" . $use_multilang . "') ")) { $re = false; } } } Util::jump_to($back . '&result=' . ($re ? 'success' : 'fail')); } //load value form database $re_trans = sql_query("\r\n\t\tSELECT lang_code, translation, show_on_platform, use_multilang\r\n\t\tFROM " . $this->_getMainTable() . "\r\n\t\tWHERE id_common = '" . $this->id_common . "'"); while (list($l_code, $trans, $show_on, $db_use_multilang) = sql_fetch_row($re_trans)) { $translation[$l_code] = $trans; if (!isset($show_on_platform)) { $show_on_platform = array_flip(explode(',', $show_on)); } if (!isset($use_multilang)) { $use_multilang = $db_use_multilang; } } require_once _base_ . '/lib/lib.form.php'; $form = new Form(); $out->setWorkingZone('content'); $out->add('<div class="std_block">'); $out->add($form->getFormHeader($lang->def('_MODIFY_COUNTRY')) . $form->openForm('create_' . $this->getFieldType(), $this->getUrl()) . $form->openElementSpace() . $form->getHidden('type_field', 'type_field', $this->getFieldType()) . $form->getHidden('id_common', 'id_common', $this->id_common) . $form->getHidden('back', 'back', $back_coded)); $mand_lang = getLanguage(); foreach ($array_lang as $k => $lang_code) { $out->add($form->getTextfield(($mand_lang == $lang_code ? '<span class="mandatory">*</span>' : '') . $lang_code, 'new_country_' . $lang_code, 'new_country[' . $lang_code . ']', 255, isset($translation[$lang_code]) ? $translation[$lang_code] : '', $lang_code . ' ' . $lang->def('_FIELD_NAME'))); } $GLOBALS['page']->add($this->getMultiLangCheck($use_multilang), 'content'); $GLOBALS['page']->add($this->getShowOnPlatformFieldset($show_on_platform), 'content'); $out->add($form->closeElementSpace() . $form->openButtonSpace() . $form->getButton('save_field', 'save_field_' . $this->getFieldType(), $std_lang->def('_SAVE', 'standard')) . $form->getButton('undo', 'undo', $std_lang->def('_UNDO', 'standard')) . $form->closeButtonSpace() . $form->closeForm()); $out->add('</div>'); }