}, 'params' => [], 'message' => rex_i18n::msg('yrewrite_warning_chars')]);
    $yform->setValidateField('customfunction', ['name' => 'yrewrite_url', 'function' => function ($func, $yrewrite_url, $params, $field) {
        $return = ($a = rex_yrewrite::getArticleIdByUrl($params["domain"], $yrewrite_url)) && (key($a) != $params["article_id"] || current($a) != $params["clang"]);
        if ($return && $yrewrite_url != "") {
            $field->setElement("message", rex_i18n::msg('yrewrite_warning_urlexists', key($a)));
        } else {
            $return = false;
        }
        return $return;
    }, 'params' => ['article_id' => $article_id, "domain" => $domain, "clang" => $clang], 'message' => rex_i18n::msg('yrewrite_warning_urlexists')]);
    $yform->setActionField('db', [rex::getTable('article'), 'id=' . $article_id . ' and clang_id=' . $clang]);
    $yform->setObjectparams('submit_btn_label', $addon->i18n('update_url'));
    $form = $yform->getForm();
    if ($yform->objparams['actions_executed']) {
        $form = rex_view::success($addon->i18n('urlupdated')) . $form;
        rex_yrewrite::generatePathFile(['id' => $article_id, 'clang' => $clang, 'extension_point' => 'ART_UPDATED']);
        rex_article_cache::delete($article_id, $clang);
    } else {
    }
    echo '<section id="rex-page-sidebar-yrewrite-url" data-pjax-container="#rex-page-sidebar-yrewrite-url" data-pjax-no-history="1">' . $form . '</section>';
    $selector_preview = '#yform-yrewrite-url-yrewrite_url p.help-block';
    $selector_url = '#yform-yrewrite-url-yrewrite_url input';
    echo '

<script type="text/javascript">

jQuery(document).ready(function() {

    jQuery("' . $selector_url . '").keyup(function() {
        updateCustomUrlPreview();
    });
Пример #2
0
rex_yrewrite::setScheme(new rex_yrewrite_scheme());
rex_extension::register('PACKAGES_INCLUDED', function ($params) {
    rex_yrewrite::init();
    if (rex_request('rex_yrewrite_func', 'string') == 'robots') {
        $robots = new rex_yrewrite_seo();
        $robots->sendRobotsTxt();
    }
    // if anything changes -> refresh PathFile
    if (rex::isBackend()) {
        $extensionPoints = ['CAT_ADDED', 'CAT_UPDATED', 'CAT_DELETED', 'CAT_STATUS', 'ART_ADDED', 'ART_UPDATED', 'ART_DELETED', 'ART_STATUS', 'CLANG_UPDATED'];
        foreach ($extensionPoints as $extensionPoint) {
            rex_extension::register($extensionPoint, function (rex_extension_point $ep) {
                $params = $ep->getParams();
                $params['subject'] = $ep->getSubject();
                $params['extension_point'] = $ep->getName();
                rex_yrewrite::generatePathFile($params);
            });
        }
    }
    //rex_extension::register('ALL_GENERATED', 'rex_yrewrite::init');
    rex_extension::register('URL_REWRITE', function (rex_extension_point $ep) {
        $params = $ep->getParams();
        $params['subject'] = $ep->getSubject();
        return rex_yrewrite::rewrite($params);
    });
    // get ARTICLE_ID from URL
    if (!rex::isBackend()) {
        rex_yrewrite::prepare();
    }
    if (rex::isBackend()) {
        rex_extension::register('STRUCTURE_CONTENT_SIDEBAR', function (rex_extension_point $ep) {