HEX
Server: Apache
System: Linux webm005.cluster114.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: epubdjye (129326)
PHP: 8.5.7
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/e/p/u/epubdjye/www17/old/modules/mod_acymailing/mod_acymailing.php
<?php
/**
 * @copyright	Copyright (C) 2009-2012 ACYBA SARL - All rights reserved.
 * @license		http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
 */
defined('_JEXEC') or die('Restricted access');
?>
<?php
if(!include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_acymailing'.DS.'helpers'.DS.'helper.php')){
	echo 'This module can not work without the AcyMailing Component';
	return;
};
$doc = JFactory::getDocument();
$config = acymailing_config();
switch($params->get('redirectmode','0')){
	case 1 :
		$redirectUrl = acymailing_completeLink('lists',false,true);
		$redirectUrlUnsub = $redirectUrl;
		break;
	case 2 :
		$redirectUrl = $params->get('redirectlink');
		$redirectUrlUnsub = $params->get('redirectlinkunsub');
		break;
	default :
		if(isset($_SERVER["REQUEST_URI"])){
			$requestUri = $_SERVER["REQUEST_URI"];
		}else{
		$requestUri = $_SERVER['PHP_SELF'];
		if (!empty($_SERVER['QUERY_STRING'])) $requestUri = rtrim($requestUri,'/').'?'.$_SERVER['QUERY_STRING'];
		}
	$redirectUrl = ((empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) != "on" ) ? 'http://' : 'https://').$_SERVER["HTTP_HOST"].$requestUri;
	$redirectUrlUnsub = $redirectUrl;
	if($params->get('effect','normal') == 'mootools-box') $redirectUrlUnsub = $redirectUrl = '';
}
$formName = acymailing_getModuleFormName();
if($params->get('effect') == 'mootools-box' AND JRequest::getString('tmpl') != 'component'){
	$mootoolsButton = $params->get('mootoolsbutton','');
	if(empty($mootoolsButton)){
		$lang = JFactory::getLanguage();
		$lang->load(ACYMAILING_COMPONENT,JPATH_SITE);
		$mootoolsButton = JText::_('SUBSCRIBE');
	}
	$mootoolsIntro = $params->get('mootoolsintro','');
	$moduleCSS = $config->get('css_module','default');
	if(!empty($moduleCSS)){
		$doc->addStyleSheet( ACYMAILING_CSS.'module_'.$moduleCSS.'.css' );
	}
	JHTML::_('behavior.modal','a.modal');
	require(JModuleHelper::getLayoutPath('mod_acymailing','popup'));
	return;
}
acymailing_initModule($params->get('includejs','header'),$params);
$userClass = acymailing_get('class.subscriber');
$identifiedUser = null;
if($params->get('loggedin',1)){
	$connectedUser = JFactory::getUser();
	if(!empty($connectedUser->email)){
		$identifiedUser = $userClass->get($connectedUser->email);
	}
}
$visibleLists = trim($params->get('lists','None'));
$hiddenLists = trim($params->get('hiddenlists','All'));
$visibleListsArray = array();
$hiddenListsArray = array();
$listsClass = acymailing_get('class.list');
if(empty($identifiedUser->subid)){
	$allLists = $listsClass->getLists('listid');
}else{
	$allLists = $userClass->getSubscription($identifiedUser->subid,'listid');
}
if(acymailing_level(1)){
	$allLists = $listsClass->onlyCurrentLanguage($allLists);
}
if(acymailing_level(3)){
	$my = JFactory::getUser();
	foreach($allLists as $listid => $oneList){
		if(!$allLists[$listid]->published) continue;
		if(!acymailing_isAllowed($oneList->access_sub)){
			$allLists[$listid]->published = false;
		}
	}
}
if(strpos($visibleLists,',') OR is_numeric($visibleLists)){
	$allvisiblelists = explode(',',$visibleLists);
	foreach($allLists as $oneList){
		if($oneList->published AND in_array($oneList->listid,$allvisiblelists)) $visibleListsArray[] = $oneList->listid;
	}
}elseif(strtolower($visibleLists) == 'all'){
	foreach($allLists as $oneList){
		if($oneList->published){$visibleListsArray[] = $oneList->listid;}
	}
}
if(strpos($hiddenLists,',') OR is_numeric($hiddenLists)){
	$allhiddenlists = explode(',',$hiddenLists);
	foreach($allLists as $oneList){
		if($oneList->published AND in_array($oneList->listid,$allhiddenlists)) $hiddenListsArray[] = $oneList->listid;
	}
}elseif(strtolower($hiddenLists) == 'all'){
	$visibleListsArray = array();
	foreach($allLists as $oneList){
		if(!empty($oneList->published)){$hiddenListsArray[] = $oneList->listid;}
	}
}
if(!empty($visibleListsArray) AND !empty($hiddenListsArray)){
	$visibleListsArray =  array_diff($visibleListsArray, $hiddenListsArray);
}
$visibleLists = $params->get('dropdown',0) ? '' : implode(',',$visibleListsArray);
$hiddenLists = implode(',',$hiddenListsArray);
if(!$params->get('dropdown',0) && empty($hiddenLists) && empty($visibleLists)){
	echo '<p style="color:red">Error : Please select some lists in your AcyMailing module configuration for the field "'.JText::_('AUTO_SUBSCRIBE_TO').'" </p>';
}
if(!empty($identifiedUser->subid)){
	$countSub = 0;
	$countUnsub = 0;
	foreach($visibleListsArray as $idOneList){
		if($allLists[$idOneList]->status == -1) $countSub++;
		elseif($allLists[$idOneList]->status == 1) $countUnsub++;
	}
	foreach($hiddenListsArray as $idOneList){
		if($allLists[$idOneList]->status == -1) $countSub++;
		elseif($allLists[$idOneList]->status == 1) $countUnsub++;
	}
}
$checkedLists = $params->get('listschecked','All');
if(strtolower($checkedLists) == 'all'){ $checkedListsArray = $visibleListsArray;}
elseif(strpos($checkedLists,',') OR is_numeric($checkedLists)){ $checkedListsArray = explode(',',$checkedLists);}
else{ $checkedListsArray = array();}
$nameCaption = $params->get('nametext',JText::_('NAMECAPTION'));
$emailCaption = $params->get('emailtext',JText::_('EMAILCAPTION'));
$displayOutside = $params->get('displayfields',0);
$displayInline = ($params->get('displaymode','vertical') == 'vertical') ? false : true;
$displayedFields = $params->get('customfields','name,email');
$fieldsToDisplay = explode(',',$displayedFields);
$extraFields = array();
if(acymailing_level(3)){
	$fieldsClass = acymailing_get('class.fields');
	$fieldsClass->prefix = 'user_';
	$fieldsClass->suffix = '_'.$formName;
	$extraFields = $fieldsClass->getFields('module',$identifiedUser);
	$newOrdering = array();
	$requiredFields = array();
	$validMessages = array();
	foreach($extraFields as $fieldnamekey => $oneField){
		if(in_array($fieldnamekey,$fieldsToDisplay)) $newOrdering[] = $fieldnamekey;
		if(in_array($oneField->type,array('text','date')) AND $params->get('fieldsize') AND (empty($extraFields[$fieldnamekey]->options['size']) || $params->get('fieldsize') < $extraFields[$fieldnamekey]->options['size'])){
			$extraFields[$fieldnamekey]->options['size'] = $params->get('fieldsize');
		}
		if(strlen($params->get($fieldnamekey.'text')) > 1){
			$extraFields[$fieldnamekey]->fieldname = $params->get($fieldnamekey.'text');
		}
		if(in_array($oneField->namekey,array('name','email'))) continue;
		if(!empty($oneField->required)){
			$requiredFields[] = $fieldnamekey;
			if(!empty($oneField->options['errormessage'])){
				$validMessages[] = addslashes($fieldsClass->trans($oneField->options['errormessage']));
			}else{
				$validMessages[] = addslashes(JText::sprintf('FIELD_VALID',$fieldsClass->trans($oneField->fieldname)));
			}
		}
	}
	$fieldsToDisplay = $newOrdering;
	if(!empty($requiredFields)){
		$js = "<!--
		acymailing['reqFields".$formName."'] = Array('".implode("','",$requiredFields)."');
		acymailing['validFields".$formName."'] = Array('".implode("','",$validMessages)."');
		//-->";
		if($params->get('includejs','header') == 'header'){
			$doc->addScriptDeclaration( $js );
		}else{
			echo "<script type=\"text/javascript\">
					$js
					</script>";
		}
	}
}
if(!in_array('email',$fieldsToDisplay)) $fieldsToDisplay[] = 'email';
if($params->get('effect') == 'mootools-slide' || $params->get('redirectmode',0) == '3'){
	JHTML::_('behavior.mootools');
}
if($params->get('effect') == 'mootools-slide'){
	$mootoolsButton = $params->get('mootoolsbutton','');
	if(empty($mootoolsButton)) $mootoolsButton = JText::_('SUBSCRIBE');
	$mootoolsIntro = $params->get('mootoolsintro','');
	$js = "<!--
			window.addEvent('domready', function(){
				var mySlide = new Fx.Slide('acymailing_fulldiv_$formName');
				mySlide.hide();
				$('acymailing_togglemodule_$formName').addEvent('click', function(e){
					e = new Event(e);
					if(mySlide.wrapper.offsetHeight == 0){
						$('acymailing_togglemodule_$formName').className = 'acymailing_togglemodule acyactive';
					}else{
						$('acymailing_togglemodule_$formName').className = 'acymailing_togglemodule';
					}
					mySlide.toggle();
					e.stop();
				});
			});
			//-->";
	if($params->get('includejs','header') == 'header'){
			$doc->addScriptDeclaration( $js );
	}else{
		echo "<script type=\"text/javascript\">
				$js
				</script>";
	}
}
if($params->get('overlay',0)){
	JHTML::_('behavior.tooltip');
}
if($params->get('showterms',false)){
	require_once JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php';
	$termsIdContent = $params->get('termscontent',0);
	if(empty($termsIdContent)){
		$termslink = JText::_('JOOMEXT_TERMS');
	}else{
		if(is_numeric($termsIdContent)){
			$db = JFactory::getDBO();
				if(version_compare(JVERSION,'1.6.0','<')){
					$query = 'SELECT a.id,a.alias,a.catid,a.sectionid, c.alias as catalias, s.alias as secalias FROM #__content as a ';
					$query .= ' LEFT JOIN #__categories AS c ON c.id = a.catid ';
					$query .= ' LEFT JOIN #__sections AS s ON s.id = a.sectionid ';
					$query .= 'WHERE a.id = '.$termsIdContent.' LIMIT 1';
					$db->setQuery($query);
					$article = $db->loadObject();
					$section = $article->sectionid. (!empty($article->secalias) ? ':'.$article->secalias : '');
					$category = $article->catid. (!empty($article->catalias) ? ':'.$article->catalias : '');
					$articleid = $article->id. (!empty($article->alias) ? ':'.$article->alias : '');
					$url = ContentHelperRoute::getArticleRoute($articleid,$category,$section);
				}else{
					$query = 'SELECT a.id,a.alias,a.catid, c.alias as catalias FROM #__content as a ';
					$query .= ' LEFT JOIN #__categories AS c ON c.id = a.catid ';
					$query .= 'WHERE a.id = '.$termsIdContent.' LIMIT 1';
					$db->setQuery($query);
					$article = $db->loadObject();
					$category = $article->catid. (!empty($article->catalias) ? ':'.$article->catalias : '');
					$articleid = $article->id. (!empty($article->alias) ? ':'.$article->alias : '');
					$url = ContentHelperRoute::getArticleRoute($articleid,$category);
				}
		}else{
			$url = $termsIdContent;
		}
		$url .= (strpos($url,'?') ? '&':'?').'tmpl=component';
		if($params->get('showtermspopup',1) == 1){
			JHTML::_('behavior.modal','a.modal');
			$termslink = '<a class="modal" title="'.JText::_('JOOMEXT_TERMS',true).'"  href="'.$url.'" rel="{handler: \'iframe\', size: {x: 650, y: 375}}">'.JText::_('JOOMEXT_TERMS').'</a>';
		}else{
			$termslink = '<a title="'.JText::_('JOOMEXT_TERMS',true).'"  href="'.$url.'" target="_blank">'.JText::_('JOOMEXT_TERMS').'</a>';
		}
	}
}
if($params->get('displaymode') == 'tableless'){
	require(JModuleHelper::getLayoutPath('mod_acymailing','tableless'));
}else{
	require(JModuleHelper::getLayoutPath('mod_acymailing'));
}