/**
 * This source file is is part of Saurus CMS content management software.
 * It is licensed under MPL 1.1 (http://www.opensource.org/licenses/mozilla1.1.php).
 * Copyright (C) 2000-2010 Saurused Ltd (http://www.saurus.info/).
 * Redistribution of this file must retain the above copyright notice.
 * 
 * Please note that the original authors never thought this would turn out
 * such a great piece of software when the work started using Perl in year 2000.
 * Due to organic growth, you may find parts of the software being
 * a bit (well maybe more than a bit) old fashioned and here's where you can help.
 * Good luck and keep your open source minds open!
 * 
 * @package		SaurusCMS
 * @copyright	2000-2010 Saurused Ltd (http://www.saurus.info/)
 * @license		Mozilla Public License 1.1 (http://www.opensource.org/licenses/mozilla1.1.php)
 * 
 */
function smarty_function_init_articlelist($params, &$smarty)
{
    global $site;
    if (!function_exists('smarty_function_init_articles')) {
        require_once $smarty->_get_plugin_filepath('function', 'init_articles');
    }
    smarty_function_init_articles($params, &$smarty);
}
/**
 * This source file is is part of Saurus CMS content management software.
 * It is licensed under MPL 1.1 (http://www.opensource.org/licenses/mozilla1.1.php).
 * Copyright (C) 2000-2010 Saurused Ltd (http://www.saurus.info/).
 * Redistribution of this file must retain the above copyright notice.
 * 
 * Please note that the original authors never thought this would turn out
 * such a great piece of software when the work started using Perl in year 2000.
 * Due to organic growth, you may find parts of the software being
 * a bit (well maybe more than a bit) old fashioned and here's where you can help.
 * Good luck and keep your open source minds open!
 * 
 * @package		SaurusCMS
 * @copyright	2000-2010 Saurused Ltd (http://www.saurus.info/)
 * @license		Mozilla Public License 1.1 (http://www.opensource.org/licenses/mozilla1.1.php)
 * 
 */
function smarty_function_init_events($params, &$smarty)
{
    global $site;
    extract($params);
    if (!$name) {
        $name = "eventlist";
    }
    if (!$order) {
        $order = "starttime DESC";
    }
    if (!$start_time) {
        $start_time = date('d.m.Y');
    }
    if (!$end_time) {
        $end_time = date('d.m.Y', strtotime(substr($start_time, 6, 4) . '-' . substr($start_time, 3, 2) . '-' . substr($start_time, 0, 2)));
    }
    if (!function_exists('smarty_function_init_articles')) {
        require_once $smarty->_get_plugin_filepath('function', 'init_articles');
    }
    if (!function_exists('smarty_function_init_article')) {
        require_once $smarty->_get_plugin_filepath('function', 'init_article');
    }
    if ($start_time == $end_time) {
        $selection = $site->db->prepare('((obj_artikkel.starttime between obj_artikkel.starttime and ?) and (obj_artikkel.endtime between ? and obj_artikkel.endtime))', $site->db->ee_MySQL($start_time));
    } else {
        $selection = $site->db->prepare('((obj_artikkel.starttime between ? and ?) or (obj_artikkel.endtime between ? and ?))', $site->db->ee_MySQL($start_time), $site->db->ee_MySQL($end_time), $site->db->ee_MySQL($start_time), $site->db->ee_MySQL($end_time));
    }
    // replace events with articles
    smarty_function_init_articles(array('name' => $name, 'parent' => $params['parent'], 'position' => $params['position'], 'buttons' => $params['buttons'], 'on_create' => $params['on_create'], 'profile' => 'converted_event', 'where' => ($params['where'] ? '(' . $params['where'] . ') AND ' : '') . $selection, 'start' => $params['start'], 'limit' => $params['limit'], 'order' => $order), &$smarty);
    $events = $smarty->get_template_vars($name);
    foreach ($events as $i => $event) {
        smarty_function_init_article(array('name' => md5($i), 'id' => $event->id), &$smarty);
        $article = $smarty->get_template_vars(md5($i));
        // add article content as the event description
        $events[$i]->description = $article->lead . $article->body;
        // add start and end attributes
        $start_date = explode(' ', $site->db->MySQL_ee_long($event->starttime));
        $events[$i]->start_date = $start_date['0'];
        $events[$i]->start_time = $start_date['1'];
        $end_date = explode(' ', $site->db->MySQL_ee_long($event->endtime));
        $events[$i]->end_date = $end_date['0'];
        $events[$i]->end_time = $end_date['1'];
    }
    $smarty->assign($name, $events);
}