Файловый менеджер - Редактировать - /var/www/html/components/com_community/libraries/emailtypes.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 */ defined('_JEXEC') or die('Restricted access'); require_once( JPATH_ROOT .'/components/com_community/libraries/core.php' ); class CEmailTypes { var $_emailtypes = array(); var $_adminonlygroups = array(); public function CEmailTypes() { $this->_emailtypes = array(); //load default email types $this->loadDefault(); } public function isAdminOnlyGroup($group){ return (isset($this->_adminonlygroups[$group])) ? TRUE : FALSE; } public function getEmailTypes(){ return $this->_emailtypes; } public function loadDefault(){ $config = CConfig::getInstance(); //add default group $groups = array(); $groups['ADMIN'] = array('COM_COMMUNITY_EMAILGROUP_ADMIN', TRUE); $groups['PROFILE'] = array('COM_COMMUNITY_EMAILGROUP_PROFILE', FALSE); if($config->get('enablegroups')){ $groups['GROUPS'] = array('COM_COMMUNITY_EMAILGROUP_GROUPS', FALSE); } if($config->get('enableevents')){ $groups['EVENTS'] = array('COM_COMMUNITY_EMAILGROUP_EVENTS', FALSE); } if($config->get('enablevideos')){ $groups['VIDEOS'] = array('COM_COMMUNITY_EMAILGROUP_VIDEOS', FALSE); } if($config->get('enablephotos')){ $groups['PHOTOS'] = array('COM_COMMUNITY_EMAILGROUP_PHOTOS', FALSE); } $groups['OTHERS'] = array('COM_COMMUNITY_EMAILGROUP_OTHERS', FALSE); foreach ($groups as $key => $desc){ $this->addGroup($key,$desc[0], $desc[1]); } $types = array(); //Admin $types[] = array('ADMIN','etype_groups_notify_admin','COM_COMMUNITY_EMAILTYPE_GROUPS_CREATION_MODERATION_REQUIRED','COM_COMMUNITY_EMAILTYPE_GROUPS_CREATION_MODERATION_REQUIRED_TIPS', TRUE); $types[] = array('ADMIN','etype_user_profile_delete','COM_COMMUNITY_EMAILTYPE_PROFILE_DELETE','COM_COMMUNITY_EMAILTYPE_PROFILE_DELETE_TIPS', TRUE); $types[] = array('ADMIN','etype_system_reports_threshold','COM_COMMUNITY_EMAILTYPE_REPORTS_THRESHOLD','COM_COMMUNITY_EMAILTYPE_REPORTS_THRESHOLD_TIPS', TRUE); //Profile //$types[] = array('PROFILE','etype_profile_submit_wall_comment','COM_COMMUNITY_EMAILTYPE_PROFILE_WALLCOMMENT','COM_COMMUNITY_EMAILTYPE_PROFILE_WALLCOMMENT_TIPS'); $types[] = array('PROFILE','etype_profile_status_update','COM_COMMUNITY_EMAILTYPE_PROFILE_STATUSUPDATE','COM_COMMUNITY_EMAILTYPE_PROFILE_STATUSUPDATE_TIPS'); //Friends $types[] = array('PROFILE','etype_friends_request_connection','COM_COMMUNITY_EMAILTYPE_FRIENDS_INVITE','COM_COMMUNITY_EMAILTYPE_FRIENDS_INVITE_TIPS'); $types[] = array('PROFILE','etype_friends_create_connection','COM_COMMUNITY_EMAILTYPE_FRIENDS_CONNECTION','COM_COMMUNITY_EMAILTYPE_FRIENDS_CONNECTION_TIPS'); $types[] = array('PROFILE','etype_inbox_create_message','COM_COMMUNITY_EMAILTYPE_OTHERS_INBOXMSG','COM_COMMUNITY_EMAILTYPE_OTHERS_INBOXMSG_TIPS'); $types[] = array('PROFILE',' etype_users_tagged','COM_COMMUNITY_EMAILTYPE_USER_TAGGED','COM_COMMUNITY_EMAILTYPE_USER_TAGGED_TIPS'); if($config->get('enablegroups')){ //Groups // $types[] = array('GROUPS','etype_groups_submit_wall_comment','COM_COMMUNITY_EMAILTYPE_GROUPS_WALLCOMMENT','COM_COMMUNITY_EMAILTYPE_GROUPS_WALLCOMMENT_TIPS'); $types[] = array('GROUPS','etype_groups_invite','COM_COMMUNITY_EMAILTYPE_GROUPS_INVITE','COM_COMMUNITY_EMAILTYPE_GROUPS_INVITE_TIPS'); $types[] = array('GROUPS','etype_groups_discussion_reply','COM_COMMUNITY_EMAILTYPE_GROUPS_DISCUSSIONREPLY','COM_COMMUNITY_EMAILTYPE_GROUPS_DISCUSSIONREPLY_TIPS'); $types[] = array('GROUPS','etype_groups_wall_create','COM_COMMUNITY_EMAILTYPE_GROUPS_WALLUPDATE','COM_COMMUNITY_EMAILTYPE_GROUPS_WALLUPDATE_TIPS'); $types[] = array('GROUPS','etype_groups_create_discussion','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWDISCUSSION','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWDISCUSSION_TIPS'); $types[] = array('GROUPS','etype_groups_create_news','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWBULLETIN','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWBULLETIN_TIPS'); $types[] = array('GROUPS','etype_groups_create_album','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWALBUM','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWALBUM_TIPS'); $types[] = array('GROUPS','etype_groups_create_video','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWVIDEO','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWVIDEO_TIPS'); $types[] = array('GROUPS','etype_groups_create_event','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWEVENT','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWEVENT_TIPS'); $types[] = array('GROUPS','etype_groups_sendmail','COM_COMMUNITY_EMAILTYPE_GROUPS_MASSEMAIL','COM_COMMUNITY_EMAILTYPE_GROUPS_MASSEMAIL_TIPS'); $types[] = array('GROUPS','etype_groups_member_approved','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWMEMBER','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWMEMBER_TIPS'); $types[] = array('GROUPS','etype_groups_member_join','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWMEMBER_REQUEST','COM_COMMUNITY_EMAILTYPE_GROUPS_NEWMEMBER_REQUEST_TIPS'); $types[] = array('GROUPS','etype_groups_notify_creator','COM_COMMUNITY_EMAILTYPE_GROUPS_CREATION_APPROVED','COM_COMMUNITY_EMAILTYPE_GROUPS_CREATION_APPROVED_TIPS'); } if($config->get('enableevents')){ //Events // $types[] = array('EVENTS','etype_events_submit_wall_comment','COM_COMMUNITY_EMAILTYPE_EVENTS_WALLCOMMENT','COM_COMMUNITY_EMAILTYPE_EVENTS_WALLCOMMENT_TIPS'); $types[] = array('EVENTS','etype_events_invite','COM_COMMUNITY_EMAILTYPE_EVENTS_INVITATION','COM_COMMUNITY_EMAILTYPE_EVENTS_INVITATION_TIPS'); $types[] = array('EVENTS','etype_events_invitation_approved','COM_COMMUNITY_EMAILTYPE_EVENTS_INVITATION_APPROVED','COM_COMMUNITY_EMAILTYPE_EVENTS_INVITATION_APPROVED_TIPS'); $types[] = array('EVENTS','etype_events_sendmail','COM_COMMUNITY_EMAILTYPE_EVENTS_MASSEMAIL','COM_COMMUNITY_EMAILTYPE_EVENTS_MASSEMAIL_TIPS'); $types[] = array('EVENTS','etype_events_notify_admin','COM_COMMUNITY_EMAILTYPE_EVENTS_CREATION_MODERATION_REQUIRED','COM_COMMUNITY_EMAILTYPE_EVENTS_CREATION_MODERATION_REQUIRED_TIPS'); $types[] = array('EVENTS','etype_events_wall_create','COM_COMMUNITY_EMAILTYPE_EVENTS_WALLUPDATE','COM_COMMUNITY_EMAILTYPE_EVENTS_WALLUPDATE_TIPS'); } if($config->get('enablevideos')){ //Videos $types[] = array('VIDEOS','etype_videos_submit_wall','COM_COMMUNITY_EMAILTYPE_VIDEOS_WALLCOMMENT','COM_COMMUNITY_EMAILTYPE_VIDEOS_WALLCOMMENT_TIPS'); } if($config->get('enablephotos')){ //Photos $types[] = array('PHOTOS','etype_photos_submit_wall','COM_COMMUNITY_EMAILTYPE_PHOTOS_WALLCOMMENT','COM_COMMUNITY_EMAILTYPE_PHOTOS_WALLCOMMENT_TIPS'); $types[] = array('PHOTOS','etype_photos_tagging','COM_COMMUNITY_EMAILTYPE_PHOTOS_TAG','COM_COMMUNITY_EMAILTYPE_PHOTOS_TAG_TIPS'); } //Others $types[] = array('OTHERS','etype_system_bookmarks_email','COM_COMMUNITY_EMAILTYPE_OTHERS_BOOKMARKS','COM_COMMUNITY_EMAILTYPE_OTHERS_BOOKMARKS_TIPS'); $types[] = array('OTHERS','etype_system_messaging','COM_COMMUNITY_EMAILTYPE_OTHERS_SYSTEMMSG','COM_COMMUNITY_EMAILTYPE_OTHERS_SYSTEMMSG_TIPS'); foreach ($types as $type){ $adminOnly=(isset($type[4])) ? $type[4] : FALSE; $this->addEmailType($type[0],$type[1],$type[2],$config->get($type[1],0),$type[3], $adminOnly); } } /** * Function to add new email type. * param - groupKey : string - the key of the group * - EmailTypeID : string - the unique key of the email type * - description : string - the label of the email type * - value : int - the configured value (enable/disable) of the email type * - tips : string - the tips of the email type */ public function addEmailType($groupKey, $EmailTypeID, $description='', $value=0, $tips='', $adminOnly=FALSE){ if(array_key_exists($groupKey, $this->_emailtypes)) { $tbGroup = $this->_emailtypes[strtoupper($groupKey)]; $child = new stdClass(); $child->description = $description; $child->value = $value; $child->tips = $tips; $child->adminOnly = $adminOnly; $tbGroup->child[$EmailTypeID] = $child; } } /** * Function to add new email group. * param - key : string - the key of the group * - description : string - the label of the group name */ public function addGroup($key, $description='', $adminOnly=FALSE) { if(! array_key_exists($key, $this->_emailtypes)) { $newGroup = new stdClass(); $newGroup->description = $description; $newGroup->child = array(); if($adminOnly) { $this->_adminonlygroups[$description] = $description; } $this->_emailtypes[strtoupper($key)] = $newGroup; } } /** * Function used to remove email group and its associated email types. * param - key : string - the key of the group */ public function removeGroup($key) { if(array_key_exists($key, $this->_emailtypes)) { unset($this->_emailtypes[strtoupper($key)]); } } /** * Function used to remove an email type * param - groupKey : string - the key of the group * - EmailTypeID : string - the unique key of the email type */ public function removeEmailType($groupKey, $EmailTypeID) { if(array_key_exists($groupKey, $this->_emailtypes)) { $tbGroup = $this->_emailtypes[strtoupper($groupKey)]; $childItem = $tbGroup->child; if (is_array($EmailTypeID)){ if(array_key_exists($EmailTypeID, $childItem)) { unset($childItem[$EmailTypeID]); } } } } /** * Function used to convert email types to params string */ public function convertToParamsString(){ $ret = ""; foreach($this->_emailtypes as $group){ foreach($group->child as $id => $type){ $ret .= $id . "=" . $type->value . "\n"; } } return $ret; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка