function dimension_options_submit()
 {
     ajx_current("empty");
     if (!can_manage_dimensions(logged_user())) {
         flash_error(lang('no access permissions'));
         return;
     }
     $folder_ots = ObjectTypes::findAll(array('id' => true, 'conditions' => "name IN ('folder','project_folder','customer_folder')"));
     $data = array_var($_POST, 'enabled_dots');
     $names_data = array_var($_POST, 'custom_names');
     if (is_array($data) || is_array($names_data)) {
         try {
             DB::beginWork();
             // enabled dimension object types
             foreach ($data as $dim_id => $ots_info) {
                 foreach ($ots_info as $ot_id => $enabled) {
                     DB::execute("UPDATE " . TABLE_PREFIX . "dimension_object_types SET enabled=" . DB::escape($enabled) . " \r\n\t\t\t\t\t\t\tWHERE dimension_id=" . DB::escape($dim_id) . " AND object_type_id=" . DB::escape($ot_id));
                     // if object type is folder, set the same configuration to all folder types
                     if (in_array($ot_id, $folder_ots)) {
                         DB::execute("UPDATE " . TABLE_PREFIX . "dimension_object_types SET enabled=" . DB::escape($enabled) . "\r\n\t\t\t\t\t\t\t\tWHERE dimension_id=" . DB::escape($dim_id) . " AND object_type_id IN (" . implode(',', $folder_ots) . ")");
                     }
                 }
             }
             // custom dimension names
             foreach ($names_data as $dim_id => $custom_name) {
                 $cname = trim($custom_name);
                 $dimension = Dimensions::getDimensionById($dim_id);
                 if ($dimension instanceof Dimension) {
                     $dimension->setOptionValue('custom_dimension_name', $cname);
                 }
             }
             DB::commit();
             flash_success(lang("success edit dimension options"));
             evt_add('tabs changed');
             //ajx_current("back");
         } catch (Exception $e) {
             DB::rollback();
             flash_error($e->getMessage());
             ajx_current("empty");
         }
     }
 }
Пример #2
0
} else {
    Hook::fire('render_administration_dimension_icons', null, $links);
    if (can_manage_configuration(logged_user())) {
        $links[] = array('ico' => 'ico-large-company', 'url' => get_url('administration', 'company'), 'name' => lang('organization data'), 'extra' => '');
        $links[] = array('ico' => 'ico-large-configuration', 'url' => get_url('administration', 'configuration'), 'name' => lang('configuration'), 'extra' => '');
    }
    if (can_manage_templates(logged_user())) {
        $links[] = array('ico' => 'ico-large-template', 'url' => get_url('template', 'index'), 'name' => lang('templates'), 'extra' => '<a class="internalLink coViewAction ico-add" href="' . get_url('template', 'add') . '">' . lang('add template') . '</a>');
    }
    if (can_manage_billing(logged_user())) {
        $links[] = array('ico' => 'ico-large-billing', 'url' => get_url('billing', 'index'), 'name' => lang('billing'), 'extra' => '<a class="internalLink coViewAction ico-add" href="' . get_url('billing', 'add') . '">' . lang('add billing category') . '</a>');
    }
    if (can_manage_configuration(logged_user())) {
        $links[] = array('ico' => 'ico-large-custom-properties', 'url' => get_url('administration', 'custom_properties'), 'name' => lang('custom properties'), 'extra' => '');
    }
    if (can_manage_dimensions(logged_user())) {
        $links[] = array('ico' => 'ico-large-config2', 'url' => get_url('administration', 'dimension_options'), 'name' => lang('dimension options'), 'extra' => '');
    }
    Hook::fire('render_administration_icons', null, $links);
    if (can_manage_security(logged_user()) && Plugins::instance()->isActivePlugin('income')) {
        $links[] = array('ico' => 'ico-large-income', 'url' => get_url('income', 'administration'), 'name' => lang('income'), 'extra' => '');
    }
    if (defined("PLUGIN_MANAGER") && PLUGIN_MANAGER && can_manage_plugins(logged_user())) {
        $links[] = array('ico' => 'ico-large-plugins', 'url' => get_url('plugin', 'index'), 'name' => lang('plugins'), 'extra' => '');
    }
}
$count = 0;
foreach ($links as $link) {
    $count++;
    if (!$more_settings_expanded) {
        if (array_var($link, 'id') == 'add_first_object' && $highlight_first_obj_link && $count > $min_steps + 1) {