function Input($current, $params, $context, $id) { if (array_key_exists("custom_" . $id . "_raw", $_POST)) { $current = $_POST["custom_" . $id . "_raw"]; } $params = $this->parseParams($params); FSS_Helper::StylesAndJS(array('calendar')); $display = $current; if ($params->today_default && ($current == "" || $current == 0)) { if ($params->use_time) { $current = date("Y-m-d H:i:s"); } else { $current = date("Y-m-d"); } // need to convert the date into cal format specified if ($params->format) { $display = date($this->DXtoPhpFormat($params->format), strtotime($current)); } else { $display = $current; } } else { if ($current != "") { $display = date($this->DXtoPhpFormat($params->format), strtotime($current)); } } FSS_Translate_Helper::CalenderLocale(); $output = "<input type='text' name='custom_{$id}' id='custom_{$id}' value='{$display}'>"; $output .= "<input type='hidden' name='custom_{$id}_raw' id='custom_{$id}_raw' value='{$current}'>"; $output .= "<script>"; $output .= "\n\t\tjQuery(document).ready(function () {\n\t\t\tmyCalendar = new dhtmlXCalendarObject('custom_{$id}','omega');\n\t\t\tmyCalendar.loadUserLanguage('" . FSS_Translate_Helper::CalenderLocaleCode() . "');\n\t\t\tmyCalendar.attachEvent('onClick',function(date){\n\t\t\t\t\n"; if ($params->use_time) { $output .= " var raw = this.getFormatedDate('%Y-%m-%d %H:%i:%s');\n"; } else { $output .= " var raw = this.getFormatedDate('%Y-%m-%d');\n"; } $output .= "\n\t\t\t\tjQuery('#custom_{$id}_raw').val(raw);\n\t\t\t})\n\t\t\t"; if ($params->no_past) { $output .= "myCalendar.setSensitiveRange('" . date("Y-m-d") . "', null);\n"; } if ($params->format) { $output .= "myCalendar.setDateFormat('{$params->format}');\n"; } if (!$params->use_time) { $output .= "myCalendar.hideTime();\n"; } $output .= "});"; $output .= "</script>"; return $output; }
static function StylesAndJS($params = array(), $css = array(), $js = array()) { $document = JFactory::getDocument(); $force_jquery = false; if (isset($params['force_jquery'])) { $force_jquery = true; unset($params['force_jquery']); } if (in_array('force_jquery', $params)) { $force_jquery = true; $key = array_search('force_jquery', $params); unset($params[$key]); } if (!self::$styles_incl) { // jquery with its various options self::IncludeJQuery($force_jquery); // bootstrap (css and javascript) self::Bootstrap(); //$document->addStyleSheet(FSSRoute::_( "index.php?option=com_fss&view=css&layout=default&old=1" )); // Add old stylesheets to page FSS_CSSParse::OutputCSS('components/com_fss/assets/css/fss.less'); if (!FSSJ3Helper::IsJ3()) { FSS_CSSParse::OutputCSS('components/com_fss/assets/css/fss_j25.less'); } if (FSS_Settings::get('hide_warnings')) { $document->addScriptDeclaration('var fss_no_warn = true;'); } $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/main.js'); if (FSS_Settings::get('bootstrap_v3')) { FSS_CSSParse::OutputCSS('components/com_fss/assets/css/bs3_fixes.less'); $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/bs3_fixes.js'); } self::$styles_incl = true; } foreach ($params as $param) { if (array_key_exists($param, self::$styles_sub_incl)) { continue; } switch ($param) { case 'autoscroll': $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/jquery/jquery.autoscroll.js'); break; case 'tooltip': $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/fss_tooltip.js'); break; case 'glossary': $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/glossary.js'); break; case 'translate': $document->addScript(JURI::root(true) . '/administrator/components/com_fss/assets/js/translate.js'); $document->addScript(JURI::root(true) . '/administrator/components/com_fss/assets/js/popup.js'); $document->addStyleSheet(JURI::root(true) . '/administrator/components/com_fss/assets/css/popup.css'); break; case 'csstest': $document->addScript(JURI::root(true) . '/administrator/components/com_fss/assets/js/csstest.js'); break; case 'admin_css': $document->addStyleSheet(JURI::root(true) . '/administrator/components/com_fss/assets/css/main.css'); break; case 'calendar': $document->addStyleSheet(JURI::root(true) . '/components/com_fss/assets/css/calendar.css'); $document->addStyleSheet(JURI::root(true) . '/components/com_fss/assets/css/calendar_omega.css'); $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/calendar.js'); break; case 'base64': $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/base64.js'); break; case 'ticket_list': FSS_Translate_Helper::CalenderLocale(); $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/ticket_list.js'); break; case 'cookie': $document->addScript(JURI::root(true) . '/components/com_fss/assets/js/jquery/jquery.cookie.js'); break; } self::$styles_sub_incl[$param] = 1; } foreach ($css as $c) { if (array_key_exists($c, self::$styles_sub_incl)) { continue; } $document->addStyleSheet(JURI::root(true) . "/" . $c); self::$styles_sub_incl[$c] = 1; } foreach ($js as $j) { if (array_key_exists($j, self::$styles_sub_incl)) { continue; } $document->addScript(JURI::root(true) . "/" . $j); self::$styles_sub_incl[$j] = 1; } /* Joomla 3.4 fix for admin pagination problem */ if (JFactory::getApplication()->isAdmin()) { $version = new JVersion(); if ($version->RELEASE >= 3.4) { $script = "\n\t\t\t\tjQuery(document).ready( function () {\n\t\t\t\t\tjQuery('.pagination-list').removeClass('pagination');\n\t\t\t\t\tjQuery('.pagination-toolbar').addClass('pagination');\n\t\t\t\t});"; $document->addScriptDeclaration($script); } } }
echo FSS_Helper::escape($this->time_start); ?> "> <span class="help-inline"><?php echo JText::_('TIME_END'); ?> : </span> <input name="timetaken_end" id="timetaken_end" type="text" style="width: 130px" value="<?php echo FSS_Helper::escape($this->time_end); ?> "> <a class="btn btn-default" onclick="var dt = new Date();var time = dt.getHours() + ':' + dt.getMinutes();jQuery('#timetaken_start').val(time);jQuery('#timetaken_end').val(time);return false;"><i class="icon-cancel"></i></a> <script> <?php FSS_Translate_Helper::CalenderLocale(); ?> jQuery(document).ready(function () { myCalendarFrom = new dhtmlXCalendarObject('timetaken_start','omega'); myCalendarFrom.setDateFormat('<?php echo FSS_Helper::getCalFormat(); ?> '); myCalendarFrom.loadUserLanguage(fss_calendar_locale); myCalendarTo = new dhtmlXCalendarObject('timetaken_end','omega'); myCalendarTo.setDateFormat('<?php echo FSS_Helper::getCalFormat(); ?> '); myCalendarTo.loadUserLanguage(fss_calendar_locale); });
function getFilters() { $html = array(); $db = JFactory::getDBO(); $document = JFactory::getDocument(); foreach ($this->filter as $filter) { if (isset($filter->type) && $filter->type == "daterange") { FSS_Helper::StylesAndJS(array('calendar')); $to = FSS_Input::getString("{$filter->name}_to", $this->getDateRangeTo($filter)); $from = FSS_Input::getString("{$filter->name}_from", $this->getDateRangeFrom($filter)); $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label' for='{$filter->name}_from'>" . JText::_('FSS_FROM') . "</label>"; $html[] = "<div class='controls'>"; $html[] = "<input type='text' name='{$filter->name}_from' id='{$filter->name}_from' onclick=\"setSens_{$filter->name}('{$filter->name}_to', 'max');\">"; $html[] = "</div>"; $html[] = "</div>"; $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label' for='{$filter->name}_to'>" . JText::_('FSS_TILL') . "</label>"; $html[] = "<div class='controls'>"; $html[] = "<input type='text' name='{$filter->name}_to' id='{$filter->name}_to' onclick=\"setSens_{$filter->name}('{$filter->name}_from', 'min');\">"; $html[] = "</div>"; $html[] = "</div>"; FSS_Translate_Helper::CalenderLocale(); $js = "\n\t\t\t\t\tvar cal_{$filter->name};\n\t\t\t\t\t\n\t\t\t\t\tjQuery(document).ready( function () {\n\t\t\t\t\t cal_{$filter->name} = new dhtmlXCalendarObject(['{$filter->name}_from', '{$filter->name}_to'], 'omega');\n\t\t\t\t\t\tcal_{$filter->name}.setDate('{$from}');\n\t\t\t\t\t\tcal_{$filter->name}.hideTime();\n\t\t\t\t\t\t// init values\n\t\t\t\t\t\tvar t = new Date();\n\t\t\t\t\t\tjQuery('#{$filter->name}_from').val('{$from}');\n\t\t\t\t\t\tjQuery('#{$filter->name}_to').val('{$to}');\n\t\t\t\t\t\t\n\t\t\t\t\t\tcal_{$filter->name}.attachEvent('onClick', function(d) {\n\t\t\t\t\t\t\tdocument.report_params.submit();\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tcal_{$filter->name}.loadUserLanguage('" . FSS_Translate_Helper::CalenderLocaleCode() . "');\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\tfunction setSens_{$filter->name}(id, k) {\n\t\t\t\t\t\t// update range\n\t\t\t\t\t\tif (k == 'min') {\n\t\t\t\t\t\t\tcal_{$filter->name}.setSensitiveRange(jQuery('#'+id).val(), null);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcal_{$filter->name}.setSensitiveRange(null, jQuery('#'+id).val());\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t"; $document->addScriptDeclaration($js); } elseif (isset($filter->type) && $filter->type == "date") { FSS_Helper::StylesAndJS(array('calendar')); FSS_Translate_Helper::CalenderLocale(); $to = FSS_Input::getString("{$filter->name}", $this->getDateRangeTo($filter)); $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label' for='{$filter->name}'>" . JText::_($filter->title) . "</label>"; $html[] = "<div class='controls'>"; $html[] = "<input type='text' name='{$filter->name}' id='{$filter->name}' >"; $html[] = "</div>"; $html[] = "</div>"; $js = "\n\t\t\t\t\tvar cal_{$filter->name};\n\t\t\t\t\t\n\t\t\t\t\tjQuery(document).ready( function () {\n\t\t\t\t\t cal_{$filter->name} = new dhtmlXCalendarObject(['{$filter->name}'], 'omega');\n\t\t\t\t\t\tcal_{$filter->name}.setDate('{$from}');\n\t\t\t\t\t\tcal_{$filter->name}.hideTime();\n\t\t\t\t\t\t// init values\n\t\t\t\t\t\tvar t = new Date();\n\t\t\t\t\t\tjQuery('#{$filter->name}').val('{$to}');\n\t\t\t\t\t\t\n\t\t\t\t\t\tcal_{$filter->name}.attachEvent('onClick', function(d) {\n\t\t\t\t\t\t\tdocument.report_params.submit();\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcal_{$filter->name}.loadUserLanguage('" . FSS_Translate_Helper::CalenderLocaleCode() . "');\n\n\t\t\t\t\t});\n\t\t\t\t\t"; $document->addScriptDeclaration($js); } else { if ($filter->type == "lookup") { // need to lookup the values from the db $qry = "SELECT {$filter->key} as `key`, {$filter->display} as display"; if (!empty($filter->translate)) { $qry .= ", translation "; } $qry .= " FROM {$filter->table}"; if (isset($filter->published) && $filter->published) { $qry .= " WHERE published = 1 "; } $qry .= " GROUP BY {$filter->order}"; $db->setQuery($qry); $data = $db->loadObjectList(); // translate any lookups for the display field if (!empty($filter->translate)) { FSS_Translate_Helper::Tr($data); $display = $filter->display; foreach ($data as &$item) { if (isset($item->{$display})) { $item->display = $item->{$display}; } } } $values = array(); $values[] = JHTML::_('select.option', '', JText::_($filter->header), 'key', 'display'); $values = array_merge($values, $data); $value = FSS_Input::getString('filter_' . $filter->name, isset($filter->default) ? $filter->default : ''); $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label'>" . JText::_($filter->title) . "</label>"; $html[] = "<div class='controls'>"; $html[] = JHTML::_('select.genericlist', $values, 'filter_' . $filter->name, ' onchange="document.report_params.submit( );"', 'key', 'display', $value); $html[] = "</div>"; $html[] = "</div>"; } else { if ($filter->type == "datepresets") { $value = FSS_Input::getString('filter_' . $filter->name, isset($filter->default) ? $filter->default : ''); $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label'>" . JText::_($filter->title) . "</label>"; $html[] = "<div class='controls'>"; $html[] = JHTML::_('select.genericlist', $filter->select, 'filter_' . $filter->name, ' fsjfield="' . $filter->title . '" onchange="fsj_datepreset(this);"', 'key', 'display', $value); $html[] = "</div>"; $html[] = "</div>"; } else { $value = FSS_Input::getString('filter_' . $filter->name, isset($filter->default) ? $filter->default : ''); $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label'>" . JText::_($filter->title) . "</label>"; $html[] = "<div class='controls'>"; $html[] = JHTML::_('select.genericlist', $filter->select, 'filter_' . $filter->name, ' onchange="document.report_params.submit( );"', 'key', 'display', $value); $html[] = "</div>"; $html[] = "</div>"; } } } } foreach ($this->group as $group) { $html[] = "<div class='control-group'>"; $html[] = "<label class='control-label'>" . JText::_($group->title) . "</label>"; $html[] = "<div class='controls'>"; //$html[] = "<div style='float:left;padding:3px;height:60px;'>"; //if (isset($group->title)) // $html[] = "<div style='margin-top: 5px;margin-bottom: 6px;margin-left:3px;'><span class='label'>".$group->title . "</span></div>"; if ($group->type == "dategroup") { $value = FSS_Input::getString('group_' . $group->name, 'day'); $html[] = JHTML::_('select.genericlist', $group->select, 'group_' . $group->name, ' onchange="document.report_params.submit( );"', 'key', 'display', $value); } $html[] = "</div>"; $html[] = "</div>"; } return implode($html); }