Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/terms.zip
Назад
PK �|!]�a�� message.phpnu &1i� <?php /** * @package Joomla.Plugin * @subpackage User.terms * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; extract($displayData); /** * Layout variables * ----------------- * @var string $autocomplete Autocomplete attribute for the field. * @var boolean $autofocus Is autofocus enabled? * @var string $class Classes for the input. * @var string $description Description of the field. * @var boolean $disabled Is this field disabled? * @var string $group Group the field belongs to. <fields> section in form XML. * @var boolean $hidden Is this field hidden in the form? * @var string $hint Placeholder for the field. * @var string $id DOM id of the field. * @var string $label Label of the field. * @var string $labelclass Classes to apply to the label. * @var boolean $multiple Does this field support multiple values? * @var string $name Name of the input field. * @var string $onchange Onchange attribute for the field. * @var string $onclick Onclick attribute for the field. * @var string $pattern Pattern (Reg Ex) of value of the form field. * @var boolean $readonly Is this field read only? * @var boolean $repeat Allows extensions to duplicate elements. * @var boolean $required Is this field required? * @var integer $size Size attribute of the input. * @var boolean $spellcheck Spellcheck state for the form field. * @var string $validate Validation rules to apply. * @var string $value Value attribute of the field. * @var array $options Options available for this field. * @var array $termsnote The terms note that needs to be displayed * @var array $translateLabel Should the label be translated? * @var array $translateDescription Should the description be translated? * @var array $translateHint Should the hint be translated? * @var array $termsArticle The Article ID holding the Terms Article */ echo '<div class="alert alert-info">' . $termsnote . '</div>'; PK �|!]Ui} label.phpnu &1i� <?php /** * @package Joomla.Plugin * @subpackage User.terms * * @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; extract($displayData); /** * Layout variables * ----------------- * @var string $autocomplete Autocomplete attribute for the field. * @var boolean $autofocus Is autofocus enabled? * @var string $class Classes for the input. * @var string $description Description of the field. * @var boolean $disabled Is this field disabled? * @var string $group Group the field belongs to. <fields> section in form XML. * @var boolean $hidden Is this field hidden in the form? * @var string $hint Placeholder for the field. * @var string $id DOM id of the field. * @var string $label Label of the field. * @var string $labelclass Classes to apply to the label. * @var boolean $multiple Does this field support multiple values? * @var string $name Name of the input field. * @var string $onchange Onchange attribute for the field. * @var string $onclick Onclick attribute for the field. * @var string $pattern Pattern (Reg Ex) of value of the form field. * @var boolean $readonly Is this field read only? * @var boolean $repeat Allows extensions to duplicate elements. * @var boolean $required Is this field required? * @var integer $size Size attribute of the input. * @var boolean $spellcheck Spellcheck state for the form field. * @var string $validate Validation rules to apply. * @var string $value Value attribute of the field. * @var array $options Options available for this field. * @var array $termsnote The terms note that needs to be displayed * @var array $translateLabel Should the label be translated? * @var array $translateDescription Should the description be translated? * @var array $translateHint Should the hint be translated? * @var array $termsArticle The Article ID holding the Terms Article * $var object $article The Article object */ // Get the label text from the XML element, defaulting to the element name. $text = $label ? (string) $label : (string) $name; $text = $translateLabel ? Text::_($text) : $text; // Set required to true as this field is not displayed at all if not required. $required = true; JHtml::_('behavior.modal'); // Build the class for the label. $class = !empty($description) ? 'hasPopover' : ''; $class = $class . ' required'; $class = !empty($labelclass) ? $class . ' ' . $labelclass : $class; // Add the opening label tag and main attributes. $label = '<label id="' . $id . '-lbl" for="' . $id . '" class="' . $class . '"'; // If a description is specified, use it to build a tooltip. if (!empty($description)) { $label .= ' title="' . htmlspecialchars(trim($text, ':'), ENT_COMPAT, 'UTF-8') . '"'; $label .= ' data-content="' . htmlspecialchars( $translateDescription ? Text::_($description) : $description, ENT_COMPAT, 'UTF-8' ) . '"'; } if (Factory::getLanguage()->isRtl()) { $label .= ' data-placement="left"'; } $attribs = array(); $attribs['class'] = 'modal'; $attribs['rel'] = '{handler: \'iframe\', size: {x:800, y:500}}'; if ($article) { $link = HTMLHelper::_('link', Route::_($article->link . '&tmpl=component'), $text, $attribs); } else { $link = $text; } // Add the label text and closing tag. $label .= '>' . $link . '<span class="star"> *</span></label>'; echo $label; PK �D"]&�� � terms/terms.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <form> <fields name="terms"> <fieldset name="terms" label="PLG_USER_TERMS_LABEL" > <field name="terms" type="terms" label="PLG_USER_TERMS_FIELD_LABEL" description="PLG_USER_TERMS_FIELD_DESC" default="0" filter="integer" required="true" > <option value="1">PLG_USER_TERMS_OPTION_AGREE</option> <option value="0">PLG_USER_TERMS_OPTION_DO_NOT_AGREE</option> </field> </fieldset> </fields> </form> PK �D"]�+' ' terms.phpnu &1i� <?php /** * @package Joomla.Plugin * @subpackage User.terms * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Form\Form; use Joomla\CMS\Form\FormHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\Model\BaseDatabaseModel; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\Utilities\ArrayHelper; /** * An example custom terms and conditions plugin. * * @since 3.9.0 */ class PlgUserTerms extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.9.0 */ protected $autoloadLanguage = true; /** * Application object. * * @var JApplicationCms * @since 3.9.0 */ protected $app; /** * Database object. * * @var JDatabaseDriver * @since 3.9.0 */ protected $db; /** * Constructor * * @param object &$subject The object to observe * @param array $config An array that holds the plugin configuration * * @since 3.9.0 */ public function __construct(&$subject, $config) { parent::__construct($subject, $config); FormHelper::addFieldPath(__DIR__ . '/field'); } /** * Adds additional fields to the user registration form * * @param JForm $form The form to be altered. * @param mixed $data The associated data for the form. * * @return boolean * * @since 3.9.0 */ public function onContentPrepareForm($form, $data) { if (!($form instanceof JForm)) { $this->_subject->setError('JERROR_NOT_A_FORM'); return false; } // Check we are manipulating a valid form - we only display this on user registration form. $name = $form->getName(); if (!in_array($name, array('com_users.registration'))) { return true; } // Add the terms and conditions fields to the form. Form::addFormPath(__DIR__ . '/terms'); $form->loadFile('terms'); $termsarticle = $this->params->get('terms_article'); $termsnote = $this->params->get('terms_note'); // Push the terms and conditions article ID into the terms field. $form->setFieldAttribute('terms', 'article', $termsarticle, 'terms'); $form->setFieldAttribute('terms', 'note', $termsnote, 'terms'); } /** * Method is called before user data is stored in the database * * @param array $user Holds the old user data. * @param boolean $isNew True if a new user is stored. * @param array $data Holds the new user data. * * @return boolean * * @since 3.9.0 * @throws InvalidArgumentException on missing required data. */ public function onUserBeforeSave($user, $isNew, $data) { // // Only check for front-end user registration if ($this->app->isClient('administrator')) { return true; } $userId = ArrayHelper::getValue($user, 'id', 0, 'int'); // User already registered, no need to check it further if ($userId > 0) { return true; } // Check that the terms is checked if required ie only in registration from frontend. $option = $this->app->input->getCmd('option'); $task = $this->app->input->get->getCmd('task'); $form = $this->app->input->post->get('jform', array(), 'array'); if ($option == 'com_users' && in_array($task, array('registration.register')) && empty($form['terms']['terms'])) { throw new InvalidArgumentException(Text::_('PLG_USER_TERMS_FIELD_ERROR')); } return true; } /** * Saves user profile data * * @param array $data entered user data * @param boolean $isNew true if this is a new user * @param boolean $result true if saving the user worked * @param string $error error message * * @return boolean * * @since 3.9.0 */ public function onUserAfterSave($data, $isNew, $result, $error) { if (!$isNew || !$result) { return true; } JLoader::register('ActionlogsModelActionlog', JPATH_ADMINISTRATOR . '/components/com_actionlogs/models/actionlog.php'); $userId = ArrayHelper::getValue($data, 'id', 0, 'int'); $message = array( 'action' => 'consent', 'id' => $userId, 'title' => $data['name'], 'itemlink' => 'index.php?option=com_users&task=user.edit&id=' . $userId, 'userid' => $userId, 'username' => $data['username'], 'accountlink' => 'index.php?option=com_users&task=user.edit&id=' . $userId, ); /* @var ActionlogsModelActionlog $model */ $model = BaseDatabaseModel::getInstance('Actionlog', 'ActionlogsModel'); $model->addLog(array($message), 'PLG_USER_TERMS_LOGGING_CONSENT_TO_TERMS', 'plg_user_terms', $userId); } } PK �D"]�*��� � terms.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="user" method="upgrade"> <name>plg_user_terms</name> <author>Joomla! Project</author> <creationDate>June 2018</creationDate> <copyright>(C) 2018 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.9.0</version> <description>PLG_USER_TERMS_XML_DESCRIPTION</description> <files> <filename plugin="terms">terms.php</filename> <folder>terms</folder> <folder>field</folder> </files> <languages> <language tag="en-GB">en-GB.plg_user_terms.ini</language> <language tag="en-GB">en-GB.plg_user_terms.sys.ini</language> </languages> <config> <fields name="params"> <fieldset name="basic" addfieldpath="/administrator/components/com_content/models/fields"> <field name="terms_note" type="textarea" label="PLG_USER_TERMS_NOTE_FIELD_LABEL" description="PLG_USER_TERMS_NOTE_FIELD_DESC" hint="PLG_USER_TERMS_NOTE_FIELD_DEFAULT" class="span12" rows="7" cols="20" filter="html" /> <field name="terms_article" type="modal_article" label="PLG_USER_TERMS_FIELD_ARTICLE_LABEL" description="PLG_USER_TERMS_FIELD_ARTICLE_DESC" select="true" new="true" edit="true" clear="true" filter="integer" /> </fieldset> </fields> </config> </extension> PK �D"]�r � � field/terms.phpnu &1i� <?php /** * @package Joomla.Plugin * @subpackage User.terms * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('JPATH_PLATFORM') or die; use Joomla\CMS\Factory; use Joomla\CMS\Form\FormHelper; use Joomla\CMS\Language\Associations; use Joomla\CMS\Language\Text; FormHelper::loadFieldClass('radio'); /** * Provides input for privacyterms * * @since 3.9.0 */ class JFormFieldterms extends JFormFieldRadio { /** * The form field type. * * @var string * @since 3.9.0 */ protected $type = 'terms'; /** * Method to get the field input markup. * * @return string The field input markup. * * @since 3.9.0 */ protected function getInput() { // Display the message before the field echo $this->getRenderer('plugins.user.terms.message')->render($this->getLayoutData()); return parent::getInput(); } /** * Method to get the field label markup. * * @return string The field label markup. * * @since 3.9.0 */ protected function getLabel() { if ($this->hidden) { return ''; } return $this->getRenderer('plugins.user.terms.label')->render($this->getLayoutData()); } /** * Method to get the data to be passed to the layout for rendering. * * @return array * * @since 3.9.4 */ protected function getLayoutData() { $data = parent::getLayoutData(); $article = false; $termsArticle = $this->element['article'] > 0 ? (int) $this->element['article'] : 0; if ($termsArticle && Factory::getApplication()->isClient('site')) { $db = Factory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName(array('id', 'alias', 'catid', 'language'))) ->from($db->quoteName('#__content')) ->where($db->quoteName('id') . ' = ' . (int) $termsArticle); $db->setQuery($query); $article = $db->loadObject(); JLoader::register('ContentHelperRoute', JPATH_BASE . '/components/com_content/helpers/route.php'); if (Associations::isEnabled()) { $termsAssociated = Associations::getAssociations('com_content', '#__content', 'com_content.item', $termsArticle); } $currentLang = Factory::getLanguage()->getTag(); if (isset($termsAssociated) && $currentLang !== $article->language && array_key_exists($currentLang, $termsAssociated)) { $article->link = ContentHelperRoute::getArticleRoute( $termsAssociated[$currentLang]->id, $termsAssociated[$currentLang]->catid, $termsAssociated[$currentLang]->language ); } else { $slug = $article->alias ? ($article->id . ':' . $article->alias) : $article->id; $article->link = ContentHelperRoute::getArticleRoute($slug, $article->catid, $article->language); } } $extraData = array( 'termsnote' => !empty($this->element['note']) ? $this->element['note'] : Text::_('PLG_USER_TERMS_NOTE_FIELD_DEFAULT'), 'options' => $this->getOptions(), 'value' => (string) $this->value, 'translateLabel' => $this->translateLabel, 'translateDescription' => $this->translateDescription, 'translateHint' => $this->translateHint, 'termsArticle' => $termsArticle, 'article' => $article, ); return array_merge($data, $extraData); } } PK �|!]�a�� message.phpnu &1i� PK �|!]Ui} I label.phpnu &1i� PK �D"]&�� � � terms/terms.xmlnu &1i� PK �D"]�+' ' � terms.phpnu &1i� PK �D"]�*��� � / terms.xmlnu &1i� PK �D"]�r � � 55 field/terms.phpnu &1i� PK � HB
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка