xref: /template/strap/ComboStrap/PageProtection.php (revision 37748cd8654635afbeca80942126742f0f4cc346)
1*37748cd8SNickeau<?php
2*37748cd8SNickeau/**
3*37748cd8SNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved.
4*37748cd8SNickeau *
5*37748cd8SNickeau * This source code is licensed under the GPL license found in the
6*37748cd8SNickeau * COPYING  file in the root directory of this source tree.
7*37748cd8SNickeau *
8*37748cd8SNickeau * @license  GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
9*37748cd8SNickeau * @author   ComboStrap <support@combostrap.com>
10*37748cd8SNickeau *
11*37748cd8SNickeau */
12*37748cd8SNickeau
13*37748cd8SNickeaunamespace ComboStrap;
14*37748cd8SNickeau
15*37748cd8SNickeau
16*37748cd8SNickeauuse syntax_plugin_combo_tooltip;
17*37748cd8SNickeau
18*37748cd8SNickeau/**
19*37748cd8SNickeau * Class PageProtection handles the protection of page against
20*37748cd8SNickeau * public agent such as low quality page or late publication
21*37748cd8SNickeau *
22*37748cd8SNickeau * @package ComboStrap
23*37748cd8SNickeau *
24*37748cd8SNickeau * The test are in two separate classes {@link \LowQualityPageTest}
25*37748cd8SNickeau * and {@link \PublicationTest}
26*37748cd8SNickeau */
27*37748cd8SNickeauclass PageProtection
28*37748cd8SNickeau{
29*37748cd8SNickeau
30*37748cd8SNickeau    const NAME = "page-protection";
31*37748cd8SNickeau    const ACRONYM = "pp";
32*37748cd8SNickeau
33*37748cd8SNickeau    /**
34*37748cd8SNickeau     * The possible values
35*37748cd8SNickeau     */
36*37748cd8SNickeau    const CONF_VALUE_ACL = "acl";
37*37748cd8SNickeau    const CONF_VALUE_HIDDEN = "hidden";
38*37748cd8SNickeau    const CONF_VALUE_ROBOT = "robot";
39*37748cd8SNickeau    const CONF_VALUE_FEED = "feed";
40*37748cd8SNickeau
41*37748cd8SNickeau
42*37748cd8SNickeau    const PAGE_PROTECTION_LINK_WARNING = "warning";
43*37748cd8SNickeau    const PAGE_PROTECTION_LINK_NORMAL = "normal";
44*37748cd8SNickeau    const PAGE_PROTECTION_LINK_LOGIN = "login";
45*37748cd8SNickeau
46*37748cd8SNickeau
47*37748cd8SNickeau    /**
48*37748cd8SNickeau     * Add the Javascript snippet
49*37748cd8SNickeau     * We have created only one because a page
50*37748cd8SNickeau     * may be of low quality and with a late publication.
51*37748cd8SNickeau     * To resolve conflict between the two protections, the parameters are the same
52*37748cd8SNickeau     * and the late publication takes precedence on low quality page
53*37748cd8SNickeau     */
54*37748cd8SNickeau    public static function addPageProtectionSnippet()
55*37748cd8SNickeau    {
56*37748cd8SNickeau        syntax_plugin_combo_tooltip::addToolTipSnippetIfNeeded();
57*37748cd8SNickeau        PluginUtility::getSnippetManager()->attachJavascriptSnippetForBar(self::NAME);
58*37748cd8SNickeau    }
59*37748cd8SNickeau
60*37748cd8SNickeau}
61