$data = array('filenm' => $_GET['file'], 'has_expiration' => 'n', 'id_allowed_group' => '0', 'allowed_users' => '', 'expiration_date' => '0000-00-00'); if ($data['filenm'] != '' && $data['filenm'][0] == '/') { $data['filenm'] = substr($data['filenm'], 1); } $isFolder = $data['filenm'] != '' && $data['filenm'][strlen($data['filenm']) - 1] == '/'; if (isset($_GET['id_allowed_group']) && is_numeric($_GET['id_allowed_group'])) { $data['id_allowed_group'] = $_GET['id_allowed_group']; $data['allowed_users'] = ''; } else { if (isset($_GET['allowed_users'])) { $data['allowed_users'] = $_GET['allowed_users']; $data['id_allowed_group'] = 0; } } if (isset($_GET['ed']) && !$isFolder) { if (isData($_GET['ed'], $mysql_ed)) { // if it is a valid date, will put in $mysql_ed $data['has_expiration'] = 'y'; $data['expiration_date'] = $mysql_ed; } } $mod = $core->loaded('bi_fm'); $sql = "SELECT filenm FROM " . $mod->dbname . " WHERE filenm LIKE \"" . $data['filenm'] . "\""; $hasData = $core->dbo->fetch($sql) !== false; $core->safety = false; if ($hasData) { $core->runAction('bi_fm', CONS_ACTION_UPDATE, $data); } else { $core->runAction('bi_fm', CONS_ACTION_INCLUDE, $data); } $core->safety = true;
$temp = "<option value=''></option>"; $enums = explode(",", $regs[1]); foreach ($enums as $x) { $x = str_replace("'", "", $x); $db = array('enum' => $x, 'enum_translated' => $core->langOut($x), 'checked' => isset($_REQUEST[$name]) && $_REQUEST[$name] == $x ? ' selected="selected"' : ''); $temp .= $tp->techo($db); } $content = "<select id=\"{$name}\" name=\"{$name}\" >" . $temp . "</select>"; break; case CONS_TIPO_DATETIME: ################################################################ DATETIME ################################################################ DATETIME case CONS_TIPO_DATE: $fillDT['isbetween'] = 0; if ($compare != "m" && $compare != "b" && isset($_REQUEST[$name]) && $_REQUEST[$name] != "0000-00-00" && $_REQUEST[$name] != "0000-00-00 00:00:00" && $_REQUEST[$name] != "") { if (isData($_REQUEST[$name], $data)) { $sql['WHERE'][] = $module->name . "." . $name . "{$compare}\"" . $data . "\""; $filtering++; $isFilteringThis = true; } } else { if ($compare == "m") { if (is_numeric($_REQUEST[$name])) { if ($_REQUEST[$name] < 10) { $_REQUEST[$name] = "0" . $_REQUEST[$name]; } $sql['WHERE'][] = $module->name . "." . $name . " LIKE \"____-" . $_REQUEST[$name] . "-%\""; $filtering++; $isFilteringThis = true; } else { if (preg_match("@([0-9]{1,2})[^0-9]([0-9]{1,2})[^0-9]([0-9]{1,4})@", $_REQUEST[$name], $regs) > 0) {
function datecompare($d1, $d2) { # returns TRUE if $d1 is larger (future) then $d2. Supports date and datetime if (strpos($d1, "/") !== false) { if (isData($d1, $d1B)) { $d1 = $d1B; } else { $d1 = ''; } } if (strpos($d2, "/") !== false) { if (isData($d2, $d2B)) { $d2 = $d2B; } else { $d2 = ''; } } if ($d1 == '' || empty($d1) || is_null($d1)) { return false; } // first date is NULL, so it cannot be bigger if ($d2 == '' || empty($d2) || is_null($d2)) { return true; } // second date is NULL, so we are bigger if (strlen($d1) == strlen($d2) && strlen($d1) == 10) { $d1 = (int) str_replace("-", "", $d1); $d2 = (int) str_replace("-", "", $d2); // dates turned into integers ... can't get simpler then that return $d1 > $d2; } else { if (strlen($d1) == strlen($d2) && strlen($d1) == 19) { $d1 = str_replace("-", "", $d1); $d1 = str_replace(" ", "", $d1); $d1 = (int) str_replace(":", "", $d1); $d2 = str_replace("-", "", $d2); $d2 = str_replace(" ", "", $d2); $d2 = (int) str_replace(":", "", $d2); // dates turned into integers ... can't get simpler then that return $d1 > $d2; } } // dates have values in one char, use preg if (preg_match("@([0-9]{1,4})\\-([0-9]{1,2})\\-([0-9]{1,2}) (([0-9]{1,2}):([0-9]{1,2})(:([0-9]{1,2}))?)?@", $d1, $e1) && preg_match("@([0-9]{1,4})\\-([0-9]{1,2})\\-([0-9]{1,2}) (([0-9]{1,2}):([0-9]{1,2})(:([0-9]{1,2}))?)?@", $d2, $e2)) { $d1 = str_pad($e1[1], 2, "0", STR_PAD_LEFT) . str_pad($e1[2], 2, "0", STR_PAD_LEFT) . str_pad($e1[3], 2, "0", STR_PAD_LEFT) . (isset($e1[5]) && $e1[5] != '' ? str_pad($e1[5], 2, "0", STR_PAD_LEFT) : '00') . (isset($e1[6]) && $e1[6] != '' ? str_pad($e1[6], 2, "0", STR_PAD_LEFT) : '00') . (isset($e1[8]) && $e1[8] != '' ? str_pad($e1[8], 2, "0", STR_PAD_LEFT) : '00'); $d2 = str_pad($e2[1], 2, "0", STR_PAD_LEFT) . str_pad($e2[2], 2, "0", STR_PAD_LEFT) . str_pad($e2[3], 2, "0", STR_PAD_LEFT) . (isset($e2[5]) && $e2[5] != '' ? str_pad($e2[5], 2, "0", STR_PAD_LEFT) : '00') . (isset($e2[6]) && $e2[6] != '' ? str_pad($e2[6], 2, "0", STR_PAD_LEFT) : '00') . (isset($e2[8]) && $e2[8] != '' ? str_pad($e2[8], 2, "0", STR_PAD_LEFT) : '00'); return (int) $d1 > (int) $d2; } else { return false; } // oh well }