Пример #1
0
 function bgcolor($val = "")
 {
     if (JString::strlen($val) == 0) {
         if (!isset($this->_bgcolor)) {
             $this->_bgcolor = JEV_CommonFunctions::setColor($this);
         }
         return $this->_bgcolor;
     } else {
         $this->_bgcolor = $val;
     }
 }
Пример #2
0
?>
</th>
				</tr>

				<?php 
$k = 0;
$nullDate = $db->getNullDate();
for ($i = 0, $n = count($this->rows); $i < $n; $i++) {
    $row =& $this->rows[$i];
    ?>
					<tr class="row<?php 
    echo $k;
    ?>
">
						<td width="20" style="background-color:<?php 
    echo JEV_CommonFunctions::setColor($row);
    ?>
">
							<?php 
    echo JHtml::_('grid.id', $i, $row->id());
    ?>
						</td>
						<td >
							<a href="#edit" onclick="return listItemTask('cb<?php 
    echo $i;
    ?>
','icalevent.edit')" title="<?php 
    echo JText::_('JEV_CLICK_TO_EDIT');
    ?>
"><?php 
    echo $row->title();
Пример #3
0
 function calendarCell(&$currentDay, $year, $month, $i, $slot = "")
 {
     $cfg = JEVConfig::getInstance();
     $event = $currentDay["events"][$i];
     // Event publication infomation
     $event_up = new JEventDate($event->startDate());
     $event_down = new JEventDate($event->endDate());
     // BAR COLOR GENERATION
     $bgeventcolor = JEV_CommonFunctions::setColor($event);
     $start_publish = JevDate::mktime(0, 0, 0, $event->mup(), $event->dup(), $event->yup());
     $stop_publish = JevDate::mktime(0, 0, 0, $event->mdn(), $event->ddn(), $event->ydn());
     // this file controls the events component month calendar display cell output.  It is separated from the
     // showCalendar function in the events.php file to allow users to customize this portion of the code easier.
     // The event information to be displayed within a month day on the calendar can be modified, as well as any
     // overlay window information printed with a javascript mouseover event.  Each event prints as a separate table
     // row with a single column, within the month table's cell.
     // On mouse over date formats
     // Note that the date formats for the events can be easily changed by modifying the sprintf formatting
     // string below.  These are used for the default overlay window.  As well, the JevDate::strftime() function could
     // also be used instead to provide more powerful date formatting which supports locales if php function
     // set_locale() is being used.
     // define start and end
     $cellStart = '<div class="eventfull"><div class="eventstyle" ';
     $cellStyle = '';
     $cellEnd = '</div></div>' . "\n";
     // add the event color as the column background color
     include_once JPATH_ADMINISTRATOR . "/components/" . JEV_COM_COMPONENT . "/libraries/colorMap.php";
     //$colStyle .= $bgeventcolor ? ' background-color:' . $bgeventcolor . ';' : '';
     //$colStyle .= $bgeventcolor ? 'color:'.JevMapColor($bgeventcolor) . ';' : '';
     // MSIE ignores "inherit" color for links - stupid Microsoft!!!
     //$linkStyle = $bgeventcolor ? 'style="color:'.JevMapColor($bgeventcolor) . ';"' : '';
     $linkStyle = "";
     // The title is printed as a link to the event's detail page
     $link = $this->event->viewDetailLink($year, $month, $currentDay['d0'], false);
     $link = JRoute::_($link . $this->_datamodel->getCatidsOutLink());
     $title = $event->title();
     // [mic] if title is too long, cut 'em for display
     $tmpTitle = $title;
     // set truncated title
     if (!isset($this->event->truncatedtitle)) {
         if (JString::strlen($title) >= $cfg->get('com_calCutTitle', 50)) {
             $tmpTitle = JString::substr($title, 0, $cfg->get('com_calCutTitle', 50)) . ' ...';
         }
         $tmpTitle = JEventsHTML::special($tmpTitle);
         $this->event->truncatedtitle = $tmpTitle;
     } else {
         $tmpTitle = $this->event->truncatedtitle;
     }
     // [new mic] if amount of displaing events greater than defined, show only a scmall coloured icon
     // instead of full text - the image could also be "recurring dependig", which means
     // for each kind of event (one day, multi day, last day) another icon
     // in this case the dfinition must moved down to be more flexible!
     // [tstahl] add a graphic symbol for all day events?
     $tmp_start_time = $this->start_time == $this->stop_time && !$this->event->noendtime() || $this->event->alldayevent() ? '' : $this->start_time;
     $templatedcell = false;
     if ($currentDay['countDisplay'] < $cfg->get('com_calMaxDisplay', 5)) {
         ob_start();
         $templatedcell = $this->loadedFromTemplate('month.calendar_cell', $this->event, 0);
         $res = ob_get_clean();
         if ($templatedcell) {
             $templatedcell = $res;
         } else {
             if ($this->_view) {
                 $this->_view->assignRef("link", $link);
                 $this->_view->assignRef("linkStyle", $linkStyle);
                 $this->_view->assignRef("tmp_start_time", $tmp_start_time);
                 $this->_view->assignRef("tmpTitle", $tmpTitle);
             }
             $title_event_link = $this->loadOverride("cellcontent");
             // allow fallback to old method
             if ($title_event_link == "") {
                 $title_event_link = "\n" . '<a class="cal_titlelink" href="' . $link . '" ' . $linkStyle . '>' . ($cfg->get('com_calDisplayStarttime') ? $tmp_start_time : '') . ' ' . $tmpTitle . '</a>' . "\n";
             }
             $cellStyle .= "border-width:0px 0px 1px 8px;border-color:{$bgeventcolor};padding:0px 0px 1px 2px;";
         }
     } else {
         $eventIMG = '<img align="left" src="' . JURI::root() . 'components/' . JEV_COM_COMPONENT . '/images/event.png" alt="" style="height:12px;width:8px;border:1px solid white;background-color:' . $bgeventcolor . '" />';
         $title_event_link = "\n" . '<a class="cal_titlelink" href="' . $link . '">' . $eventIMG . '</a>' . "\n";
         $cellStyle .= ' float:left;width:10px;';
     }
     $cellString = '';
     // allow template overrides for cell popups
     // only try override if we have a view reference
     if ($this->_view) {
         $this->_view->assignRef("ecc", $this);
         $this->_view->assignRef("cellDate", $currentDay["cellDate"]);
     }
     if ($cfg->get("com_enableToolTip", 1)) {
         if ($cfg->get("tooltiptype", 'joomla') == 'overlib') {
             $tooltip = $this->loadOverride("overlib");
             // allow fallback to old method
             if ($tooltip == "") {
                 $tooltip = $this->calendarCell_popup($currentDay["cellDate"]);
             }
             $cellString .= $tooltip;
         } else {
             // TT background
             if ($cfg->get('com_calTTBackground', 1) == '1') {
                 $bground = $this->event->bgcolor();
                 $fground = $this->event->fgcolor();
             } else {
                 $bground = "#000000";
                 $fground = "#ffffff";
             }
             JevHtmlBootstrap::popover('.hasjevtip', array("trigger" => "hover focus", "placement" => "top", "container" => "#jevents_body", "delay" => array("hide" => 150)));
             //$toolTipArray = array('className'=>'jevtip');
             //JHTML::_('behavior.tooltip', '.hasjevtip', $toolTipArray);
             $tooltip = $this->loadOverride("tooltip");
             // allow fallback to old method
             if ($tooltip == "") {
                 $tooltip = $this->calendarCell_tooltip($currentDay["cellDate"]);
             }
             if (strpos($tooltip, "templated") === 0) {
                 $title = JString::substr($tooltip, 9);
                 $cellString = "";
             } else {
                 $cellString .= '<div class="jevtt_text" >' . $tooltip . '</div>';
                 $title = '<div class="jevtt_title" style = "color:' . $fground . ';background-color:' . $bground . '">' . $this->title . '</div>';
             }
             if ($templatedcell) {
                 $templatedcell = str_replace("[[TOOLTIP]]", htmlspecialchars($title . $cellString, ENT_QUOTES), $templatedcell);
                 $templatedcell = str_replace("[[TOOLTIPTITLE]]", htmlspecialchars($title, ENT_QUOTES), $templatedcell);
                 $templatedcell = str_replace("[[TOOLTIPCONTENT]]", htmlspecialchars($cellString, ENT_QUOTES), $templatedcell);
                 $time = $cfg->get('com_calDisplayStarttime') ? $tmp_start_time : "";
                 $templatedcell = str_replace("[[EVTTIME]]", $time, $templatedcell);
                 return $templatedcell;
             }
             $html = $cellStart . ' style="' . $cellStyle . '">' . $this->tooltip($title, $cellString, $title_event_link) . $cellEnd;
             return $html;
         }
     }
     if ($templatedcell) {
         $templatedcell = str_replace("[[TOOLTIP]]", htmlspecialchars($title . $cellString, ENT_QUOTES), $templatedcell);
         $templatedcell = str_replace("[[TOOLTIPTITLE]]", htmlspecialchars($title, ENT_QUOTES), $templatedcell);
         $templatedcell = str_replace("[[TOOLTIPCONTENT]]", htmlspecialchars($cellString, ENT_QUOTES), $templatedcell);
         $time = $cfg->get('com_calDisplayStarttime') ? $tmp_start_time : "";
         $templatedcell = str_replace("[[EVTTIME]]", $time, $templatedcell);
         return $templatedcell;
     }
     // return the whole thing
     return $cellStart . ' style="' . $cellStyle . '" ' . $cellString . ">\n" . $title_event_link . $cellEnd;
 }
Пример #4
0
 function getDataForAdmin($creator_id, $limit, $limitstart, $showrepeats = false, $orderby = "")
 {
     $data = array();
     $is_event_editor = JEVHelper::isEventCreator();
     $user =& JFactory::getUser();
     $Itemid = JEVHelper::getItemid();
     $user =& JFactory::getUser();
     $db =& JFactory::getDBO();
     $cfg =& JEVConfig::getInstance();
     include_once JPATH_ADMINISTRATOR . "/components/" . JEV_COM_COMPONENT . "/libraries/colorMap.php";
     // Note that these are the vevents not the repeats
     if (!$showrepeats) {
         $total = $this->queryModel->countIcalEventsByCreator($creator_id);
     } else {
         $total = $this->queryModel->countIcalEventRepeatsByCreator($creator_id);
     }
     $data['total'] = $total;
     $data['limit'] = $limit;
     if ($data["total"] <= $data["limit"]) {
         $limitstart = 0;
     }
     $data["limitstart"] = $limitstart;
     // Note that these are the vevents not the repeats
     if (!$showrepeats) {
         $rows = $this->queryModel->listIcalEventsByCreator($creator_id, $limitstart, $limit, $orderby);
     } else {
         $rows = $this->queryModel->listIcalEventRepeatsByCreator($creator_id, $limitstart, $limit, $orderby);
     }
     $adminView = true;
     $num_events = count($rows);
     if ($num_events > 0) {
         for ($r = 0; $r < $num_events; $r++) {
             $row =& $rows[$r];
             $row->catname($row->getCategoryName());
             $row->contactlink(JEventsHTML::getUserMailtoLink($row->id(), $row->created_by(), true));
             $row->bgcolor = JEV_CommonFunctions::setColor($row);
             $row->fgcolor = JevMapColor($row->bgcolor);
         }
     }
     $data['rows'] = $rows;
     return $data;
 }
Пример #5
0
 public static function setColours($row)
 {
     $cfg = JEVConfig::getInstance();
     if (!$cfg->get("multicategory", 0)) {
         return array(JEV_CommonFunctions::setColor($row));
     }
     static $catData;
     if (!isset($catData)) {
         $catData = JEV_CommonFunctions::getCategoryData();
     }
     $colours = array();
     foreach ($row->catids() as $catid) {
         if (is_object($row) && strtolower(get_class($row)) != "stdclass") {
             if ($cfg->get('com_calForceCatColorEventForm', 2) == '2') {
                 $colors[] = $catid > 0 && isset($catData[$catid]) ? $catData[$catid]->color : '#333333';
             } else {
                 $colors[] = $row->useCatColor() ? $catid > 0 && isset($catData[$catid]) ? $catData[$catid]->color : '#333333' : $row->color_bar();
             }
         } else {
             if ($cfg->get('com_calForceCatColorEventForm', 2) == '2') {
                 $colors[] = $row->catid > 0 && isset($catData[$catid]) ? $catData[$row->catid]->color : '#333333';
             } else {
                 $colors[] = $row->useCatColor ? $row->catid > 0 && isset($catData[$catid]) ? $catData[$row->catid]->color : '#333333' : $row->color_bar;
             }
         }
     }
     return $colors;
 }