xref: /template/strap/ComboStrap/PageProtection.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
137748cd8SNickeau<?php
237748cd8SNickeau/**
337748cd8SNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved.
437748cd8SNickeau *
537748cd8SNickeau * This source code is licensed under the GPL license found in the
637748cd8SNickeau * COPYING  file in the root directory of this source tree.
737748cd8SNickeau *
837748cd8SNickeau * @license  GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
937748cd8SNickeau * @author   ComboStrap <support@combostrap.com>
1037748cd8SNickeau *
1137748cd8SNickeau */
1237748cd8SNickeau
1337748cd8SNickeaunamespace ComboStrap;
1437748cd8SNickeau
1537748cd8SNickeau
1637748cd8SNickeauuse syntax_plugin_combo_tooltip;
1737748cd8SNickeau
1837748cd8SNickeau/**
1937748cd8SNickeau * Class PageProtection handles the protection of page against
2037748cd8SNickeau * public agent such as low quality page or late publication
2137748cd8SNickeau *
2237748cd8SNickeau * @package ComboStrap
2337748cd8SNickeau *
2437748cd8SNickeau * The test are in two separate classes {@link \LowQualityPageTest}
2537748cd8SNickeau * and {@link \PublicationTest}
2637748cd8SNickeau */
2737748cd8SNickeauclass PageProtection
2837748cd8SNickeau{
2937748cd8SNickeau
3037748cd8SNickeau    const NAME = "page-protection";
3137748cd8SNickeau    const ACRONYM = "pp";
3237748cd8SNickeau
3337748cd8SNickeau    /**
3437748cd8SNickeau     * The possible values
3537748cd8SNickeau     */
3637748cd8SNickeau    const CONF_VALUE_ACL = "acl";
3737748cd8SNickeau    const CONF_VALUE_HIDDEN = "hidden";
3837748cd8SNickeau    const CONF_VALUE_ROBOT = "robot";
3937748cd8SNickeau    const CONF_VALUE_FEED = "feed";
4037748cd8SNickeau
4137748cd8SNickeau
4237748cd8SNickeau    const PAGE_PROTECTION_LINK_WARNING = "warning";
4337748cd8SNickeau    const PAGE_PROTECTION_LINK_NORMAL = "normal";
4437748cd8SNickeau    const PAGE_PROTECTION_LINK_LOGIN = "login";
45*04fd306cSNickeau    public const DATA_PP_SOURCE = "data-pp-source";
46*04fd306cSNickeau    public const DATA_PP_LINK = "data-pp-link";
4737748cd8SNickeau
4837748cd8SNickeau
4937748cd8SNickeau    /**
5037748cd8SNickeau     * Add the Javascript snippet
5137748cd8SNickeau     * We have created only one because a page
5237748cd8SNickeau     * may be of low quality and with a late publication.
5337748cd8SNickeau     * To resolve conflict between the two protections, the parameters are the same
5437748cd8SNickeau     * and the late publication takes precedence on low quality page
5537748cd8SNickeau     */
5637748cd8SNickeau    public static function addPageProtectionSnippet()
5737748cd8SNickeau    {
584cadd4f8SNickeau        Tooltip::addToolTipSnippetIfNeeded();
59*04fd306cSNickeau        PluginUtility::getSnippetManager()->attachJavascriptFromComponentId(self::NAME);
6037748cd8SNickeau    }
6137748cd8SNickeau
6237748cd8SNickeau}
63