Example #1
0
 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;
 }
Example #2
0
 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);
 }