Compare commits

...

4 Commits

Author SHA1 Message Date
Clemens Schwaighofer
a182834985 Remove old SVN $id from edit new template 2016-01-06 11:19:05 +09:00
Clemens Schwaighofer
0ce1432513 Bug fix for spl autoload table array part
arrays cannot be loaded with the auto load method, fallback to old load
method
2016-01-05 18:36:26 +09:00
Clemens Schwaighofer
a447fc2ef6 Update auto set for HTML title, PHP 7.0 class fixes
Auto append current page file name to the HTML auto title.

Fix class declaration in gettext reader for PHP 7.0
2015-12-16 11:08:51 +09:00
Clemens Schwaighofer
8160d05d25 Add HTML print date+time method
Function prints out HTML date time method with auto javacsript adjust
for leap years, month day length, etc.
2015-11-16 10:17:55 +09:00
6 changed files with 114 additions and 10 deletions

View File

@@ -36,6 +36,8 @@
// set include & template names
$CONTENT_INCLUDE = str_replace(".php", ".tpl", $cms->page_name);
$FORM_NAME = !isset($FORM_NAME) || !$FORM_NAME ? str_replace(".php", "", $cms->page_name) : $FORM_NAME;
// set local page title
$L_TITLE = ucfirst(str_replace('_', ' ', $cms->get_page_name(1))).' - '.$G_TITLE;
// strip tpl and replace it with inc
// php include file per page
$cms->INC_TEMPLATE_NAME = str_replace(".tpl", ".inc", $CONTENT_INCLUDE);

View File

@@ -264,6 +264,7 @@
'',
LIBS,
SMARTY,
TABLE_ARRAYS,
__DIR__.'/'.LIBS,
__DIR__.'/'.SMARTY
);
@@ -273,9 +274,10 @@
if (file_exists($folder.$include_file))
{
require_once($folder.$include_file);
return;
return true;
}
}
return false;
}
?>

View File

@@ -21,5 +21,3 @@
<input type="submit" name="new" value="{$new.new_name}">
</td>
</tr>
{* $Id: edit_new.tpl 4897 2014-02-06 08:16:56Z gullevek $ *}

View File

@@ -335,5 +335,71 @@
$this->db_exec($q);
}
// METHOD: adbPrintDateTime
// PARAMS: year, month, day, hour, min: the date and time values
// suffix: additional info printed after the date time variable in the drop down, also used for ID in the on change JS call
// minute steps, can be 1 (default), 5, 10, etc, if invalid (outside 1h range, it falls back to 1min)
// RETURN: HTML formated strings for drop down lists of date and time
// DESC: print the date/time drop downs, used in any queue/send/insert at date/time place
public function adbPrintDateTime($year, $month, $day, $hour, $min, $suffix = '', $min_steps = 1)
{
// if suffix given, add _ before
if ($suffix)
$suffix = '_'.$suffix;
if ($min_steps < 1 || $min_steps > 59)
$min_steps = 1;
$on_change_call = 'dt_list(\''.$suffix.'\');';
// always be 1h ahead (for safety)
$timestamp = time() + 3600; // in seconds
// the max year is this year + 1;
$max_year = date("Y", $timestamp) + 1;
// preset year, month, ...
$year = (!$year) ? date("Y", $timestamp) : $year;
$month = (!$month) ? date("m", $timestamp) : $month;
$day = (!$day) ? date("d", $timestamp) : $day;
$hour = (!$hour) ? date("H", $timestamp) : $hour;
$min = (!$min) ? date("i", $timestamp) : $min; // add to five min?
// max days in selected month
$days_in_month = date("t", strtotime($year."-".$month."-".$day." ".$hour.":".$min.":0"));
// from now to ?
$string = $this->l->__('Year').' ';
$string .= '<select id="year'.$suffix.'" name="year'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = date("Y"); $i <= $max_year; $i ++)
{ $string .= '<option value="'.$i.'" '.(($year == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Month').' ';
$string .= '<select id="month'.$suffix.'" name="month'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 1; $i <= 12; $i ++)
{
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($month == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Day').' ';
$string .= '<select id="day'.$suffix.'" name="day'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 1; $i <= $days_in_month; $i ++)
{
// set weekday text based on current month ($month) and year ($year)
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($day == $i) ? 'selected' : '').'>'.$i.' ('.$this->l->__(date('D', mktime(0, 0, 0, $month, $i, $year))).')</option>';
}
$string .= '</select> '.$this->l->__('Hour').' ';
$string .= '<select id="hour'.$suffix.'" name="hour'.$suffix.'" onChange="'.$on_change_call.'">';
for ($i = 0; $i <= 23; $i ++)
{
$string .= '<option value="'.(($i < 10) ? '0'.$i : $i).'" '.(($hour == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select> '.$this->l->__('Minute').' ';
$string .= '<select id="min'.$suffix.'" name="min'.$suffix.'" onChange="'.$on_change_call.'">';
for ( $i = 0; $i <= 59; $i += $min_steps)
{
$string .= '<option value="'.(( $i < 10) ? '0'.$i : $i).'" '.(($min == $i) ? 'selected' : '').'>'.$i.'</option>';
}
$string .= '</select>';
// return the datetime select string
return $string;
}
}
?>

View File

@@ -259,7 +259,9 @@
$this->l = new l10n($lang);
// load config array
// get table array definitions for current page name
_spl_autoload('array_'.$this->my_page_name.'.inc');
// WARNING: auto spl load does not work with this as it is an array and not a function/object
// $flag = _spl_autoload('array_'.$this->my_page_name.'.inc');
include(TABLE_ARRAYS."array_".$this->my_page_name.".inc");
$config_array = ${$this->my_page_name};
@@ -321,6 +323,8 @@
// dumps all values into output (for error msg)
public function form_dump_table_array()
{
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
$string .= "<b>TABLE ARRAY DUMP:</b> ".$this->table_name."<br>";
while (list($key, $value) = each($this->table_array))
@@ -383,6 +387,8 @@
// if multiple gets only FIRST
public function form_get_col_name_from_key($want_key, $key_value = "")
{
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -400,6 +406,8 @@
public function form_get_col_name_array_from_key($want_key, $key_value = "")
{
$key_array = array();
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -680,7 +688,7 @@
// for drop down, as data comes from a reference table
// for drop_down_text it has to be an array with $key->$value
// RETURN element in HTML
public function form_create_element ($element_name, $query = "")
public function form_create_element($element_name, $query = "")
{
// special 2nd color for "binary" attribut
if ($this->table_array[$element_name]["type"] == "binary" && !$this->table_array[$element_name]["value"])
@@ -867,6 +875,8 @@
// $error=1;
public function form_error_check()
{
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -972,6 +982,8 @@
if (is_array($this->reference_array))
{
// do check for reference tables
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1106,6 +1118,8 @@
public function form_unset_table_array()
{
unset($this->pk_id);
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1117,6 +1131,8 @@
}
if (is_array($this->reference_array))
{
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1138,6 +1154,8 @@
$this->table_array = $this->db_read(1);
// reset all temp fields
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
unset($this->table_array[$key]["input_value"]);
@@ -1145,6 +1163,8 @@
if (is_array($this->reference_array))
{
// load each reference_table
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array);
while (list($key, $value) = each($this->reference_array))
{
@@ -1167,6 +1187,8 @@
// global $_FILES;
// for drop_down_db_input check if text field is filled and if, if not yet in db ...
// and upload files
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1292,6 +1314,8 @@
// write reference array(s) if necessary
if (is_array($this->reference_array))
{
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
@@ -1308,8 +1332,9 @@
// write element list
if (is_array($this->element_list))
{
if (!is_array($this->element_list))
$this->element_list = array ();
reset($this->element_list);
while (list($table_name, $reference_array) = each($this->element_list))
{
// get the number of keys from the elements array
@@ -1431,6 +1456,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any reference arrays
if (is_array($this->reference_array))
{
if (!is_array($this->reference_array))
$this->reference_array = array ();
reset($this->reference_array);
foreach ($this->reference_array AS $reference_array)
{
@@ -1441,6 +1468,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// remove any element list references
if (is_array($this->element_list))
{
if (!is_array($this->element_list))
$this->element_list = array ();
reset($this->element_list);
while (list($table_name, $data_array) = each($this->element_list))
{
@@ -1449,6 +1478,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
}
}
// unlink ALL files
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
@@ -1466,7 +1497,10 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
// creates HTML hidden input fields out of an hash array
public function form_create_hidden_fields($hidden_array = "")
{
reset ($this->table_array);
$hidden = array ();
if (!is_array($this->table_array))
$this->table_array = array ();
reset($this->table_array);
while (list($key, $value) = each($this->table_array))
{
if ($this->table_array[$key]["type"] == "hidden")
@@ -1474,9 +1508,9 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$hidden_array[$key] = $this->table_array[$key]["value"];
}
}
if ($hidden_array)
if (is_array($hidden_array))
{
reset ($hidden_array);
reset($hidden_array);
while (list($key, $value) = each($hidden_array))
{
$hidden[] = array('key' => $key, 'value' => $value);
@@ -1530,6 +1564,8 @@ $this->debug('edit_error', "I: $i | EL Name: $prfx$el_name | Data: ".$_POST[$prf
$data['table_name'] = $table_name;
$pos = 0; // position in while for overwrite if needed
// build the select part
if (!is_array($this->element_list[$table_name]["elements"]))
$this->element_list[$table_name]["elements"] = array ();
reset($this->element_list[$table_name]["elements"]);
// generic data read in (counts for all rows)
while (list($el_name, $data_array) = each($this->element_list[$table_name]["elements"]))

View File

@@ -98,7 +98,7 @@ class gettext_reader {
* @param object Reader the StreamReader object
* @param boolean enable_cache Enable or disable caching of strings (default on)
*/
function gettext_reader($Reader, $enable_cache = true) {
function __construct($Reader, $enable_cache = true) {
// If there isn't a StreamReader, turn on short circuit mode.
if (! $Reader || isset($Reader->error) ) {
$this->short_circuit = true;