Esempio n. 1
0
/**
 * Сохраняет/редактирует направление
 *
 * @param array $info - данные
 * @return object xajaxResponse
 */
function saveDirectForm($info)
{
    global $GLOBALS;
    session_start();
    if (!hasPermissions('seo')) {
        return false;
    }
    $objResponse = new xajaxResponse();
    $seo = new seo($_SESSION['subdomain']);
    if (trim($info['name_section']) == "") {
        $objResponse->script("alert('Введите название направления');");
        $objResponse->script("\$('name_section').focus();");
        return $objResponse;
    }
    if (preg_match('/[^A-Za-z0-9_\\-]/', $info['name_section_link']) || trim($info['name_section_link']) == "") {
        $objResponse->script("alert('Название ссылки должно содержать только латинские буквы, цифры, нижнее подчеркивание или тире');");
        $objResponse->script("\$('name_section_link').focus();");
        return $objResponse;
    }
    if ($seo->checkLink('direct', $info['name_section_link'], $info['id'])) {
        $objResponse->script("alert('Направление с такой ссылкой уже есть');");
        $objResponse->script("\$('name_section_link').focus();");
        return $objResponse;
    }
    $saved_disable_link_processing = $GLOBALS['disable_link_processing'];
    $GLOBALS['disable_link_processing'] = TRUE;
    $data = array("dir_name" => (string) change_q_x($info['name_section'], true), "name_section_link" => (string) change_q_x($info['name_section_link'], true), "meta_description" => (string) change_q_x($info['meta_description'], true), "meta_keywords" => (string) change_q_x($info['meta_keywords'], true), "page_content" => (string) __paramValue('ckeditor', $info['content']));
    $GLOBALS['disable_link_processing'] = $saved_disable_link_processing;
    if (!$info['id']) {
        $data['date_create'] = 'NOW()';
    } else {
        $data['date_modified'] = 'NOW()';
    }
    $newid = $seo->saveDirection($data, $info['id']);
    if (!$info['id'] && $newid) {
        $url = array();
        $url['direction'] = $newid;
        if ($info['name_section_link']) {
            $url['direction'] = $info['name_section_link'];
        }
        if ($_SESSION['subdomain']) {
            $url['subdomain'] = $_SESSION['subdomain'];
        }
        $url['msgok'] = 3;
        $url = "/catalog/admin/?" . http_build_query($url);
        $objResponse->redirect($url);
    } elseif ($info['id'] && $newid) {
        $url['direction'] = $info['name_section_link'];
        if ($_SESSION['subdomain']) {
            $url['subdomain'] = $_SESSION['subdomain'];
        }
        $url['msgok'] = 4;
        $url = "/catalog/admin/?" . http_build_query($url);
        $objResponse->redirect($url);
    } else {
        $objResponse->alert('Ошибка');
    }
    return $objResponse;
}