Sindbad~EG File Manager
<?php
/*
* @package Joomla 3.4
* Flexible Odometer module
* @copyright Copyright (C) Adrien Roussel https://www.nordmograph.com/extensions
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
class modFlexibleTimelineHelper {
static function getList($params)
{
$db = JFactory::getDBO();
$user = JFactory::getUser();
$lang = JFactory::getLanguage();
$mode = $params->get('mode','expert');
$expert_query = $params->get('expert_query');
$static_data = $params->get('static_data');
$date_column = $params->get('date_column','created_on');
$id_column = $params->get('id_column','id');
$catid_column = $params->get('catid_column','id');
$title_column = $params->get('title_column','title');
$alias_column = $params->get('alias_column','');
$description_column = $params->get('description_column','');
$image_column = $params->get('image_column','');
$lat_column = $params->get('lat_column','');
$lng_column = $params->get('lng_column','');
$visual = $params->get('visual','icon');
$wizard_table = $params->get('wizard_table','#__content');
$wizard_condition_column = $params->get('wizard_condition_column','');
$wizard_condition_compare = $params->get('wizard_condition_compare','');
$wizard_condition_value = $params->get('wizard_condition_value','');
$orderby_column = $params->get('orderby_column', 'created');
$orderby_direction = $params->get('orderby_direction', 'DESC');
$limit = $params->get('limit', '5');
$ignore_past = $params->get('ignore_past', 0);
$debug = $params->get('debug', 0);
if($mode=='static')
{
//1;10 jan 2019;Great Event;Yes truely a great event;1.jpg;index.php;latitude;longitude
$items = explode('|' , $static_data );
for($i = 0; $i<count($items);$i++)
{
$data = explode(';' , $items[$i] );
@$return[$i]->id = trim($data[0]);
$return[$i]->date = $data[1];
$return[$i]->title = $data[2];
$return[$i]->description = $data[3];
$return[$i]->image = str_replace("'","",$data[4] );
$return[$i]->url = trim($data[5]);
$return[$i]->latitude = trim($data[6]);
$return[$i]->longitude = trim($data[7]);
}
}
else
{
if($mode=='expert')
{
$userid = $user->id;
$langtag = $lang->getTag();
$expert_query = str_replace('[USERID]', $userid, $expert_query);
$expert_query = str_replace('[LANGTAG]', $langtag, $expert_query);
$q = $expert_query;
}
elseif($mode=='wizard')
{
$q = "SELECT ";
$q .= $id_column." AS id, ".$db->qn($title_column)." AS title, ".$db->qn($date_column)." AS date ";
if($alias_column)
$q .= ",".$db->qn($alias_column)." AS alias ";
if($description_column)
$q .= ", ".$db->qn($description_column)." AS description ";
if($catid_column)
$q .= ",".$db->qn($catid_column)." AS catid ";
if($image_column && $visual=='image')
$q .= ",".$db->qn($image_column)." AS image ";
$q .= ",".$db->qn($lat_column)." AS latitude ";
$q .= ",".$db->qn($lng_column)." AS longitude ";
$q .= "FROM ".$wizard_table." WHERE 1=1 ";
if($wizard_condition_column && $wizard_condition_compare && $wizard_condition_value)
{
$q .= " AND ".$wizard_condition_column." ";
$q .= $wizard_condition_compare." ";
$q .= $wizard_condition_value;
}
if($ignore_past)
$q .= " AND ".$date_column.">NOW() ";
$q .= " ORDER BY ".$orderby_column." ".$orderby_direction;
echo $q .= " LIMIT ".$limit;
}
else
$q = modFlexibleTimelineHelper::getPresetQuery($mode,$orderby_direction,$limit);
if($debug)
echo 'DEBUG QUERY:<br /><br />'.$q .'<br /><br />DEBUG RESULT: ';
$db->setQuery($q);
$return = $db->loadObjectList();
}
return $return;
}
static function getPresetQuery($mode,$orderby_direction,$limit)
{
$lang = JFactory::getLanguage();
$user = JFactory::getUser();
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$groups = $user->get('groups');
if($mode=='preset_content_latest')
{
$q = "SELECT DISTINCT(c.created) AS date, c.id, c.catid, c.title , c.alias, c. introtext AS description, c.images AS image
FROM #__content c
JOIN #__viewlevels v ON c.access = v.id
WHERE c.state='1' AND (c.language='*' OR c.language='".$lang->getTag()."')
AND c.catid!='2'
GROUP BY c.created ORDER BY c.created ";
}
elseif($mode=='preset_content_latest_catfiltered')
{
$catid = $app->input->getInt('catid','');
$q = "SELECT DISTINCT(c.created) AS date, c.id, c.catid, c.title , c.alias, c. introtext AS description, c.images AS image
FROM #__content c
JOIN #__viewlevels v ON c.access = v.id
WHERE c.state='1' AND (c.language='*' OR c.language='".$lang->getTag()."')
AND c.catid=".$db->q($catid)."
GROUP BY c.created ORDER BY c.created ";
}
elseif($mode=='preset_easyblog_latestposts')
{
$q = "SELECT id AS id, category_id AS catid, title AS title ,
permalink AS alias, intro AS description, created AS date , image AS image
FROM #__easyblog_post WHERE published='1'
AND (language='*' OR language='' OR language='".$lang->getTag()."')
ORDER BY created ";
}
elseif($mode=='preset_jem_upcoming')
{
$q = "SELECT id AS id, CONCAT(dates,' ', times) AS date, title AS title ,
alias AS alias, introtext AS description
FROM #__jem_events WHERE published='1'
AND (language='*' OR language='' OR language='".$lang->getTag()."')
HAVING date>NOW() ORDER BY id ";
}
elseif($mode=='preset_jevents_upcoming')
{
$q = "SELECT d.evdet_id AS id, FROM_UNIXTIME(d.dtstart) AS date, d.summary AS title ,
d.summary AS alias, d.description AS description
FROM #__jevents_vevdetail d
JOIN #__jevents_vevent e ON e.detail_id = d.evdet_id
WHERE d.state='1' AND e.state='1'
HAVING date>NOW() ORDER BY d.evdet_id ";
}
elseif($mode=='preset_easysocial_upcomingevents')
{
$q = "SELECT sc.id AS id, sc.title AS title ,
sc.alias , sc.description , sc.category_id AS catid, sem.start AS date
FROM #__social_clusters sc
JOIN #__social_events_meta sem ON sem.cluster_id = sc.id
WHERE sc.state='1' AND sc.cluster_type='event'
HAVING date>NOW() ORDER BY sem.start ";
}
elseif($mode=='preset_jomsocial_upcomingevents')
{
$q = "SELECT id AS id, startdate AS date, title AS title ,
title AS alias, description , catid, avatar AS image
FROM #__community_events WHERE published='1'
HAVING date>NOW() ORDER BY startdate ";
}
$q .= $orderby_direction;
$q .= " LIMIT ".$limit;
return $q;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists