| Current Path : /home/antonen/keliauk-uk.lt/modules/mod_qlform/php/classes/ |
| Current File : /home/antonen/keliauk-uk.lt/modules/mod_qlform/php/classes/modQlformJmessages.php |
<?php
/**
* @package mod_qlform
* @copyright Copyright (C) 2017 ql.de All rights reserved.
* @author Mareike Riegel mareike.riegel@ql.de
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
class modQlformJmessages
{
/**
* method for mailing using JoomlaMailer
*
* @param string $to recipient of mail
* @param string $subject for mail
* @param array $data post data from form
*
* @return bool True on success, false on failure
*/
public function __construct()
{
$this->db=new modQlformDatabase();
}
/**
* method for mailing using JoomlaMailer
*
* @param string $to recipient of mail
* @param string $subject for mail
* @param array $data post data from form
*
* @return bool True on success, false on failure
*/
public function save($data)
{
$this->db->save('#__messages',$data);
return true;
}
/**
* method to generate headline and body of mail
*
* @param array $data
* @param string $subject
*/
public function getData($recipient,$sender,$subject,$message)
{
$data=array();
$data['user_id_from']=$sender;
$data['user_id_to']=$recipient;
$data['subject']=$subject;
$data['message']=$message;
$data['state']=0;
$data['date_time']=date('Y-m-d H:i:s');
$data['priority']=0;
return $data;
}
/**
* Method to check validation of e-mail address
*
* @param string $str wouldbe-email address
* @return bool true on success; false on failure
*/
public function getDataAsString($data,$strtype='html',$separator='#')
{
switch ($strtype)
{
case 'bare':
$data=$this->subarrayToJson($data);
$str='';
foreach($data as $k=>$v)$str.='<div><strong>'.$k.'</strong></div><div>'.$v.'</div><p />';
break;
case 'implode':
$str=$this->getImplode($data,$separator);
break;
case 'dump':
$str=$this->dump($data);
break;
case 'serialize':
$str=$this->getSerialize($data);
break;
case 'html':
$str=$this->getHtml($data);
break;
case 'json':
default :
$str=json_encode($data);
break;
}
return $str;
}
public function getSubject($subject,$data,$subject2)
{
$arr=explode(',',$subject2);
if(!is_array($arr) OR 0==count($arr))return $subject;
foreach($arr as $k=>$v)if(isset($data[trim($v)]))
{
$v=trim($v);
if(isset($data[$v]) AND is_string($data[$v]['data']))$subject.=' - '.$data[$v]['data'];
else $subject.=' - '.json_encode($data[$v]);
}
return $subject;
}
/**
* method to turn subarray into string via json_encode
*
* @param array $array multidimensional array
* @return array $array array containing subarray as jsonified strings
*/
function getHtml($array)
{
$arr=array();
$separator='<br />';
while(list($k,$v)=each($array))
{
$arr[]='<strong>'.$v['label'].'</strong>';
$arr[]=$v['data'].$separator;
}
return implode($separator,$arr);
}
/**
* method to turn subarray into string via json_encode
*
* @param array $array multidimensional array
* @return array $array array containing subarray as jsonified strings
*/
function getImplode($array,$separator)
{
$arr=array();
while(list($k,$v)=each($array))
{
$arr[]=$v['label'].$separator.$v['data'];
}
$str=implode($separator,$arr);
return $str;
}
/**
* method to turn subarray into string via json_encode
*
* @param array $array multidimensional array
* @return array $array array containing subarray as jsonified strings
*/
function getSerialize($array)
{
while(list($k,$v)=each($array))unset($array[$k]['name']);
return serialize($array);
}
/**
* method to turn subarray into string via json_encode
*
* @param array $array multidimensional array
* @return array $array array containing subarray as jsonified strings
*/
function subarrayToJson($array)
{
if (is_array($array)) while (list($k,$v)=each($array)) if (is_array($v)) $array[$k]=json_encode($v);
return $array;
}
/**
* method to turn content vor array or object to string
* that the developer of this module could never have guessed
*
* @param mixed $variable at your service
*/
function dump($data,$type='var_dump')
{
while(list($k,$v)=each($data))unset($data[$k]['name']);
if ('var_dump'==$type)
{
ob_start();
var_dump($data);
$str_data=ob_get_contents();
ob_end_clean();
}
elseif ('foreachstring'==$type)
{
$str_data='';
foreach ($data as $k=>$v)
{
$str_data.='col['.$v['label'].']=>'.$v['data'].'<br />';
}
}
return $str_data;
}
}