Файловый менеджер - Редактировать - /var/www/html/components/com_community/tables/invitation.php
Ðазад
<?php /** * @copyright (C) 2013 iJoomla, Inc. - All rights reserved. * @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html) * @author iJoomla.com <webmaster@ijoomla.com> * @url https://www.jomsocial.com/license-agreement * The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0 * More info at https://www.jomsocial.com/license-agreement */ use Joomla\CMS\Factory; use Joomla\CMS\Table\Table; defined('_JEXEC') or die('Restricted access'); class CTableInvitation extends Table { var $id = null; /** * Callback method **/ var $callback = null; /** * Unique identifier for the current invitation **/ var $cid = null; /** * Comma separated values for user id's **/ var $users = null; public function __construct( &$db ) { parent::__construct( '#__community_invitations' , 'id' , $db ); } /** * Override parent's method as the loading method will be based on the * unique callback and cid **/ public function load( $cid = null , $callback = null ) { $db = Factory::getDBO(); $callback = (!$callback) ? 'invite_users' : $callback; //since 4.3 we detect the usage from here onwards with special indicators in callback $query = 'SELECT * FROM ' . $db->quoteName( $this->_tbl ) . ' WHERE ' . $db->quoteName( 'callback' ) . '=' . $db->quote( $callback ) . ' ' . 'AND ' . $db->quoteName( 'cid' ) . '=' . $db->Quote( $cid ); $db->setQuery( $query ); $result = $db->loadAssoc(); if(!is_null($result)) { $this->bind( $result ); }else{ $this->callback = 'invite_users'; $this->cid = $cid; } } /** * Retrieves invited members from this table * * @return Array $users An array containing user id's **/ public function getInvitedUsers() { $db = Factory::getDBO(); $callback = (!$this->callback) ? 'invite_users' : $this->callback; $cid = (!$this->cid) ? 0 : $this->cid; $query = 'SELECT * FROM ' . $db->quoteName( $this->_tbl ) . ' WHERE ' . $db->quoteName( 'callback' ) . '=' . $db->quote( $callback ) . ' ' . 'AND ' . $db->quoteName( 'cid' ) . '=' . $db->Quote( $cid ); $db->setQuery($query); $result = $db->loadObjectList(); $users = array(); foreach ($result as $invite) { if (!empty($invite->users)) { $users = array_merge($users, explode( ',' , $invite->users)); } } $users = array_unique($users); return $users; } public function getTotalInvitedUsers(){ return count($this->getInvitedUsers()); } public function addUser($emails = array()){ $invitedUsers = $this->getInvitedUsers(); foreach($emails as $email){ if(!in_array(trim($email), $invitedUsers)){ $this->users = $this->users.','.trim($email); } } } public function invitationExists($email){ if(in_array($email,$this->getInvitedUsers())){ return true; } } public function deleteInvitation($cid,$userid,$callback) { $this->load($cid, $callback); $users = explode(',',$this->users); foreach($users as $key => $user) { if($user == $userid) { unset($users[$key]); } } if(count($users) > 0) { $this->users = implode(',',$users); $this->store(); } else { $this->delete(); } } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка