Пример #1
0
/**
 * Validates if URL is valid
 * @param array $seo parsed data of target object
 * @param string $path URL path 
 * @param array $objects list of objects in URL path
 * @return boolean true if object is valid, false - otherwise
 */
function fn_seo_validate_object($seo, $path, $objects)
{
    $result = true;
    if (Registry::get('addons.seo.single_url') == 'Y' && $seo['lang_code'] != Registry::get('settings.Appearance.frontend_default_language')) {
        return false;
    }
    if (!empty($objects['sl']) && $objects['sl'] != $seo['lang_code'] && Registry::get('addons.seo.single_url') != 'Y') {
        return false;
    }
    if (AREA == 'C') {
        $avail_langs = fn_get_simple_languages(!empty($_SESSION['auth']['area']) && $_SESSION['auth']['area'] == 'A');
        $obj_sl = !empty($objects['sl']) ? $objects['sl'] : $seo['lang_code'];
        if (!in_array($obj_sl, array_keys($avail_langs))) {
            return false;
        }
    }
    if (preg_match('/^(.*\\/)?((' . $objects['object_name'] . ')(([\\/\\-]page[\\-]?[\\d]*)?(\\/|(\\' . SEO_FILENAME_EXTENSION . '))?)?)$/', $path, $matches)) {
        // remove object from path
        $path = substr_replace($path, '', strrpos($path, $matches[2]));
    }
    if (Registry::get('addons.seo.seo_language') == 'Y') {
        $path = substr($path, 3);
        // remove language prefix
    }
    $path = rtrim($path, '/');
    // remove trailing slash
    $vars = fn_get_seo_vars($seo['type']);
    // check parent objects
    $result = fn_seo_validate_parents($path, $seo['path'], !empty($vars['parent_type']) ? $vars['parent_type'] : $seo['type'], $vars, $seo['lang_code']);
    if ($result) {
        if (fn_check_seo_schema_option($vars, 'html_options')) {
            $result = !empty($objects['extension']);
        } else {
            $result = empty($objects['extension']);
        }
    }
    // Deprecated
    fn_set_hook('validate_sef_object', $path, $seo, $vars, $result, $objects);
    return $result;
}
Пример #2
0
}
if ($mode == 'update') {
    $localizaton = fn_get_localization_data($_REQUEST['localization_id'], DESCR_SL, true);
    if (empty($localizaton)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    Tygh::$app['view']->assign('localization', $localizaton);
    Tygh::$app['view']->assign('localization_countries', array_diff(fn_get_simple_countries(), $localizaton['countries']));
    Tygh::$app['view']->assign('localization_currencies', array_diff(fn_get_simple_currencies(), $localizaton['currencies']));
    Tygh::$app['view']->assign('localization_languages', array_diff(fn_get_simple_languages(true), $localizaton['languages']));
    Tygh::$app['view']->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'details' => array('title' => __('items_title'), 'js' => true)));
} elseif ($mode == 'add') {
    Tygh::$app['view']->assign('localization_countries', fn_get_simple_countries());
    Tygh::$app['view']->assign('localization_currencies', fn_get_simple_currencies());
    Tygh::$app['view']->assign('localization_languages', fn_get_simple_languages(true));
    Tygh::$app['view']->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'details' => array('title' => __('items_title'), 'js' => true)));
} elseif ($mode == 'manage') {
    Tygh::$app['view']->assign('localizations', fn_get_localizations(DESCR_SL));
}
function fn_delete_localization($localization_ids)
{
    $loc_objects = fn_get_localization_objects();
    fn_set_progress('parts', sizeof($localization_ids) * sizeof($loc_objects));
    foreach ($localization_ids as $loc_id) {
        foreach ($loc_objects as $table) {
            fn_set_progress('echo', __('converting_data_in_table', array('[table]' => $table)));
            db_query("UPDATE ?:{$table} SET localization = ?p", fn_remove_from_set('localization', $loc_id));
        }
        db_query("DELETE FROM ?:localizations WHERE localization_id = ?i", $loc_id);
Пример #3
0
}
if ($mode == 'update') {
    $localizaton = fn_get_localization_data($_REQUEST['localization_id'], DESCR_SL, true);
    if (empty($localizaton)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    Registry::get('view')->assign('localization', $localizaton);
    Registry::get('view')->assign('localization_countries', array_diff(fn_get_simple_countries(), $localizaton['countries']));
    Registry::get('view')->assign('localization_currencies', array_diff(fn_get_simple_currencies(), $localizaton['currencies']));
    Registry::get('view')->assign('localization_languages', array_diff(fn_get_simple_languages(true), $localizaton['languages']));
    Registry::get('view')->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'details' => array('title' => __('items_title'), 'js' => true)));
} elseif ($mode == 'add') {
    Registry::get('view')->assign('localization_countries', fn_get_simple_countries());
    Registry::get('view')->assign('localization_currencies', fn_get_simple_currencies());
    Registry::get('view')->assign('localization_languages', fn_get_simple_languages(true));
    Registry::get('view')->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'details' => array('title' => __('items_title'), 'js' => true)));
} elseif ($mode == 'manage') {
    Registry::get('view')->assign('localizations', fn_get_localizations(DESCR_SL));
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['localization_id'])) {
        fn_delete_localization((array) $_REQUEST['localization_id']);
    }
    return array(CONTROLLER_STATUS_OK, "localizations.manage");
}
function fn_delete_localization($localization_ids)
{
    $loc_objects = fn_get_localization_objects();
    fn_set_progress('parts', sizeof($localization_ids) * sizeof($loc_objects));
    foreach ($localization_ids as $loc_id) {
Пример #4
0
/**
 * Get languages list for admin language
 */
function fn_settings_variants_appearance_backend_default_language()
{
    return fn_get_simple_languages(true);
}
Пример #5
0
/**
 * Get languages list for admin language
 */
function fn_settings_variants_appearance_admin_default_language()
{
    return fn_get_simple_languages();
}
Пример #6
0
function fn_settings_variants_addons_rus_exim_1c_exim_1c_lang()
{
    $langs = fn_get_simple_languages();
    return $langs;
}
Пример #7
0
    fn_add_breadcrumb(fn_get_lang_var('localizations'), "localizations.manage");
    $localizaton = fn_get_localization_data($_REQUEST['localization_id'], DESCR_SL, true);
    if (empty($localizaton)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    $view->assign('localization', $localizaton);
    $view->assign('localization_countries', array_diff(fn_get_simple_countries(), $localizaton['countries']));
    $view->assign('localization_currencies', array_diff(fn_get_simple_currencies(), $localizaton['currencies']));
    $view->assign('localization_languages', array_diff(fn_get_simple_languages(), $localizaton['languages']));
    $view->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => fn_get_lang_var('general'), 'js' => true), 'details' => array('title' => fn_get_lang_var('items_title'), 'js' => true)));
} elseif ($mode == 'add') {
    fn_add_breadcrumb(fn_get_lang_var('localizations'), "localizations.manage");
    $view->assign('localization_countries', fn_get_simple_countries());
    $view->assign('localization_currencies', fn_get_simple_currencies());
    $view->assign('localization_languages', fn_get_simple_languages());
    $view->assign('default_localization', fn_get_default_localization(DESCR_SL));
    Registry::set('navigation.tabs', array('general' => array('title' => fn_get_lang_var('general'), 'js' => true), 'details' => array('title' => fn_get_lang_var('items_title'), 'js' => true)));
} elseif ($mode == 'manage') {
    $view->assign('localizations', fn_get_localizations(DESCR_SL));
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['localization_id'])) {
        fn_delete_localization((array) $_REQUEST['localization_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "localizations.manage");
}
function fn_delete_localization($localization_ids)
{
    fn_start_scroller();
    foreach ($localization_ids as $loc_id) {
        foreach (fn_get_localization_objects() as $table) {