function render_value_field($html = true)
 {
     $nc_core = nc_Core::get_object();
     $ret = nc_set_calendar();
     $ret .= "<input id='" . $this->get_field_name('day') . "' name='" . $this->get_field_name('day') . "' type='text' value='" . htmlspecialchars($this->day ? $this->day : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='2'  class='ncf_value_datetime_day'><span>.</span>";
     $ret .= "<input id='" . $this->get_field_name('month') . "' name='" . $this->get_field_name('month') . "' type='text' value='" . htmlspecialchars($this->month ? $this->month : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='2'  class='ncf_value_datetime_month'><span>.</span>";
     $ret .= "<input id='" . $this->get_field_name('year') . "' name='" . $this->get_field_name('year') . "' type='text' value='" . htmlspecialchars($this->year ? $this->year : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='4'  class='ncf_value_datetime_year'>";
     $ret .= "<input id='" . $this->get_field_name('hours') . "' name='" . $this->get_field_name('hours') . "' type='text' value='" . htmlspecialchars($this->hours ? $this->hours : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='2' class ='ncf_value_datetime_hours'><span>:</span>";
     $ret .= "<input id='" . $this->get_field_name('minutes') . "' name='" . $this->get_field_name('minutes') . "' type='text' value='" . htmlspecialchars($this->minutes ? $this->minutes : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='2'  class='ncf_value_datetime_minutes'><span>:</span>";
     $ret .= "<input id='" . $this->get_field_name('seconds') . "' name='" . $this->get_field_name('seconds') . "' type='text' value='" . htmlspecialchars($this->seconds ? $this->seconds : $this->default_value, ENT_QUOTES) . "' size='2' maxlength='2' class='ncf_value_datetime_seconds'>";
     $ret .= "<div class='calendar'>\n                  <img id='nc_calendar_popup_img_" . $this->get_field_name('day') . "' onclick='nc_calendar_popup(\"" . $this->get_field_name('day') . "\",\"" . $this->get_field_name('month') . "\", \"" . $this->get_field_name('year') . "\", \"0\");' src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/calendar/images/calendar.jpg' />\n                </div>\n               <div class='cl' id='nc_calendar_popup_" . $this->get_field_name('day') . "'></div>";
     if ($html) {
         $ret = "<div class='ncf_value'>" . $ret . "</div>\n";
     }
     return $ret;
 }
Esempio n. 2
0
/**
 * Вывод поля типа "Дата и время" в альтернативных формах шаблона
 * @param string имя поля
 * @param array дополнительные свойства для <input ...>. array("", "", "", "", "", "")
 * @param int идентификатор компонента, его стоит указывать при вызове функции т.к. в функции s_list_class() его глобальное значение будет иное
 * @param bool выводить описание поля или нет
 * @param string разделитель для даты
 * @param string разделитель для времени
 * @param bool вывести месяц выпадающим списком
 * @param bool использовать календарь
 * @param int шаблон вывода календаря
 * @param string альтернативный шаблон вывода кнопки "Показать календарь"
 * @return string
 */
function nc_date_field($field_name, $style = "", $classID = "", $caption = false, $dateDiv = "-", $timeDiv = ":", $select = false, $use_calendar = null, $calendar_theme = 0, $calendar_template = "")
{
    // для получения значения поля
    global $fldValue, $fldID, $systemTableID;
    $nc_core = nc_Core::get_object();
    // текущее значение компонента
    if (!$classID) {
        $classID = $nc_core->sub_class->get_current('Class_ID');
    }
    $show_field_errors = $classID == $nc_core->sub_class->get_current('Class_ID');
    $sysTable = $systemTableID ? $systemTableID : $nc_core->component->get_by_id($classID, 'System_Table_ID');
    $component = new nc_Component($classID, $sysTable);
    $fields = $component->get_fields(NC_FIELDTYPE_DATETIME);
    // поиск поля
    $field = 0;
    foreach ($fields as $v) {
        if ($v['name'] == $field_name) {
            $field = $v;
        }
    }
    // поля не существует
    if (!$field) {
        if ($show_field_errors) {
            trigger_error("<b>nc_date_field()</b>: Incorrect field name (" . $field_name . ")", E_USER_WARNING);
        }
        return false;
    }
    // поле не доступно для редактирования
    if ($field['edit_type'] == 3 || $field['edit_type'] == 2 && !nc_field_check_admin_perm()) {
        return false;
    }
    // значение поля
    if (is_array($fldID)) {
        $t = array_flip($fldID);
        $value = $fldValue[$t[$field['id']]];
    }
    $format = nc_field_parse_format($field['format'], 8);
    if ($use_calendar === null) {
        $use_calendar = $format['calendar'];
    }
    # нужен нумерованный массив с ключами от 0
    if (!empty($style) && is_array($style)) {
        $style = array_values($style);
    }
    # если массив с 3 элементами - удвоить массив
    if (($style_size = sizeof($style)) == 3) {
        array_push($style, $style[0], $style[1], $style[2]);
        $style_size = 6;
    }
    # параметры полей
    if (empty($style) || is_array($style) && $style_size != 6) {
        $style = array("maxlength='2' size='2'", "maxlength='2' size='2'", "maxlength='4' size='4'", "maxlength='2' size='2'", "maxlength='2' size='2'", "maxlength='2' size='2'");
        if ($select) {
            $style[1] = "";
        }
    } else {
        # если пришла одна строка, то делаем её массивом из 6 элементов
        if (!is_array($style)) {
            $style_arr = (array) $style;
            $style = array_pad($style_arr, 6, $style);
        }
        # проверим, есть ли в параметре "style", атрибуты
        $i = 0;
        foreach ($style as $val) {
            $style_attr[$i] = nc_reg_search_html_attr($val);
            $i++;
        }
        $date_attr = array(array(2, 2), array(2, 2), array(4, 4), array(2, 2), array(2, 2), array(2, 2));
        # прописываем параметры из $style
        $i = 0;
        $style_opt_arr = array();
        foreach ($style as $val) {
            $style_opt = "";
            if ($i == 1 && $select == false) {
                if (!in_array("maxlength", $style_attr[$i])) {
                    $style_opt .= "maxlength='" . $date_attr[$i][0] . "'";
                }
                if (!in_array("size", $style_attr[$i])) {
                    $style_opt .= ($style_opt ? " " : "") . "size='" . $date_attr[$i][1] . "'";
                }
            }
            if ($style_opt) {
                $style_opt_arr[] = " " . $style_opt;
            }
            $i++;
        }
    }
    $result = '';
    # вывод Caption, если нужно
    if ($caption) {
        $result .= nc_field_caption($field);
    }
    # если поле помечено "event..."
    //$fldNotNull[$field_index]
    if ($action != "change" && $field['not_null'] && ($format['type'] == "event" || $format['type'] == "event_date" || $format['type'] == "event_time") && !$value) {
        $value = date("Y-m-d H:i:s");
    }
    if ($value) {
        $year = substr($value, 0, 4);
        $month = substr($value, 5, 2);
        $day = substr($value, 8, 2);
        $hours = substr($value, 11, 2);
        $minutes = substr($value, 14, 2);
        $seconds = substr($value, 17, 2);
    }
    if ($format['type'] == "event_date") {
        $timeType = "hidden";
        $timeDiv = "";
    } else {
        $timeType = "text";
    }
    if ($format['type'] == "event_time") {
        $dateType = "hidden";
        $dateDiv = "";
        $use_calendar = false;
    } else {
        $dateType = "text";
    }
    if ($select && defined("NETCAT_MODULE_CALENDAR_MONTH_NAME_ARRAY")) {
        eval("\$monthArray = " . NETCAT_MODULE_CALENDAR_MONTH_NAME_ARRAY . ";");
        if (!$field['not_null']) {
            $monthArray = array_pad($monthArray, 13, "");
        }
        if (is_array($monthArray) && !empty($monthArray)) {
            $selectMonth .= "<select name='f_" . $field_name . "_month'" . $style_opt_arr[1] . ($style[1] ? " " . $style[1] : "") . ">";
            foreach ($monthArray as $key => $value) {
                $selectMonth .= "<option value='" . ($key + 1 <= 12 ? sprintf("%02d", $key + 1) : "") . "'" . ($month ? $month == $key + 1 ? " selected='selected' " : "" : ($field['not_null'] ? $key == 0 ? " selected='selected'" : "" : ($key == 12 ? " selected='selected'" : ""))) . ">" . $value . "</option>";
            }
            $selectMonth .= "</select>";
        }
    } else {
        $selectMonth .= "<input type='" . $dateType . "' name='f_" . $field_name . "_month'" . $style_opt_arr[1] . ($style[1] ? " " . $style[1] : "") . " value='" . ((int) $month ? sprintf("%02d", (int) $month) : "") . "' />";
    }
    $result .= "<input type='" . $dateType . "' name='f_" . $field_name . "_day'" . $style_opt_arr[0] . ($style[0] ? " " . $style[0] : "") . " value='" . ((int) $day ? sprintf("%02d", (int) $day) : "") . "' />" . $dateDiv . $selectMonth . $dateDiv . "<input type='" . $dateType . "' name='f_" . $field_name . "_year'" . $style_opt_arr[2] . ($style[2] ? " " . $style[2] : "") . " value='" . ((int) $year ? sprintf("%04d", (int) $year) : "") . "' /> \r\n\n             <input type='" . $timeType . "' name='f_" . $field_name . "_hours'" . $style_opt_arr[3] . ($style[3] ? " " . $style[3] : "") . " value='" . ($hours ? sprintf("%02d", (int) $hours) : "") . "' />" . $timeDiv . "<input type='" . $timeType . "' name='f_" . $field_name . "_minutes'" . $style_opt_arr[4] . ($style[4] ? " " . $style[4] : "") . " value='" . ($minutes ? sprintf("%02d", (int) $minutes) : "") . "' />" . $timeDiv . "<input type='" . $timeType . "' name='f_" . $field_name . "_seconds'" . $style_opt_arr[5] . ($style[5] ? " " . $style[5] : "") . " value='" . ($seconds ? sprintf("%02d", (int) $seconds) : "") . "' />";
    if ($use_calendar) {
        echo nc_set_calendar($calendar_theme);
        if ($calendar_template) {
            eval("\$result.= \"" . $calendar_template . "\";");
        } else {
            $result .= "<div style='display: inline; position: relative;'>\n                    <img  id='nc_calendar_popup_img_f_" . $field_name . "_day' onclick='nc_calendar_popup(\"f_" . $field_name . "_day\",\"f_" . $field_name . "_month\", \"f_" . $field_name . "_year\", \"" . $calendar_theme . "\");' src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/calendar/images/calendar.jpg' style='cursor: pointer; position: absolute; left: 7px; top: -3px;'/>\n                  </div>\n                 <div style='display: none; z-index: 10000;' id='nc_calendar_popup_f_" . $field_name . "_day'></div>";
        }
    }
    //$result .= nc_field_validation('input', "f_".$field_name, $field['id'], 'date', $field['not_null']);
    return $result;
}
Esempio n. 3
0
    # подключаем ядро
    $NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -4)) . (strstr(__FILE__, "/") ? "/" : "\\");
    include_once $NETCAT_FOLDER . "vars.inc.php";
    $passed_thru_404 = true;
    require $INCLUDE_FOLDER . "index.php";
    # нужные переменные
    # идентификатор компонента в разделе должен передаваться с именем отличным от $cc,
    # например $needcc, иначе вместе с календарём система выдаст экран авторизации,
    # т.к. тут подключается вся система!
    $needcc = $_GET['needcc'];
    $needcc = explode(',', $needcc);
    if (!is_array($needcc)) {
        $needcc = array($needcc);
    }
    $needcc = array_map('intval', $needcc);
    $theme = (int) $_GET['theme'];
    $datefield = $db->escape($_GET['datefield']);
    $filled = (int) $_GET['filled'];
    $day = (int) $_GET['day'];
    $month = (int) $_GET['month'];
    $year = (int) $_GET['year'];
    $popup = (int) $_GET['popup'];
    $queryDate = preg_match("/\\d{4}(-\\d{2})?(-\\d{2})?/s", $_GET['querydate']) ? $_GET['querydate'] : "";
    $cc_ignore = (int) $_GET['cc_ignore'];
    $field_day = htmlspecialchars($nc_core->input->fetch_get_post('field_day'), ENT_QUOTES);
    $field_month = htmlspecialchars($nc_core->input->fetch_get_post('field_month'), ENT_QUOTES);
    $field_year = htmlspecialchars($nc_core->input->fetch_get_post('field_year'), ENT_QUOTES);
    # генерируем календарь
    $calendar = nc_set_calendar($theme) . nc_show_calendar($theme, $needcc, $year . "-" . $month . "-" . $day, $datefield, (int) $filled, $queryDate, $popup, array($field_day, $field_month, $field_year), $cc_ignore);
    echo $calendar ? $calendar : "";
}
Esempio n. 4
0
function nc_trash_search_form($subs = array(), $classes = array(), $options = array())
{
    $nc_core = nc_Core::get_object();
    echo nc_set_calendar(0);
    if ($options['date_b']) {
        $b_d = $options['date_b_dd'];
        if ($b_d < 10) {
            $b_d = '0' . $b_d;
        }
        $b_m = $options['date_b_mm'];
        if ($b_m < 10) {
            $b_m = '0' . $b_m;
        }
        $b_y = $options['date_b_yyyy'];
        $b_h = $options['date_b_hh'];
        if ($b_h < 10) {
            $b_h = '0' . $b_h;
        }
        $b_i = $options['date_b_min'];
        if ($b_i < 10) {
            $b_i = '0' . $b_i;
        }
    }
    if ($options['date_e']) {
        $e_d = $options['date_e_dd'];
        if ($e_d < 10) {
            $e_d = '0' . $e_d;
        }
        $e_m = $options['date_e_mm'];
        if ($e_m < 10) {
            $e_m = '0' . $e_m;
        }
        $e_y = $options['date_e_yyyy'];
        $e_h = $options['date_e_hh'];
        if ($e_h < 10) {
            $e_h = '0' . $e_h;
        }
        $e_i = $options['date_e_min'];
        if ($e_i < 10) {
            $e_i = '0' . $e_i;
        }
    }
    $html .= "\n\n    <div id='RecycleSearchOn'>\n      <fieldset class='trash_fldst'>\n        <legend>" . NETCAT_TRASH_FILTER . ":\n        </legend>\n        <form method='post' action='index.php'>\n          <table id='trash_search'  class='admin_table'>\n            <tr>\n              <td class='left'>" . NETCAT_TRASH_FILTER_DATE_FROM . " <i>(" . NETCAT_TRASH_FILTER_DATE_FORMAT . ")</i></td>\n              <td class='right'>" . nc_admin_input_simple('options[date_b_dd]', $b_d, 2, '', "maxlength='2'") . "-" . nc_admin_input_simple('options[date_b_mm]', $b_m, 2, '', "maxlength='2'") . "-" . nc_admin_input_simple('options[date_b_yyyy]', $b_y, 4, '', "maxlength='4'") . "&nbsp;&nbsp;" . nc_admin_input_simple('options[date_b_hh]', $b_h, 2, '', "maxlength='2'") . ":" . nc_admin_input_simple('options[date_b_min]', $b_i, 2, '', "maxlength='2'") . "\n                </td>\n\t\t\t\t<td class= 'right'>\n\t\t\t\t<div class='calendar'>\n                    <a href='#' id='nc_calendar_popup_img_options[date_b_dd]' onclick='nc_calendar_popup(\"options[date_b_dd]\",\"options[date_b_mm]\", \"options[date_b_yyyy]\", \"0\"); return false'>\n                        <i class='nc-icon nc--calendar'></i>\n                    </a>\n                </div>\n                <div class='_cl'  id='nc_calendar_popup_options[date_b_dd]'></div>\n\n              </td>\n            </tr><tr>\n\n              <td class='left'>" . NETCAT_TRASH_FILTER_DATE_TO . " <i>(" . NETCAT_TRASH_FILTER_DATE_FORMAT . ")</i></td>\n              <td class='right'>" . nc_admin_input_simple('options[date_e_dd]', $e_d, 2, '', "maxlength='2'") . "-" . nc_admin_input_simple('options[date_e_mm]', $e_m, 2, '', "maxlength='2'") . "-" . nc_admin_input_simple('options[date_e_yyyy]', $e_y, 4, '', "maxlength='4'") . "&nbsp;&nbsp;" . nc_admin_input_simple('options[date_e_hh]', $e_h, 2, '', "maxlength='2'") . ":" . nc_admin_input_simple('options[date_e_min]', $e_i, 2, '', "maxlength='2'") . "\n                </div>\n                </td>\n\t\t\t\t<td class= 'right'>\n                    <div class='calendar'>\n                        <a href='#' id='nc_calendar_popup_img_options[date_e_dd]' onclick='nc_calendar_popup(\"options[date_e_dd]\",\"options[date_e_mm]\", \"options[date_e_yyyy]\", \"0\"); return false'>\n                            <i class='nc-icon nc--calendar'></i>\n                        </a>\n                    </div>\n\t\t\t\t</td>\n                <div class='_cl' id='nc_calendar_popup_options[date_e_dd]'></div>\n           </tr><tr>";
    if (!empty($subs)) {
        $html .= "\n              <td class='left'>" . NETCAT_TRASH_FILTER_SUBDIVISION . "</td>\n              <td class='right' colspan='2'>\n              <select  name='options[sub]' class='select'>\n              <option value='0'>" . NETCAT_TRASH_FILTER_ALL . "</option>";
        foreach ($subs as $id => $v) {
            $html .= "<option value='" . $id . "' " . ($options['sub'] == $id ? "selected='selected'" : "") . ">" . $id . ". " . $v['name'] . "</option>\r\n";
        }
        $html .= "\n              </select>\n              </td>\n              </tr><tr>";
    }
    if (!empty($classes)) {
        $html .= "\n              <td class='left'>" . NETCAT_TRASH_FILTER_COMPONENT . "</td>\n              <td class='right' colspan='2'>\n              <select  name='options[class_id]' class='select'>\n              <option value='0'>" . NETCAT_TRASH_FILTER_ALL . "</option>";
        foreach ($classes as $id => $v) {
            if ($id) {
                $html .= "<option value='" . $id . "' " . ($options['class_id'] == $id ? "selected='selected'" : "") . ">" . $id . ". " . $v['name'] . "</option>\r\n";
            }
        }
        $html .= "\n              </select>\n              </td>\n              </tr>";
    }
    $html .= "\n        </table>\n        <div style='text-align:right; padding-right:30px'>\n            <input style='background: #EEE; padding: 8px 6px 12px 6px; font-size: 15px; color: #333; border: 2px solid #1A87C2;' type='submit' class='s' value='" . NETCAT_TRASH_FILTER_APPLY . "' title='" . NETCAT_TRASH_FILTER_APPLY . "' />\n      </form>\n    </fieldset>\n  </div>";
    return $html;
}
Esempio n. 5
0
function showSearchForm($fldName, $fldType, $fldDoSearch, $fldFmt)
{
    global $systemTableID, $db, $srchPat, $nc_core;
    $result = '';
    $j = 0;
    for ($i = 0; $i < count($fldName); $i++) {
        $fld_prefix = "<div>";
        $fld_suffix = "</div>\n";
        $fldNameTempl = $fld_prefix . "" . $fldName[$i] . ": ";
        if (!$fldDoSearch[$i]) {
            continue;
        }
        switch ($fldType[$i]) {
            case 1:
                // Char
                $result .= $fldNameTempl . "<br><input type='text' name='srchPat[" . $j . "]' size='50' maxlength='255' value='" . htmlspecialchars(stripcslashes($srchPat[$j]), ENT_QUOTES) . "'>" . $fld_suffix;
                $j++;
                break;
            case 3:
                // Text
                $result .= $fldNameTempl . "<br><input type='text' name='srchPat[" . $j . "]' size='50' maxlength='255' value='" . htmlspecialchars(stripcslashes($srchPat[$j]), ENT_QUOTES) . "'>" . $fld_suffix;
                $j++;
                break;
            case 6:
                // File
                $result .= $fldNameTempl . "<br><input type='text' name='srchPat[" . $j . "]' size='50' maxlength='255' value='" . htmlspecialchars(stripcslashes($srchPat[$j]), ENT_QUOTES) . "'>" . $fld_suffix;
                $j++;
                break;
            case 2:
                // Int
                $result .= $fldNameTempl . "&nbsp;&nbsp;" . NETCAT_MODERATION_MOD_FROM . " <input type='text' name='srchPat[" . $j . "]' size='10' maxlength='16' value='" . ($srchPat[$j] ? (int) $srchPat[$j] : "") . "'>";
                $j++;
                $result .= NETCAT_MODERATION_MOD_DON . "<input type='text' name='srchPat[" . $j . "]' size='10' maxlength='16' value='" . ($srchPat[$j] ? (int) $srchPat[$j] : "") . "'>" . $fld_suffix;
                $j++;
                break;
            case 7:
                // Float
                $result .= $fldNameTempl . "&nbsp;&nbsp;" . NETCAT_MODERATION_MOD_FROM . " <input type='text' name='srchPat[" . $j . "]' size='10' maxlength='16' value='" . ($srchPat[$j] ? (double) $srchPat[$j] : "") . "'>";
                $j++;
                $result .= NETCAT_MODERATION_MOD_DON . "<input name='srchPat[" . $j . "]' type='text' size='10' maxlength='16' value='" . ($srchPat[$j] ? (double) $srchPat[$j] : "") . "'>" . $fld_suffix;
                $j++;
                break;
            case 4:
                // List
                if ($fldFmt[$i]) {
                    $result .= $fldNameTempl . "<br><select name='srchPat[" . $j . "]' size='1'>";
                    $result .= "<option value=''>" . NETCAT_MODERATION_MODA . "</option>";
                    $list_format = explode(":", $fldFmt[$i]);
                    $fldFmt[$i] = $list_format[0];
                    //название таблицы
                    $SortType = $SortDirection = 0;
                    $res = $db->get_row("SELECT `Sort_Type`, `Sort_Direction` FROM `Classificator` WHERE `Table_Name` = '" . $db->escape($fldFmt[$i]) . "'", ARRAY_N);
                    if ($db->num_rows != 0) {
                        $row = $res;
                        $SortType = $row[0];
                        $SortDirection = $row[1];
                    }
                    $s = "SELECT * FROM `Classificator_" . $db->escape($fldFmt[$i]) . "` ORDER BY ";
                    switch ($SortType) {
                        case 1:
                            $s .= "`" . $db->escape($fldFmt[$i]) . "_Name`";
                            break;
                        case 2:
                            $s .= "`" . $db->escape($fldFmt[$i]) . "_Priority`";
                            break;
                        default:
                            $s .= "`" . $db->escape($fldFmt[$i]) . "_ID`";
                    }
                    if ($SortDirection == 1) {
                        $s .= " DESC";
                    }
                    $selected = (int) $srchPat[$j];
                    $lstRes = (array) $db->get_results($s, ARRAY_N);
                    foreach ($lstRes as $q) {
                        list($lstID, $lstName) = $q;
                        $result .= "<option value='" . $lstID . "'" . ($selected == $lstID ? "selected" : "") . ">" . $lstName . "</option>";
                    }
                    $result .= '</select>' . $fld_suffix;
                }
                $j++;
                break;
            case 5:
                // Bool
                $result .= $fldNameTempl;
                $result .= "&nbsp;&nbsp;<input type='radio' name='srchPat[" . $j . "]' id='t" . $j . "_1' value='' style='vertical-align:middle'" . (!$srchPat[$j] ? " checked" : "") . "><label for='t" . $j . "_1'>" . NETCAT_MODERATION_MOD_NOANSWER . '</label> ';
                $result .= "&nbsp;&nbsp;<input type='radio' name='srchPat[" . $j . "]' id='t" . $j . "_2' value='1' style='vertical-align:middle'" . ($srchPat[$j] == '1' ? " checked" : "") . "><label for='t" . $j . "_2'>" . CONTROL_CONTENT_SUBDIVISION_FUNCS_OBJ_YES . '</label> ';
                $result .= "&nbsp;&nbsp;<input type='radio' name='srchPat[" . $j . "]' id='t" . $j . "_3' value='0' style='vertical-align:middle'" . ($srchPat[$j] == '0' ? " checked" : "") . "><label for='t" . $j . "_3'>" . CONTROL_CONTENT_SUBDIVISION_FUNCS_OBJ_NO . '</label>';
                $result .= $fld_suffix;
                $j++;
                break;
            case 8:
                // DateTime
                $format = nc_field_parse_format($fldFmt[$i], 8);
                $result .= $fldNameTempl . "&nbsp;&nbsp;";
                if ($format['calendar']) {
                    $result .= nc_set_calendar(0) . "<br/>";
                }
                $result .= NETCAT_MODERATION_MOD_FROM;
                if ($format['type'] != 'event_time') {
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>.";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>.";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='4' maxlength='4' value='" . ($srchPat[$j] ? sprintf("%04d", $srchPat[$j]) : "") . "'> ";
                    $j++;
                } else {
                    $j += 3;
                }
                if ($format['type'] != 'event_date') {
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>:";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>:";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'> ";
                    $j++;
                } else {
                    $j += 3;
                }
                if ($format['calendar'] && $format['type'] != 'event_time') {
                    $result .= "<div style='display: inline; position: relative;'>\n                         <img  id='nc_calendar_popup_img_srchPat[" . ($j - 6) . "]' onclick=\\\"nc_calendar_popup('srchPat[" . ($j - 6) . "]', 'srchPat[" . ($j - 5) . "]', 'srchPat[" . ($j - 4) . "]', '0');\\\" src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/calendar/images/calendar.jpg' style='cursor: pointer; position: absolute; left: 7px; top: -3px;'/>\n                       </div>\n                       <div style='display: none; z-index: 10000;' id='nc_calendar_popup_srchPat[" . ($j - 6) . "]'></div><br/>";
                }
                $result .= NETCAT_MODERATION_MOD_DON;
                if ($format['type'] != 'event_time') {
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>.";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>.";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='4' maxlength='4' value='" . ($srchPat[$j] ? sprintf("%04d", $srchPat[$j]) : "") . "'> ";
                    $j++;
                } else {
                    $j += 3;
                }
                if ($format['type'] != 'event_date') {
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>:";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'>:";
                    $j++;
                    $result .= "<input type='text' class='no_special_style' name='srchPat[" . $j . "]' size='2' maxlength='2' value='" . ($srchPat[$j] ? sprintf("%02d", $srchPat[$j]) : "") . "'> ";
                    $j++;
                } else {
                    $j += 3;
                }
                if ($format['calendar'] && $format['type'] != 'event_time') {
                    $result .= "<div style='display: inline; position: relative;'>\n                         <img  id='nc_calendar_popup_img_srchPat[" . ($j - 6) . "]' onclick=\\\"nc_calendar_popup('srchPat[" . ($j - 6) . "]', 'srchPat[" . ($j - 5) . "]', 'srchPat[" . ($j - 4) . "]', '0');\\\" src='" . $nc_core->SUB_FOLDER . $nc_core->HTTP_ROOT_PATH . "modules/calendar/images/calendar.jpg' style='cursor: pointer; position: absolute; left: 7px; top: -3px;'/>\n                       </div>\n                       <div style='display: none; z-index: 10000;' id='nc_calendar_popup_srchPat[" . ($j - 6) . "]'></div><br/>";
                }
                $result .= $fld_suffix;
                break;
            case 10:
                //Multi List
                if ($fldFmt[$i]) {
                    list($clft_name, $type_element, $type_size) = explode(":", $fldFmt[$i]);
                    if (!$type_element) {
                        $type_element = "select";
                    }
                    if (!$type_size) {
                        $type_size = 3;
                    }
                    $fldFmt[$i] = $clft_name;
                    $SortType = $SortDirection = 0;
                    $res = $db->get_row("SELECT `Sort_Type`, `Sort_Direction` FROM `Classificator` WHERE `Table_Name` = '" . $db->escape($fldFmt[$i]) . "'", ARRAY_N);
                    if ($db->num_rows != 0) {
                        $row = $res;
                        $SortType = $row[0];
                        $SortDirection = $row[1];
                    }
                    $s = "SELECT * FROM Classificator_" . $fldFmt[$i] . " ORDER BY ";
                    switch ($SortType) {
                        case 1:
                            $s .= $fldFmt[$i] . "_Name";
                            break;
                        case 2:
                            $s .= $fldFmt[$i] . "_Priority";
                            break;
                        default:
                            $s .= $fldFmt[$i] . "_ID";
                    }
                    if ($SortDirection == 1) {
                        $s .= " DESC";
                    }
                    $selected = (int) $srchPat[$j];
                    $lstRes = (array) $db->get_results($s, ARRAY_N);
                    $result .= $fldNameTempl . "<br>";
                    if ($type_element == 'select') {
                        $result .= "<select name='srchPat[" . $j . "][]' size='" . $type_size . "' multiple>";
                        $result .= "<option value=''>" . NETCAT_MODERATION_MODA . "</option>";
                    }
                    foreach ($lstRes as $q) {
                        list($lstID, $lstName) = $q;
                        $temp_str = '';
                        if ($lstID == $selected) {
                            $temp_str = $type_element == "select" ? " selected" : " checked";
                        }
                        if ($type_element == 'select') {
                            #TODO сделать возможность передавать селектед в виде массива
                            $result .= "<option value='" . $lstID . "' " . $temp_str . ">" . $lstName . "</option>";
                        } else {
                            $result .= "<input type='checkbox' value='" . $lstID . "' name='srchPat[" . $j . "][]' " . $temp_str . "> " . $lstName . "<br>\r\n";
                        }
                    }
                    if ($type_element == 'select') {
                        $result .= '</select><br>';
                    }
                    //.$fld_suffix;
                    $j++;
                    $result .= "<input type='hidden' name='srchPat[" . $j . "]' value='0'>\n";
                    $result .= $fld_suffix;
                }
                $j++;
                break;
        }
        $result .= "<br>\n";
    }
    if (!$j) {
        return false;
    }
    return $result;
}
Esempio n. 6
0
function CatalogueForm($CatalogueID, $phase, $action, $type, $bar_action = null)
{
    # type = 1 - это insert
    # type = 2 - это update
    global $ROOT_FOLDER, $HTTP_FILES_PATH, $DOMAIN_NAME;
    global $SUB_FOLDER, $HTTP_ROOT_PATH, $ADMIN_PATH;
    global $systemTableID, $systemTableName, $admin_mode;
    global $FILES_FOLDER, $INCLUDE_FOLDER, $MODULE_FOLDER, $ADMIN_FOLDER;
    global $UI_CONFIG;
    if (!$bar_action) {
        $bar_action = 'edit';
    }
    $nc_core = nc_Core::get_object();
    $db = $nc_core->db;
    $lm_type = $nc_core->page->get_field_name('last_modified_type');
    $sm_field = $nc_core->page->get_field_name('sitemap_include');
    $sm_change_field = $nc_core->page->get_field_name('sitemap_changefreq');
    $sm_priority_field = $nc_core->page->get_field_name('sitemap_priority');
    $lang_field = $nc_core->page->get_field_name('language');
    $CatalogueID = intval($CatalogueID);
    $params = array('Catalogue_Name', 'Domain', 'Template_ID', 'Read_Access_ID', 'Write_Access_ID', 'Edit_Access_ID', 'Subscribe_Access_ID', 'Checked_Access_ID', 'Delete_Access_ID', 'Moderation_ID', 'Checked', 'Priority', 'Mirrors', 'Robots', 'Cache_Access_ID', 'Cache_Lifetime', 'TitleSubIDName', 'TitleSubIDKeyword', 'TitleTemplateID', 'E404SubIDName', 'E404SubIDKeyword', 'E404TemplateID', 'CommentsEditRules', 'CommentAccessID', 'CommentsDeleteRules', 'DisplayType', 'last_modified_type', 'AllowIndexing', $sm_field, $sm_change_field, $sm_priority_field, 'ncOfflineText');
    foreach ($params as $v) {
        ${$v} = $nc_core->input->fetch_get_post($v);
    }
    $st = new nc_Component(0, 1);
    foreach ($st->get_fields(0, 0) as $v) {
        $v = 'f_' . $v;
        ${$v} = $nc_core->input->fetch_get_post($v);
    }
    $showFields = false;
    if ($type == 1) {
        $mandatoryFields = array();
        foreach ($st->get_fields() as $f) {
            if ($f['not_null']) {
                $mandatoryFields[] = $f['name'];
            }
        }
        $showFields = count($mandatoryFields) > 0;
    }
    if ($nc_core->modules->get_by_keyword('calendar', 0)) {
        echo nc_set_calendar(0);
    }
    echo "<form id='adminForm' class='nc-form' enctype='multipart/form-data' method='post' name='adminForm' action='" . $action . "'>";
    if ($type == 1) {
        if ($Priority == "" && $Checked == "") {
            $Checked = 1;
        }
        if ($Priority == "") {
            $Priority = $db->get_var("SELECT MAX(`Priority`)+1 FROM `Catalogue`");
        }
        foreach ($params as $v) {
            $Array[$v] = ${$v};
        }
        $Array['Read_Access_ID'] = 1;
        $Array['Write_Access_ID'] = 3;
        $Array['Edit_Access_ID'] = 3;
        $Array['Checked_Access_ID'] = 3;
        $Array['Delete_Access_ID'] = 3;
    } else {
        if ($type == 2) {
            try {
                $Array = $nc_core->catalogue->get_by_id($CatalogueID);
            } catch (Exception $e) {
                nc_print_status(CONTROL_CONTENT_CATALOUGE_FUNCS_ERROR_NOCATALOGUE, 'info');
                EndHtml();
                exit;
            }
        }
    }
    //по умолчанию: публикация объекта сразу после добавления
    if (!$Array["Moderation_ID"]) {
        $Array["Moderation_ID"] = 1;
    }
    if (!$Array[$lm_type]) {
        $Array[$lm_type] = 1;
    }
    if (!$Array[$sm_change_field]) {
        $Array[$sm_change_field] = 'daily';
    }
    if (!$Array[$sm_priority_field]) {
        $Array[$sm_priority_field] = 0.5;
    }
    $fieldsets = new nc_admin_fieldset_collection();
    $access_actions = array('Read', 'Write', 'Edit', 'Checked', 'Delete');
    foreach ($access_actions as $access_action) {
        $Array["_db_{$access_action}_Access_ID"] = $Array[$access_action . "_Access_ID"];
    }
    $fields_hack = array($nc_core->page->get_field_name('last_modified'), $nc_core->page->get_field_name('last_modified_type'), 'Moderation_ID', 'Cache_Access_ID', 'Cache_Lifetime', 'DisallowIndexing', 'Template_ID');
    if ($nc_core->modules->get_by_keyword('search')) {
        $fields_hack[] = $nc_core->page->get_field_name('sitemap_include');
        $fields_hack[] = $nc_core->page->get_field_name('sitemap_changefreq');
        $fields_hack[] = $nc_core->page->get_field_name('sitemap_priority');
    }
    foreach ($fields_hack as $field_name) {
        $Array['_db_' . $field_name] = $Array[$field_name];
    }
    $Array['_db_inherit_' . $sm_change_field] = $Array['_db_' . $sm_change_field];
    $Array['_db_inherit_Template_ID'] = $Array['Template_ID'];
    $bar_all = $bar_action == 'all';
    $display = array('edit' => $bar_all || $bar_action == 'edit' || $bar_action == 'wizard', 'design' => $bar_action == 'design' || $bar_action == 'wizard', 'seo' => $bar_action == 'seo' || $bar_action == 'wizard', 'system' => $bar_action == 'system' || $bar_action == 'wizard', 'fields' => $bar_action == 'fields' || $bar_action == 'wizard' || $showFields);
    $p_div_bar_action = '';
    $s_div_bar_action = '';
    if ($bar_action == 'all') {
        $p_div_bar_action = "<div style='display: none;'>";
        $s_div_bar_action = '</div>';
    }
    $fieldsets->set_prefix("\n        {$p_div_bar_action}\n        <div id='nc_seo_edit_info'" . ($bar_action != 'edit' ? " style='display:none;'" : "") . " class='nc_admin_settings_info'>\n            <div class='nc_admin_settings_info_actions'>\n                <div>\n                    <span>" . CLASS_TAB_CUSTOM_ADD . ":</span> {$Array['Created']}\n                </div>\n                " . ($Array['LastUpdated'] ? "<div>\n                    <span>" . CLASS_TAB_CUSTOM_EDIT . ":</span> {$Array['LastUpdated']}\n                </div>" : "") . "\n            </div>\n\n            <div class='nc_admin_settings_info_priority'>\n                <div>\n                    " . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_PRIORITY . ":\n                </div>\n\n                <div>\n                    " . nc_admin_input_simple('Priority', intval($Array["Priority"]), 3, '', "maxlength='5'") . "\n                </div>\n            </div>\n\n            <div class='nc_admin_settings_info_checked'>\n                <div>\n                    " . nc_admin_checkbox_simple('Checked', 1, CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_ON, $Array["Checked"] == 1 || !$CatalogueID, 'turnon') . "\n                </div>\n            </div>\n        </div>{$s_div_bar_action}");
    $fieldsets->set_suffix($nc_core->token->get_input() . "\n        <input type='hidden' name='CatalogueID' value='{$CatalogueID}' />\n        <input type='hidden' name='phase' value='{$phase}' />\n        <input type='hidden' name='type' value='{$type}' />\n        <input type='hidden' name='posting' value='1' />\n        <input type='hidden' name='action' value='{$bar_action}' />\n        <input type='submit' class='hidden' />\n    </form><br />" . nc_admin_js_resize());
    $fieldsets->new_fieldset('main_info', CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MAININFO)->show($display['edit']);
    $fieldsets->new_fieldset('template', CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_TEMPLATE)->add(nc_subdivision_form_design($Array, $CatalogueID, false))->show($display['design']);
    //$fieldsets->new_fieldset('mobile', CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_SETTINGS)->show($display['edit'] && $bar_action != 'all');
    $fieldsets->new_fieldset('seo', '')->add(nc_subdivision_form_seo($Array, false))->show($display['seo']);
    $fieldsets->new_fieldset('access', CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_ACCESS)->add(nc_subdivision_show_access($Array, false))->show($display['system']);
    if ($nc_core->modules->get_by_keyword('minishop')) {
        $fieldsets->new_fieldset('shop_mode', $p_div_bar_action ? null : NETCAT_MODULE_MINISHOP_INFOBLOCK_MODE)->add("{$p_div_bar_action}<div>" . NETCAT_MODULE_MINISHOP_INFOBLOCK_GOOD_MODE . ":</div>" . nc_catalogue_form_shop_mode($CatalogueID))->show($display['edit'] . $s_div_bar_action);
    }
    if (nc_module_check_by_keyword("cache")) {
        $fieldsets->new_fieldset('cache', CONTROL_CONTENT_CATALOGUE_FUNCS_CACHE)->add(nc_subdivision_show_cache($Array, false))->show($display['system']);
    }
    if (nc_module_check_by_keyword("comments")) {
        $fieldsets->new_fieldset('comments', CONTROL_CONTENT_CATALOGUE_FUNCS_COMMENTS)->add(nc_subdivision_show_comments($Array, false))->show($display['system']);
    }
    ob_start();
    echo nc_admin_input(CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_NAME, 'Catalogue_Name', $Array["Catalogue_Name"], 32) . "\n   " . nc_admin_input(CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_DOMAIN, 'Domain', $Array["Domain"], 32) . "\n   {$p_div_bar_action}\n   <br />" . nc_admin_textarea_simple('Mirrors', $Array["Mirrors"], CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MIRRORS, 4, 10, '', '', 'no_cm') . "<br /><br />\n   " . nc_admin_textarea_simple('Robots', $Array["Robots"] ? $Array["Robots"] : "# NetCat Robots file\nUser-agent: *\nDisallow: /install/", CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_ROBOTS, 4, 10) . "<br /><br />\n    " . nc_admin_textarea_simple('ncOfflineText', $Array["ncOfflineText"], CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_OFFLINE, 4, 10) . "<br /><br />\n\n    <table border='0' cellpadding=0 cellspacing=0 width=100%>\n        <tr>\n            <td>\n                " . CONTROL_CONTENT_SUBDIVISION_FUNCS_CATALOGUEFORM_LANG . ":</br>\n                " . nc_admin_input_simple('language', $Array[$lang_field], 50) . "<br/>\n            </td>\n        </tr>";
    if ($type == 2) {
        $subdivisions = $db->get_results("SELECT Subdivision_ID as value,\n                                             CONCAT(Subdivision_ID, '. ', Subdivision_Name) as description,\n                                             Parent_Sub_ID as parent\n                                        FROM Subdivision\n                                       WHERE Catalogue_ID='" . $CatalogueID . "'\n                                    ORDER BY Subdivision_ID", ARRAY_A);
        echo "\n        <tr>\n            <td>\n                <br />\n                <table border='0' cellspacing='0' width='100%' class='border-bottom'>\n                    <col width='40%'/><col/>\n                    <tr>\n                        <td>\n                            " . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_TITLEPAGE . "\n                        </td>\n                    <td>";
        if (!empty($subdivisions)) {
            echo "<select name='TitleSubID'>";
            echo nc_select_options($subdivisions, $Array["Title_Sub_ID"]);
            echo "</select>";
        } else {
            echo CONTROL_USER_NOONESECSINSITE;
        }
        echo "              </td>\n                    </tr>\n                    <tr>\n                        <td>\n                            " . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_NOTFOUND . "\n                        </td>\n                        <td>";
        if (!empty($subdivisions)) {
            echo "<select name='E404SubID'>";
            echo nc_select_options($subdivisions, $Array["E404_Sub_ID"]);
            echo "</select>";
        } else {
            echo CONTROL_USER_NOONESECSINSITE;
        }
        echo "</td>\n</tr>\n</table><br><br></td></tr>";
    }
    echo "</table>{$s_div_bar_action}";
    $fieldsets->main_info->add(ob_get_clean());
    $templates = $db->get_results("SELECT Template_ID as value,\n                                        CONCAT(Template_ID, '. ', Description) as description,\n                                        Parent_Template_ID as parent\n                                   FROM Template\n                               ORDER BY Priority, Template_ID", ARRAY_A);
    ob_start();
    echo "<tr><td>";
    if ($type == 1) {
        echo $p_div_bar_action;
        echo WIZARD_SITE_STEP_TWO_DESCRIPTION . "<br/><br/>";
        if ($Array["Title_Sub_ID"]) {
            $title_sub = $db->get_row("SELECT Subdivision_Name, EnglishName FROM Subdivision WHERE Subdivision_ID = '" . intval($Array["Title_Sub_ID"]) . "'", ARRAY_A);
        }
        if ($Array["E404_Sub_ID"]) {
            $e404_sub = $db->get_row("SELECT Subdivision_Name, EnglishName FROM Subdivision WHERE Subdivision_ID = '" . intval($Array["E404_Sub_ID"]) . "'", ARRAY_A);
        }
        echo "<legend><h3>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_TITLEPAGE . "</h3></legend>\n";
        echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_NAME . ":<br>\n";
        echo nc_admin_input_simple('TitleSubIDName', $title_sub['Subdivision_Name'] ? $title_sub['Subdivision_Name'] : CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_TITLEPAGE) . "<br><br>\n";
        echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_KEYWORD . ":<br>\n";
        echo nc_admin_input_simple('TitleSubIDKeyword', $title_sub['EnglishName'] ? $title_sub['EnglishName'] : "index") . "<br><br>\n";
        if (!empty($templates)) {
            echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_DTEMPLATE . ":<br>\n";
            echo "<select name='TitleTemplateID'>\n";
            echo "<option value='0'>" . CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_DTEMPLATE_N . "</option>";
            echo nc_select_options($templates, $Array["Title_Sub_ID"]);
            echo "</select><br>\n";
        } else {
            echo CONTROL_TEMPLATE_NONE;
        }
        echo "<legend><h3>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_NOTFOUND . "</h3></legend>\n";
        echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_NAME . ":<br>\n";
        echo nc_admin_input_simple('E404SubIDName', $title_sub['Subdivision_Name'] ? $title_sub['Subdivision_Name'] : CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_NOTFOUND) . "<br><br>\n";
        echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_KEYWORD . ":<br>\n";
        echo nc_admin_input_simple('E404SubIDKeyword', $title_sub['EnglishName'] ? $title_sub['EnglishName'] : "404") . "<br><br>\n";
        if (!empty($templates)) {
            echo CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_DTEMPLATE . ":<br>\n";
            echo "<select name='E404TemplateID'>\n";
            echo "<option value='0'>" . CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_DTEMPLATE_N . "</option>";
            echo nc_select_options($templates, $Array["E404_Sub_ID"]);
            echo "</select><br>\n";
        } else {
            echo CONTROL_TEMPLATE_NONE;
        }
        echo $s_div_bar_action;
    }
    $fieldsets->template->add(ob_get_clean());
    $display_type_fieldset = new nc_admin_fieldset(CONTROL_CONTENT_SUBDIVISION_FUNCS_MAINDATA_DISPLAYTYPE);
    ob_start();
    echo nc_get_modal_radio('DisplayType', array(array('attr' => array('value' => 'traditional'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_DISPLAYTYPE_TRADITIONAL), array('attr' => array('value' => 'shortpage'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_DISPLAYTYPE_SHORTPAGE), array('attr' => array('value' => 'longpage_vertical'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_DISPLAYTYPE_LONGPAGE_VERTICAL)), $Array['DisplayType']);
    $display_type_fieldset->add(ob_get_clean());
    $fieldsets->template->add($display_type_fieldset->result());
    ob_start();
    echo nc_get_modal_radio('ncMobile', array(array('attr' => array('value' => '0'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_SIMPLE), array('attr' => array('value' => '1'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE), array('attr' => array('value' => '2'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_ADAPTIVE)), $Array['ncMobile'] ? 1 : ($Array['ncResponsive'] ? 2 : 0));
    require_once $ADMIN_FOLDER . "related/format.inc.php";
    $field = new field_relation_catalogue();
    echo "\n\n    <span id='nc_mobilesrc'>\n        <br />\n        <span id='mobility_text'>\n        <font>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_FOR . ":</font>\n        <span id='cs_ncMobileSrc_caption' style='font-weight:bold;'>" . ($Array['ncMobileSrc'] ? listQuery($field->get_object_query($Array['ncMobileSrc']), $field->get_full_admin_template()) : '[нет]') . "</span>\n        </span>\n        <input id='cs_ncMobileSrc_value' name='ncMobileSrc' type='hidden' value='" . $Array['ncMobileSrc'] . "'>&nbsp;&nbsp;\n        <span class='mobility_notMobile' style='display: none; color: #aaa'>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_FOR_NOTICE . "</span>\n        <span class='moblilty_links'>\n        <a href='#' onclick='window.open(\"" . $ADMIN_PATH . "related/select_catalogue.php?cs_type=rel_catalogue&amp;cs_field_name=ncMobileSrc\", \"nc_popup_ncMobileSrc\", \"width=800,height=500,menubar=no,resizable=no,scrollbars=yes,toolbar=no,resizable=yes\"); return false;'>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_CHANGE . "</a>&nbsp;&nbsp;\n        <a href='#' onclick='document.getElementById(\"cs_ncMobileSrc_value\").value=\"\";document.getElementById(\"cs_ncMobileSrc_caption\").innerHTML = \"" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_NONE . "\";return false;'>" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_DELETE . "</a></span> <br /><br />\n        " . nc_admin_checkbox(CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_REDIRECT, 'ncMobileRedirect', $Array["ncMobileRedirect"], "class='ncMobileIdentity'") . "\n    </span>\n    <br />" . CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_CRITERION . "\n\n\n    <script type='text/javascipt'>\n    function nc_mobile_change() {\n        if (\$nc('input[name=ncMobile]').filter(':checked').val() == 1) {\n            \$nc('.ncMobileIdentity').each(function() {\n                \$nc(this).removeAttr('disabled');\n            })\n            \$nc('.moblilty_links, #cs_ncMobileSrc_caption').css('display', '');\n            \$nc('.mobility_notMobile').css('display', 'none');\n            \$nc('#mobility_text').css('color', '#505050');\n        } else {\n            \$nc('.ncMobileIdentity').each(function() {\n                \$nc(this).attr('disabled', 'disabled');\n            });\n            \$nc('.moblilty_links, #cs_ncMobileSrc_caption').css('display', 'none');\n            \$nc('.mobility_notMobile').css('display', '');\n            \$nc('#mobility_text').css('color', '#aaa');\n        }\n    }\n\n    \$nc(document).ready(function() {\n        nc_mobile_change();\n        \$nc('input[name=ncMobile]').change(function(){\n            nc_mobile_change();\n        });\n    });\n\n    </script>";
    echo nc_get_modal_radio('ncMobileIdentity', array(array('attr' => array('value' => '1', 'class' => 'ncMobileIdentity'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_USERAGENT), array('attr' => array('value' => '2', 'class' => 'ncMobileIdentity', 'id' => 'ncMobileCatalogue'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_SCREEN_RESOLUTION), array('attr' => array('value' => '3', 'class' => 'ncMobileIdentity'), 'desc' => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_ALL_CRITERION)), +$Array['ncMobileIdentity']);
    $mobile_fieldset = new nc_admin_fieldset(CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_MOBILE_SETTINGS);
    $mobile_fieldset->add(ob_get_clean());
    $fieldsets->template->add($mobile_fieldset->result());
    if ($type == 1) {
        $action = "add";
    }
    if ($type == 2) {
        $action = "change";
        $message = $CatalogueID;
    }
    require $ROOT_FOLDER . "message_fields.php";
    if ($fldCount) {
        $fieldsets->new_fieldset('ext_fields', CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_EXTFIELDS);
        ob_start();
        if ($type == 2) {
            $fieldQuery = join($fld, ",");
            $fldValue = $db->get_row("SELECT " . $fieldQuery . " FROM `Catalogue` WHERE `Catalogue_ID`='" . $CatalogueID . "'", ARRAY_N);
        }
        echo "<table border='0' cellpadding='6' cellspacing='0' width='100%'><tr><td><font>";
        require $ROOT_FOLDER . "message_edit.php";
        echo "</td></tr></table>";
        $fieldsets->ext_fields->add(ob_get_clean())->show($display['fields']);
    }
    echo $fieldsets->to_string();
    if ($type == 1) {
        $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => CONTROL_CONTENT_CATALOUGE_FUNCS_SHOWCATALOGUELIST_ADDSITE, "action" => "mainView.submitIframeForm()");
    } elseif ($type == 2) {
        $UI_CONFIG->actionButtons[] = array("id" => "submit", "caption" => CONTROL_CONTENT_CATALOUGE_FUNCS_CATALOGUEFORM_SAVE, "align" => "right", "action" => "mainView.submitIframeForm()");
    }
    return 0;
}
Esempio n. 7
0
<?php

/* $Id: showpreview.php 7863 2012-07-30 15:18:50Z lemonade $ */
$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -4)) . (strstr(__FILE__, "/") ? "/" : "\\");
include_once $NETCAT_FOLDER . "vars.inc.php";
require $INCLUDE_FOLDER . "index.php";
$error = false;
$id = (int) $_GET['id'];
# если пользователь не зарегистрирован или не объявлен $perm
if (!$current_user || !class_exists("Permission") || !is_object($perm)) {
    $error = NETCAT_MODERATION_ERROR_NORIGHT;
} else {
    # права администратора
    $AdmRights = $perm->isDirector() || $perm->isSupervisor();
    # если есть какие либо из этих прав, доступ разрещён
    if (!$AdmRights) {
        $error = NETCAT_MODERATION_ERROR_NORIGHT;
    }
}
// if no auth module, object $perm not instantiated and error is true
// try to authorize and unset error or error is really true
if ($error && Authorize()) {
    if (is_object($perm) && ($perm->isDirector() || $perm->isSupervisor())) {
        unset($error);
    }
}
echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n<html>\n<head>\n<meta http-equiv='content-type' content='text/html; charset=" . $nc_core->NC_CHARSET . "'>\n<title>" . (!$error ? NETCAT_MODULE_CALENDAR_PREVIEW : $error) . "</title>\n" . (!$error ? nc_set_calendar($id) : "") . "\n</head>\n<body>\n" . (!$error ? "<table cellspacing='1' cellpadding='1' border='0' style='width:100%; height:100%'>\n<tr valign='middle'>\n<td align='center'>\n" . nc_show_calendar($id, 0, date('Y-m-d'), 'Created', true, false, true) . "\n</td>\n</tr>\n</table>" : $error) . "\n</body>\n</html>";
Esempio n. 8
0
<?php

/* $Id$ */
$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\\/\\\\]+/", __FILE__), 0, -4)) . (strstr(__FILE__, "/") ? "/" : "\\");
include_once $NETCAT_FOLDER . "vars.inc.php";
require $INCLUDE_FOLDER . "index.php";
$id = intval($nc_core->input->fetch_get_post('theme'));
$day = intval($nc_core->input->fetch_get_post('day'));
$month = intval($nc_core->input->fetch_get_post('month'));
$year = intval($nc_core->input->fetch_get_post('year'));
$field_day = htmlspecialchars($nc_core->input->fetch_get_post('field_day'), ENT_QUOTES);
$field_month = htmlspecialchars($nc_core->input->fetch_get_post('field_month'), ENT_QUOTES);
$field_year = htmlspecialchars($nc_core->input->fetch_get_post('field_year'), ENT_QUOTES);
if (!$day) {
    $day = date("d");
}
if (!$month) {
    $month = date("m");
}
if (!$year) {
    $year = date("Y");
}
echo nc_set_calendar($id) . nc_show_calendar($id, 0, $year . "-" . $month . "-" . $day, '', 1, $year . "-" . $month . "-" . $day, 1, array($field_day, $field_month, $field_year));