}, '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(); });
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) {