public static function showUrlTypeMsg($params) { global $REX, $I18N; $currentArticle = OOArticle::getArticleById($REX['ARTICLE_ID']); $urlField = $currentArticle->getValue('seo_custom_url'); $articleId = $currentArticle->getValue('id'); $clangId = $currentArticle->getValue('clang'); $msg = ''; $isError = false; $urlData = seo42_utils::getUrlTypeData($urlField); $jsonData = json_decode($urlData, true); if ($REX['CUR_CLANG'] != $REX['START_CLANG_ID']) { $currentArticleDefaultLang = OOArticle::getArticleById($REX['ARTICLE_ID'], $REX['START_CLANG_ID']); $data = json_decode($currentArticleDefaultLang->getValue('seo_custom_url'), true); if (isset($data['url_clone']) && $data['url_clone'] == true) { $jsonData = $data; } } if (isset($jsonData['url_type'])) { switch ($jsonData['url_type']) { case SEO42_URL_TYPE_INTERN_REPLACE: $customArticleId = $jsonData['article_id']; $article = OOArticle::getArticleById($customArticleId); if (OOArticle::isValid($article)) { $msg = $I18N->msg('seo42_urltype_intern') . ' <a href="index.php?page=content&article_id=' . $customArticleId . '&mode=edit&clang=' . $REX['CUR_CLANG'] . '">' . $article->getName() . '</a>'; } else { $msg = $I18N->msg('seo42_urltype_error'); $isError = true; } break; case SEO42_URL_TYPE_INTERN_REPLACE_CLANG: $customArticleId = $jsonData['article_id']; $customClangId = $jsonData['clang_id']; $article = OOArticle::getArticleById($customArticleId, $customClangId); if (OOArticle::isValid($article)) { $msg = $I18N->msg('seo42_urltype_intern_plus_clang', '<a href="index.php?page=content&article_id=' . $customArticleId . '&mode=edit&clang=' . $customClangId . '">' . $article->getName() . '</a>', $REX['CLANG'][$customClangId]); } else { $msg = $I18N->msg('seo42_urltype_error'); $isError = true; } break; case SEO42_URL_TYPE_USERDEF_INTERN: // do nothing break; case SEO42_URL_TYPE_USERDEF_EXTERN: $customUrl = $jsonData['custom_url']; if (seo42_utils::stringStartsWith($customUrl, 'javascript:')) { $msg = $I18N->msg('seo42_urltype_userdef_javascript'); } else { $msg = $I18N->msg('seo42_urltype_userdef') . ': <a href="' . $customUrl . '" target="_blank">' . $customUrl . '</a>'; } break; case SEO42_URL_TYPE_MEDIAPOOL: $customUrl = '/' . $REX['MEDIA_DIR'] . '/' . $jsonData['file']; $msg = $I18N->msg('seo42_urltype_mediapool', '<a href="' . $customUrl . '" target="_blank">' . $jsonData['file'] . '</a>'); break; case SEO42_URL_TYPE_LANGSWITCH: $newClangId = $jsonData['clang_id']; $msg = $I18N->msg('seo42_urltype_langswitch', $REX['CLANG'][$newClangId]); break; case SEO42_URL_TYPE_NONE: $msg = $I18N->msg('seo42_urltype_none'); break; case SEO42_URL_TYPE_REMOVE_ROOT_CAT: // do nothing break; case SEO42_URL_TYPE_CALL_FUNC: if (isset($jsonData['no_url']) && $jsonData['no_url']) { $msg = $I18N->msg('seo42_urltype_none'); } break; default: case SEO42_URL_TYPE_DEFAULT: // do nothing break; } } if ($msg != '') { echo ' <style type=text/css> .rex-info p, .rex-warning p { padding: 4px 0 2px 0; } </style>'; if ($isError) { echo rex_warning($msg); } else { echo rex_info($msg); } } }