Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/news/components/com_jevents/libraries/ |
Upload File : |
<?php /** * JEvents Component for Joomla 1.5.x * * @version $Id: jeventshtml.php 1400 2009-03-30 08:45:17Z geraint $ * @package JEvents * @copyright Copyright (C) 2008-2009 GWE Systems Ltd, 2006-2008 JEvents Project Group * @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html * @link http://www.jevents.net */ defined( '_JEXEC' ) or die( 'Restricted access' ); // TODO replace with JDate class JEventsHTML{ function buildRadioOption( $arr, $tag_name, $tag_attribs, $key, $text, $selected ) { $html = ''; //"\n<div name=\"$tag_name\" $tag_attribs>"; for( $i=0, $n=count( $arr ); $i < $n; $i++ ) { $k = $arr[$i]->$key; $t = $arr[$i]->$text; $sel = ''; if( is_array( $selected )) { foreach( $selected as $obj ) { $k2 = $obj->$key; if( $k == $k2 ) { $sel = ' checked="checked"'; break; } } }else{ $sel = ( $k == $selected ? ' checked="checked"' : '' ); } $html .= "\n\t" . '<input name="' . $tag_name . '" type="radio" value="' . $k . '" id="' . $tag_name . $k . '"' . $sel . ' ' . $tag_attribs . ' />' . "\n" . '<label for="' . $tag_name . $k . '">' . $t . '</label>' . "\n" ; } //$html .= "\n</select>\n"; return $html; } function buildReccurDaySelect( $reccurday, $tag_name, $args ) { // get array $day_name = JEVHelper::getWeekdayLetter(null, 1); $day_name[0] = '<span class="sunday">' . $day_name[0] . '</span>'; $day_name[6] = '<span class="saturday">' . $day_name[6] . '</span>'; $daynamelist[] = JHTML::_('select.option', '-1', ' ' . JText::_('JEV_BYDAYNUMBER') . '<br />' ); for( $a=0; $a<7; $a++ ){ $name_of_day = ' ' . $day_name[$a]; //getDayName($a); $daynamelist[] = JHTML::_('select.option', $a, $name_of_day ); } $tosend = JEventsHTML::buildRadioOption( $daynamelist, $tag_name, $args, 'value', 'text', $reccurday ); echo $tosend; } function buildMonthSelect( $month, $args ){ for( $a=1; $a<13; $a++ ){ $mnh = $a; if( $mnh <= '9' & ereg( "(^[0-9]{1})", $mnh )) { $mnh = '0' . $mnh; } $name_of_month = JEVHelper::getMonthName($mnh); $monthslist[] = JHTML::_('select.option', $mnh, $name_of_month ); } $tosend = JHTML::_('select.genericlist', $monthslist, 'month', $args, 'value', 'text', $month ); echo $tosend; } function buildDaySelect( $year, $month, $day, $args ){ $nbdays = date( 'd', mktime( 0, 0, 0, ( $month + 1 ), 0, $year )); for( $a=1; $a<=$nbdays; $a++ ) { //32 $dys = $a; if( $dys <= '9' & ereg( "(^[1-9]{1})", $dys )) { $dys = '0' . $dys; } $dayslist[] = JHTML::_('select.option', $dys, $dys ); } $tosend = JHTML::_('select.genericlist', $dayslist, 'day', $args, 'value', 'text', $day ); echo $tosend; } function buildYearSelect( $year, $args ){ $y = date( 'Y' ); if( $year < $y-2 ){ $yearslist[] = JHTML::_('select.option', $year, $year ); } for( $i = $y-2; $i <= $y+5; $i++ ){ $yearslist[] = JHTML::_('select.option', $i, $i ); } if( $year > $y+5 ){ $yearslist[] = JHTML::_('select.option', $year, $year ); } $tosend = JHTML::_('select.genericlist', $yearslist, 'year', $args, 'value', 'text', $year ); echo $tosend; } function buildViewSelect( $viewtype, $args ) { $cfg = & JEVConfig::getInstance(); $viewlist[] = JHTML::_('select.option', 'day.listevents', JText::_('JEV_VIEWBYDAY') ); $viewlist[] = JHTML::_('select.option', 'week.listevents', JText::_('JEV_VIEWBYWEEK') ); $viewlist[] = JHTML::_('select.option', 'month.calendar', JText::_('JEV_VIEWBYMONTH') ); $viewlist[] = JHTML::_('select.option', 'year.listevents', JText::_('JEV_VIEWBYYEAR') ); if ($cfg->get('com_hideshowbycats', 0) == '0') { $viewlist[] = JHTML::_('select.option', 'cat.listevents', JText::_('JEV_VIEWBYCAT') ); } $viewlist[] = JHTML::_('select.option', 'search.form', JText::_('JEV_SEARCH_TITLE') ); $tosend = JHTML::_('select.genericlist', $viewlist, 'task', $args, 'value', 'text', $viewtype ); echo $tosend; } function buildHourSelect( $start, $end, $inc, $tag_name, $tag_attribs, $selected, $format='' ) { $cfg = & JEVConfig::getInstance(); $start = intval( $start ); $end = intval( $end ); $inc = intval( $inc ); $arr = array(); $tmpi = ''; for( $i = $start; $i <= $end; $i += $inc ) { if( $cfg->get('com_dateformat') == '1' ) { // US time if ($i > 11) { $tmpi = ($i-12) . ' pm'; } else { $tmpi = $i . ' am'; } }else{ $tmpi = $format ? sprintf( $format, $i ) : $i; } $fi = $format ? sprintf( $format, $i ) : $i; $arr[] = JHTML::_('select.option', $fi, $tmpi ); } return JHTML::_('select.genericlist', $arr, $tag_name, $tag_attribs, 'value', 'text', $selected ); } /** * Build HTML selection list of categories * * @param int $catid Selected catid * @param string $args Additional HTML attributes for the <select> tag * @param string $catidList Restriction list of categories * @param boolean $with_unpublished Set true to build list with unpublished categories * @param boolean $require_sel First entry: true = Choose one category, false = All categories * @param int $catidtop Top level category ancestor */ function buildCategorySelect( $catid, $args, $catidList=null, $with_unpublished=false, $require_sel=false, $catidtop=0, $fieldname="catid", $sectionname=JEV_COM_COMPONENT){ $user =& JFactory::getUser(); $db =& JFactory::getDBO(); $catsql = 'SELECT c.id, c.published, c.title as ctitle,p.title as ptitle, gp.title as gptitle, ggp.title as ggptitle ' . ' FROM #__categories AS c' . ' LEFT JOIN #__categories AS p ON p.id=c.parent_id' . ' LEFT JOIN #__categories AS gp ON gp.id=p.parent_id ' . ' LEFT JOIN #__categories AS ggp ON ggp.id=gp.parent_id ' . //' LEFT JOIN #__categories AS gggp ON gggp.id=ggp.parent_id ' . ' WHERE c.access<='.$db->Quote($user->aid) . ' AND c.section = '.$db->Quote($sectionname); if ($with_unpublished) { $catsql .= ' AND c.published >= 0'; } else { $catsql .= ' AND c.published = 1'; } if (is_string($catidList) && strlen(trim($catidList)) ) { $catsql .=' AND c.id IN (' . trim($catidList) . ')'; } //s$catsql .=" ORDER BY ordering"; $db->setQuery($catsql); //echo $db->_sql; $rows = $db->loadObjectList(); foreach ($rows as $key=>$option) { $title = $option->ctitle; if (!is_null($option->ptitle)){ $title = $option->ptitle."=>".$title; } if (!is_null($option->gptitle)){ $title = $option->gptitle."=>".$title; } if (!is_null($option->ggptitle)){ $title = $option->ggptitle."=>".$title; } /* if (!is_null($option->gggptitle)){ $title = $option->gggptitle."=>".$title; } */ $rows[$key]->name = $title; } JArrayHelper::sortObjects($rows,"name"); $t_first_entry = ($require_sel) ? JText::_('JEV_EVENT_CHOOSE_CATEG') : JText::_('JEV_EVENT_ALLCAT'); //$categories[] = JHTML::_('select.option', '0', JText::_('JEV_EVENT_CHOOSE_CATEG'), 'id', 'name' ); $categories[] = JHTML::_('select.option', '0', $t_first_entry, 'id', 'name' ); if ($with_unpublished) { for ($i=0;$i<count($rows);$i++) { if ($rows[$i]->published == 0) $rows[$i]->name = $rows[$i]->name . '('. JText::_('JEV_NOT_PUBLISHED') . ')'; } } $categories = array_merge( $categories, $rows ); $clist = JHTML::_('select.genericlist', $categories, $fieldname, $args, 'id', 'name', $catid ); return $clist; } function buildWeekDaysCheck( $reccurweekdays, $args, $name="reccurweekdays" ){ // get array $day_name = JEVHelper::getWeekdayLetter(null, 1); $day_name[0] = '<span class="sunday">' . $day_name[0] . '</span>'; $day_name[6] = '<span class="saturday">' . $day_name[6] . '</span>'; $tosend = ''; if( $reccurweekdays === '' ){ $split = array(); $countsplit = 0; }else{ $split = explode( '|', $reccurweekdays ); $countsplit = count( $split ); } for( $a=0; $a<7; $a++ ){ $checked = ''; for( $x = 0; $x < $countsplit; $x++ ){ if( $split[$x] == $a ){ $checked = ' checked="checked"'; } } $tosend .= '<input type="checkbox" id="cb_wd' . $a . '" name="'.$name.'[]" value="' . $a . '" ' . $args . $checked . ' /> ' . "\n" . '<label for="cb_wd' . $a . '">' . $day_name[$a] . '</label>' . "\n" ; } echo $tosend; } function buildWeeksCheck( $reccurweeks, $args , $name="reccurweeks"){ $week_name = array( '', JText::_('JEV_REP_WEEK') . ' 1 ', JText::_('JEV_REP_WEEK') . ' 2 ', JText::_('JEV_REP_WEEK') . ' 3 ', JText::_('JEV_REP_WEEK') . ' 4 ', JText::_('JEV_REP_WEEK') . ' 5 ' ); $tosend = ''; $checked = ''; if( $reccurweeks == '' ){ $split = array(); $countsplit = 0; }else{ $split = explode( '|', $reccurweeks ); $countsplit = count( $split ); } for( $a=1; $a<6; $a++ ){ $checked = ''; if( $reccurweeks == '' ){ $checked = ' checked="checked"'; } for ($x = 0; $x < $countsplit; $x++) { if ($split[$x] == $a) { $checked = ' checked="checked"'; } } $tosend .= '<input type="checkbox" id="cb_wn' . $a . '" name="'.$name.'[]" value="' . $a . '" ' . $args . $checked . ' /> ' . "\n" . '<label for="cb_wn' . $a . '">' . $week_name[$a] . '</label>' . "\n" ; } echo $tosend; } function getUserMailtoLink( $evid, $userid , $admin=false){ $db =& JFactory::getDBO(); static $arr_userids; static $arr_evids; $cfg = & JEVConfig::getInstance(); if (!$arr_userids) { $arr_userids = array(); } if (!$arr_evids) { $arr_evids = array(); } $agenda_viewmail = $cfg->get('com_mailview'); $agenda_viewmail |= $admin; if( $userid ){ if (!isset($arr_userids[$userid])) { $userdet = JEVHelper::getContact($userid); $contactlink = ""; if( $userdet ){ if( isset($userdet->slug) && $userdet->slug && $agenda_viewmail == '1' ){ $contactlink = JRoute::_('index.php?option=com_contact&view=contact&id='.$userdet->slug.'&catid='.$userdet->catslug); $contactlink = '<a href="' . $contactlink. '" title="' . JText::_('JEV_EMAIL_TO_AUTHOR') . '">'. $userdet->contactname . '</a>'; } else if( $userdet->email && $agenda_viewmail == '1' ){ //$contactlink = '<a href="mailto:' . $userdet->email //. '" title="' . JText::_('JEV_EMAIL_TO_AUTHOR') . '">' //. $userdet->username . '</a>'; $contactlink = JHTML::_('email.cloak',$userdet->email, 1, $userdet->username, 0); }else{ $contactlink = $userdet->username; } } $arr_userids[$userid] = $contactlink; } return $arr_userids[$userid]; }else{ if (!isset($arr_evids[$evid])) { $querym = "SELECT created_by_alias" . "\n FROM #__events" . "\n WHERE id='$evid'" ; $db->setQuery($querym); $userdet = $db->loadResult(); if( $userdet ){ $contactlink = $userdet; }else{ $contactlink = JText::_('JEV_ANONYME'); } $arr_evids[$evid] = $contactlink; } return $arr_evids[$evid]; } return '?'; } /** * returns name of the day longversion * @param daynb int # of day * @param colored bool color sunday [ new mic, because inside tooltips a color forces an error! ] **/ function getDayName( $daynb, $colored = false ){ $i = $daynb % 7; // modulo 7 if( $i == '0' && $colored === true){ $dayname = '<span class="sunday">' . JEVHelper::getDayName($i) . '</span>'; } else if( $i == '6' && $colored === true){ $dayname = '<span class="saturday">' . JEVHelper::getDayName($i) . '</span>'; } else { $dayname = JEVHelper::getDayName($i); } return $dayname; } function getColorBar( $event_id=null, $newcolor ){ $db =& JFactory::getDBO(); $cfg = & JEVConfig::getInstance(); if( $event_id != null ){ $query = "SELECT color_bar" . "\n FROM #__events" . "\n WHERE id = '$event_id'" ; $db->setQuery( $query ); $rows = $db->loadResultList(); $row = $rows[0]; if( $newcolor ){ if( $newcolor <> $row->color_bar ){ $query = "UPDATE #__events" . "\n SET color_bar = '$newcolor'" . "\n WHERE id = '$event_id'" ; $db->setQuery( $query ); return $newcolor; } }else{ return $row->color_bar; } }else{ // dmcd May 20/04 check the new config parameter to see what the default // color should be switch( $cfg->get('com_defColor')){ case 'none': return ''; case 'category': // fetch the category color for this event? // Note this won't work for a new event since // the user can change the category on-the-fly // in the event entry form. We need to dump a // javascript array of all the category colors // into the event form so the color can track the // chosen category. return ''; case 'random': default: $event_id = rand( 1, 50 ); // BAR COLOR GENERATION //$start_publish = mktime (0, 0, 0, date("m"),date("d"),date("Y")); //$colorgenerate = intval(($start_publish/$event_id)); //$bg1color = substr($colorgenerate, 5, 1); //$bg2color = substr($colorgenerate, 3, 1); //$bg3color = substr($colorgenerate, 7, 1); $bg1color = rand( 0, 9 ); $bg2color = rand( 0, 9 ); $bg3color = rand( 0, 9 ); $newcolorgen = '#' . $bg1color . 'F' . $bg2color . 'F' . $bg3color . 'F'; return $newcolorgen; } } } /************** Date format ****************** * case "0": * // Fr style : Monday 23 Juillet 2003 * // Us style : Monday, Juillet 23 2003 * case "1": * // Fr style : 23 Juillet 2003 * // Us style : Juillet 23, 2003 * case "2": * // Fr style : 23 Juillet * // Us style : Juillet, 23 * case "3": * // Fr style : Juillet 2003 * // Us style : Juillet 2003 * case "4": * // Fr style : 23/07/2003 * // Us style : 07/23/2003 * case "5": * // Fr style : 23/07 * // Us style : 07/23 * case "6": * // Fr style : 07/2003 * // Us style : 07/2003 ********************************************/ function getDateFormat( $year, $month, $day, $type ){ if( empty( $year )){ $year = 0; } if( empty( $month )){ $month = 0; } if( empty( $day )){ $day = 1; } static $format_type; if (!isset($format_type)) { $cfg = & JEVConfig::getInstance(); $format_type = $cfg->get('com_dateformat'); } $datestp = ( mktime( 0, 0, 0, $month, $day, $year )); switch( $type ){ case '0': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%A, %d %B %Y",$datestp); // Fr style : Monday 03 Juillet 2003 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%A, %B %d %Y",$datestp); // Us style : Monday, July 03 2003 }else{ //return strftime("%A, %e. %B %Y",$datestp); // %e not supported by windows return sprintf(JEV_CommonFunctions::jev_strftime("%A, %%s. %B %Y",$datestp), intval(JEV_CommonFunctions::jev_strftime('%d', $datestp))); // De style : Montag, 3. Juli 2003 } break; case '1': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%d %B %Y",$datestp); // Fr style : 23 Juillet 2003 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%B %d %Y",$datestp); // Us style : July 23, 2003 }else{ return JEV_CommonFunctions::jev_strftime("%d. %B %Y",$datestp); // De style : 23. Juli 2003 } break; case '2': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%d %B",$datestp); // Fr style : 23 Juillet }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%B %d",$datestp); // Us style : Juillet 23 }else{ return JEV_CommonFunctions::jev_strftime("%d. %B",$datestp); // De style : 23. Juli } break; case '3': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%B %Y",$datestp); // Fr style : Juillet 2003 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%B %Y",$datestp); // Us style : Juillet 2003 }else{ return JEV_CommonFunctions::jev_strftime("%B %Y",$datestp); // De style : Juli 2003 } break; case '4': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%d/%B/%Y",$datestp); // Fr style : 23/07/2003 }elseif( $format_type == 1){ return JEV_CommonFunctions::jev_strftime("%B/%d/%Y",$datestp); // Us style : 07/23/2003 }else{ return JEV_CommonFunctions::jev_strftime("%d.%B.%Y",$datestp); // De style : 23.07.2003 } break; case '5': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%d/%m",$datestp); // Fr style : 23/07 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%m/%d",$datestp); // Us style : 07/23 }else{ return JEV_CommonFunctions::jev_strftime("%d.%m.",$datestp); // De style : 23.07. } break; case '6': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%m/%Y",$datestp); // Fr style : 07/2003 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%m/%Y",$datestp); // Us style : 07/2003 }else{ return JEV_CommonFunctions::jev_strftime("%m/%Y",$datestp); // De style : 07/2003 } break; case '7': if( $format_type == 0 ){ return JEV_CommonFunctions::jev_strftime("%A, %d",$datestp); // Fr style : Monday 23 }elseif( $format_type == 1 ){ return JEV_CommonFunctions::jev_strftime("%A, %d",$datestp); // Us style : Monday, 23 }else{ return JEV_CommonFunctions::jev_strftime("%A, %d.",$datestp); // De style : Montag, 23. } break; default: break; } return $newdate; } /** * Convert special characters to html entities * Required for edit fields containing html code * * @static * @param $html string html text * @return string html string */ function special ( $html='' ) { return htmlspecialchars( $html, ENT_QUOTES, 'UTF-8'); } /** * Generate javascript start and end tags * * @access public * @param string $type 'start' or 'end' tag * @return string html sequence */ function buildScriptTag ( $type='start' ) { $html = ""; switch ($type) { case 'start': $html = "\n" . '<script type="text/javascript">' . "\n" . "/* <![CDATA[ */\n" . "// inserted by JEvents\n"; break; case 'end': $html = "\n".'/* ]]> */'."\n" . '</script>'."\n"; break; default; $html = '<!-- wrong javascript tag parameter-->'."\n"; } return $html; } }