uawdijnntqw1x1x1
IP : 216.73.216.219
Hostname : webm015.cluster127.gra.hosting.ovh.net
Kernel : Linux webm015.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
pteabiscqq
/
www
/
plugins
/
acymailing
/
tagcbuser
/
.
/
tagcbuser.php
/
/
<?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
/home/pteabiscqq/www/plugins/acymailing/tagcbuser/./tagcbuser.php