Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/tagcbuser.zip
Назад
PK H�!]җ5�� � tagcbuser.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="2.5" method="upgrade" group="acymailing"> <name>AcyMailing Tag and filter : Community Builder</name> <creationDate>September 2009</creationDate> <version>3.7.2</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add information from the CB Profile of the user in your newsletters. It also allows you to filter the users based on CB fields and modify these field values</description> <files> <filename plugin="tagcbuser">tagcbuser.php</filename> </files> <params addpath="/components/com_acymailing/params"> <param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcbuser"/> <param name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </param> </params> <config> <fields name="params" addfieldpath="/components/com_acymailing/params"> <fieldset name="basic"> <field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-tagcbuser"/> <field name="frontendaccess" type="list" default="all" label="Front-end Access" description="You can restrict the access to this tag system with this option"> <option value="all">Always display this tag system</option> <option value="none">Don't display this tag system on the front-end</option> </field> </fieldset> </fields> </config> </extension> PK H�!]-kEx3 x3 tagcbuser.phpnu &1i� <?php /** * @package AcyMailing for Joomla! * @version 5.6.1 * @author acyba.com * @copyright (C) 2009-2017 ACYBA S.A.R.L. All rights reserved. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); ?><?php class plgAcymailingTagcbuser extends JPlugin{ var $sendervalues = array(); function __construct(&$subject, $config){ parent::__construct($subject, $config); if(!isset($this->params)){ $plugin = JPluginHelper::getPlugin('acymailing', 'tagcbuser'); $this->params = new JParameter($plugin->params); } } function acymailing_getPluginType(){ $app = JFactory::getApplication(); if(!file_exists(ACYMAILING_ROOT.'components'.DS.'com_comprofiler'.DS.'comprofiler.php')) return; if($this->params->get('frontendaccess') == 'none' && !$app->isAdmin()) return; $onePlugin = new stdClass(); $onePlugin->name = JText::_('CB User'); $onePlugin->function = 'acymailingtagcb_show'; $onePlugin->help = 'plugin-tagcbuser'; return $onePlugin; } function onAcyDisplayFilters(&$type, $context = "massactions"){ if($this->params->get('displayfilter_'.$context, true) == false) return; if(!file_exists(ACYMAILING_ROOT.'components'.DS.'com_comprofiler'.DS.'comprofiler.php')) return; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__comprofiler'); if(empty($fields)) return; $db->setQuery('SELECT name,title FROM #__comprofiler_fields WHERE `table` LIKE '.$db->Quote('#__comprofiler')); $fieldTitles = $db->loadObjectList('name'); $languages = array(); if(file_exists(JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'language.php')){ if(!defined('CBLIB')) include_once(JPATH_SITE.DS.'libraries/CBLib/CB/Application/CBApplication.php'); $languages = include_once JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'language.php'; }elseif(file_exists(JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'default_language.php')){ include_once JPATH_SITE.DS.'components'.DS.'com_comprofiler'.DS.'plugin'.DS.'language'.DS.'default_language'.DS.'default_language.php'; } ksort($fields); $cbfield = array(); foreach($fields as $oneField => $fieldType){ $text = $oneField; if(!empty($fieldTitles[$oneField])){ if(!empty($languages[$fieldTitles[$oneField]->title])){ $text .= ' ('.$languages[$fieldTitles[$oneField]->title].')'; }else{ if(defined($fieldTitles[$oneField]->title)){ $text .= ' ('.constant($fieldTitles[$oneField]->title).')'; }else $text .= ' ('.$fieldTitles[$oneField]->title.')'; } } $cbfield[] = JHTML::_('select.option', $oneField, $text); } $type['cbfield'] = JText::_('CB_FIELD'); $operators = acymailing_get('type.operators'); $operators->extra = 'onchange="countresults(__num__)"'; $return = '<div id="filter__num__cbfield">'.JHTML::_('select.genericlist', $cbfield, "filter[__num__][cbfield][map]", 'class="inputbox" size="1" onchange="countresults(__num__)"', 'value', 'text'); $return .= ' '.$operators->display("filter[__num__][cbfield][operator]").' <input onchange="countresults(__num__)" class="inputbox" type="text" name="filter[__num__][cbfield][value]" style="width:200px" value="" /></div>'; return $return; } function onAcyProcessFilter_cbfield(&$query, $filter, $num){ $query->leftjoin['cbfield'] = '#__comprofiler AS cbfield ON cbfield.id = sub.userid'; $query->where[] = $query->convertQuery('cbfield', $filter['map'], $filter['operator'], $filter['value']); } function onAcyProcessFilterCount_cbfield(&$query, $filter, $num){ $this->onAcyProcessFilter_cbfield($query, $filter, $num); return JText::sprintf('SELECTED_USERS', $query->count()); } function acymailingtagcb_show(){ ?> <script language="javascript" type="text/javascript"> function applyTag(tagname){ var string = '{cbtag:' + tagname; for(var i = 0; i < document.adminForm.typeinfo.length; i++){ if(document.adminForm.typeinfo[i].checked){ string += '|info:' + document.adminForm.typeinfo[i].value; } } string += '}'; setTag(string); insertTag(); } </script> <?php $typeinfo = array(); $typeinfo[] = JHTML::_('select.option', "receiver", JText::_('RECEIVER_INFORMATION')); $typeinfo[] = JHTML::_('select.option', "sender", JText::_('SENDER_INFORMATIONS')); echo JHTML::_('acyselect.radiolist', $typeinfo, 'typeinfo', '', 'value', 'text', 'receiver'); $text = '<table class="acymailing_table" cellpadding="1">'; $db = JFactory::getDBO(); $fields = acymailing_getColumns('#__comprofiler'); $db->setQuery('SELECT name,type FROM #__comprofiler_fields'); $fieldType = $db->loadObjectList('name'); $k = 0; $text .= '<tr style="cursor:pointer" class="row1" onclick="applyTag(\'thumb\');" ><td class="acytdcheckbox"></td><td>Thumb Avatar</td></tr>'; foreach($fields as $fieldname => $oneField){ $type = ''; if(strpos(strtolower($oneField), 'date') !== false) $type = '|type:date'; if(!empty($fieldType[$fieldname]) AND $fieldType[$fieldname]->type == 'image') $type = '|type:image'; $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\''.$fieldname.$type.'\');" ><td class="acytdcheckbox"></td><td>'.$fieldname.'</td></tr>'; $k = 1 - $k; } $db->setQuery("SELECT * FROM #__comprofiler_fields WHERE tablecolumns = '' AND published = 1"); $otherFields = $db->loadObjectList(); foreach($otherFields as $oneField){ $text .= '<tr style="cursor:pointer" class="row'.$k.'" onclick="applyTag(\'cbapi_'.$oneField->name.'\');" ><td class="acytdcheckbox"></td><td>'.$oneField->name.'</td></tr>'; $k = 1 - $k; } $text .= '</table>'; echo $text; } function acymailing_replaceusertags(&$email, &$user, $send = true){ $match = '#(?:{|%7B)cbtag:(.*)(?:}|%7D)#Ui'; $variables = array('subject', 'body', 'altbody'); $found = false; foreach($variables as $var){ if(empty($email->$var)) continue; $found = preg_match_all($match, $email->$var, $results[$var]) || $found; if(empty($results[$var][0])) unset($results[$var]); } if(!$found) return; $uservalues = null; $db = JFactory::getDBO(); if(!empty($user->userid)){ $db->setQuery('SELECT * FROM '.acymailing_table('comprofiler', false).' WHERE user_id = '.$user->userid.' LIMIT 1'); $uservalues = $db->loadObject(); } $db->setQuery('SELECT fieldid, `table`, name, type, params FROM #__comprofiler_fields'); $fieldObjects = $db->loadObjectList('name'); include_once(ACYMAILING_ROOT.'administrator'.DS.'components'.DS.'com_comprofiler'.DS.'plugin.foundation.php'); cbimport('cb.database'); $pluginsHelper = acymailing_get('helper.acyplugins'); $currentCBUser = null; $tags = array(); foreach($results as $var => $allresults){ foreach($allresults[0] as $i => $oneTag){ if(isset($tags[$oneTag])) continue; $arguments = explode('|', $allresults[1][$i]); $field = $arguments[0]; unset($arguments[0]); $mytag = new stdClass(); $mytag->default = $this->params->get('default_'.$field, ''); if(!empty($arguments)){ foreach($arguments as $onearg){ $args = explode(':', $onearg); if(isset($args[1])){ $mytag->{$args[0]} = $args[1]; }else{ $mytag->{$args[0]} = 1; } } } $values = new stdClass(); if(!empty($mytag->info) AND $mytag->info == 'sender'){ if(empty($this->sendervalues[$email->mailid]) AND !empty($email->userid)){ $db->setQuery('SELECT * FROM #__comprofiler WHERE user_id = '.$email->userid.' LIMIT 1'); $this->sendervalues[$email->mailid] = $db->loadObject(); } if(!empty($this->sendervalues[$email->mailid])) $values = $this->sendervalues[$email->mailid]; }else{ $values = $uservalues; } if(substr($field, 0, 6) == 'cbapi_'){ if(!empty($mytag->info) AND $mytag->info == 'sender'){ if(empty($this->sendervalues[$email->mailid]->$field) AND !empty($email->userid)){ $currentSender = CBuser::getInstance($email->userid); $values->$field = $currentSender->getField(substr($field, 6), $mytag->default, 'html', 'none', 'profile', 0, true); $this->sendervalues[$email->mailid]->$field = $values->$field; }elseif(!empty($this->sendervalues[$email->mailid]->$field)){ $values->$field = @$this->sendervalues[$email->mailid]->$field; } }elseif(!empty($user->userid)){ if(empty($currentCBUser)) $currentCBUser = CBuser::getInstance($user->userid); if(!empty($currentCBUser)) $values->$field = $currentCBUser->getField(substr($field, 6), $mytag->default, 'html', 'none', 'profile', 0, true); if(empty($values->$field) && !empty($fieldObjects[substr($field, 6)]) && $fieldObjects[substr($field, 6)]->type == 'progress'){ $fieldObjects[substr($field, 6)]->decodedParams = json_decode($fieldObjects[substr($field, 6)]->params); if(!empty($fieldObjects[substr($field, 6)]->decodedParams->prg_fields)){ $requiredFields = explode('|*|', $fieldObjects[substr($field, 6)]->decodedParams->prg_fields); $filled_in = 0; foreach($fieldObjects as $oneField){ if(!in_array($oneField->fieldid, $requiredFields) || !in_array($oneField->table, array('#__comprofiler', '#__users'))) continue; $fieldName = $oneField->name; if(!empty($currentCBUser->_cbuser->$fieldName)) $filled_in++; } $values->$field = intval(($filled_in * 100) / count($requiredFields)).'%'; } } } } $replaceme = isset($values->$field) ? $values->$field : $mytag->default; if(!empty($mytag->type)){ if($mytag->type == 'image' AND !empty($replaceme)){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/'.$replaceme.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; } } if($field == 'thumb'){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/tn'.$values->avatar.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; }elseif($field == 'avatar'){ $replaceme = '<img src="'.ACYMAILING_LIVE.'images/comprofiler/'.$values->avatar.'" alt="'.htmlspecialchars(@$user->name, ENT_COMPAT, 'UTF-8').'" />'; } $tags[$oneTag] = $replaceme; $pluginsHelper->formatString($tags[$oneTag], $mytag); } } foreach($results as $var => $allresults){ $email->$var = str_replace(array_keys($tags), $tags, $email->$var); } } function onAcyDisplayActions(&$type){ $fields = acymailing_getColumns('#__comprofiler'); $field = array(); $field[] = JHTML::_('select.option', 0, '- - -'); foreach($fields as $oneField => $fieldType){ if(in_array($oneField, array('id', 'user_id', 'hits', 'message_last_sent', 'message_number_sent', 'canvas', 'cbactivation'))) continue; $field[] = JHTML::_('select.option', $oneField, $oneField); } $content = '<div id="action__num__cbfieldval">'.JHTML::_('select.genericlist', $field, "action[__num__][cbfieldval][map]", 'class="inputbox" size="1"', 'value', 'text'); $content .= ' = <input class="inputbox" type="text" id="action__num__cbfieldvalvalue" name="action[__num__][cbfieldval][value]" style="width:200px" value=""></div>'; $type['cbfieldval'] = 'Community Builder: '.jtext::_('FIELD'); return $content; } function onAcyProcessAction_cbfieldval($cquery, $action, $num){ $replace = array('{year}', '{month}', '{weekday}', '{day}', '{hour}', '{minute}'); $replaceBy = array(date('Y'), date('m'), date('N'), date('d'), date('H'), date('i')); $newValue = str_replace($replace, $replaceBy, acymailing_replaceDate($action['value'])); if(preg_match_all('#{(year|month|weekday|day)\|(add|remove):([^}]*)}#Uis', $newValue, $results)){ foreach($results[0] as $i => $oneMatch){ $format = str_replace(array('year', 'month', 'weekday', 'day'), array('Y','m','N','d'), $results[1][$i]); $delay = str_replace(array('add', 'remove'), array('+', '-'), $results[2][$i]).intval($results[3][$i]).' '.str_replace('weekday', 'day', $results[1][$i]); $newValue = str_replace($oneMatch, date($format, strtotime($delay)), $newValue); } } if(empty($action['operator'])) $action['operator'] = '='; $fields = array_keys(acymailing_getColumns('#__comprofiler')); if(!in_array($action['map'], $fields)) return 'Unexisting field: '.$action['map'].' | The available fields are: '.implode(', ', $fields); $query = 'UPDATE #__comprofiler AS cb JOIN #__acymailing_subscriber AS sub ON cb.user_id = sub.userid'; if(!empty($cquery->join)) $query .= ' JOIN '.implode(' JOIN ', $cquery->join); if(!empty($cquery->leftjoin)) $query .= ' LEFT JOIN '.implode(' LEFT JOIN ', $cquery->leftjoin); $query .= " SET cb.`".acymailing_secureField($action['map'])."` = ".$cquery->db->Quote($newValue); if(!empty($cquery->where)) $query .= ' WHERE ('.implode(') AND (', $cquery->where).')'; $cquery->db->setQuery($query); $cquery->db->query(); $nbAffected = $cquery->db->getAffectedRows(); return JText::sprintf('NB_MODIFIED', $nbAffected); } }//endclass PK H�!]�#o, , index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK H�!]�!��q q tagcbuser_j30.xmlnu &1i� <?xml version="1.0" encoding="utf-8"?> <extension type="plugin" version="3.0" method="upgrade" group="acymailing"> <name>AcyMailing Tag and filter : Community Builder</name> <creationDate>September 2009</creationDate> <version>3.7.2</version> <author>Acyba</author> <authorEmail>dev@acyba.com</authorEmail> <authorUrl>http://www.acyba.com</authorUrl> <copyright>Copyright (C) 2009-2016 ACYBA SAS - All rights reserved..</copyright> <license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license> <description>This plugin enables you to add information from the CB Profile of the user in your newsletters. It also allows you to filter the users based on CB fields and modify these field values</description> <files> <filename plugin="tagcbuser">tagcbuser.php</filename> <filename>tagcbuser.xml</filename> <filename>index.html</filename> </files> </extension> PK H�!]җ5�� � tagcbuser.xmlnu &1i� PK H�!]-kEx3 x3 � tagcbuser.phpnu &1i� PK H�!]�#o, , y; index.htmlnu &1i� PK H�!]�!��q q �; tagcbuser_j30.xmlnu &1i� PK 5 �?
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка