function makeDefault() { $col = SQLFN(gp('column')); $skey = SQLFN(gp('skey')); SQL("update configuser set {$col} = null WHERE skey = {$skey}"); configWrite('user'); }
} } } else { if (installerStep() == STEP_PERMISSION) { if (isRedirect()) { redirectSelf(); } $result['page'] = 'Check Permission'; $result['permission'] = permissionProcess(); } else { if (installerStep() === STEP_WRITE) { $result['page'] = 'Write Files'; if (isRedirect()) { redirectSelf(); } $result['config'] = configWrite(); $result['db'] = dbWrite(); if ($result['config'] && $result['db']) { transitionNextStep(); redirectSelf(); } } else { if (installerStep() === STEP_DONE) { $result['page'] = 'Done'; } else { installerStepSet(STEP_PHP_REQUIREMENTS); redirectSelf(); } } } }
function save() { $table_id = gp('x6page'); $dd = ddTable($table_id); $row0 = aFromGP('x6v_'); $row1 = aFromgp('x6inp_' . $table_id . '_'); $row = array_merge($row0, $row1); if (arr($row, 'skey', 0) == 0) { unset($row['skey']); } # KFD 12/20/08, prevent ui saves if dd does not allow them if (!isset($row['skey'])) { $perm = $this->uiPerm(gp('x6page'), 'ins'); if (!$perm) { x6Error("Inserts not allowed from this screen"); return; } } else { $perm = $this->uiPerm(gp('x6page'), 'upd'); if (!$perm) { x6Error("Updates not allowed from this screen"); return; } } # Add in values from parent if (gp('tableIdPar', false)) { $vals2 = $this->fetchParent(); $row = array_merge($row, $vals2); } # KFD 12/8/08, More generalized code to allow for # inserts before or after a row. # # an skeyAfter value means we must find the queuepos # column in this table, and save a value of that # column equal to +1 of the value in row skeyAfter if (gp('queuepos', '') != '') { $queuepos = gp('queuepos'); $skeyBefore = gp('skeyBefore'); $skeyAfter = gp('skeyAfter'); $skey = 0; if ($skeyBefore != -1) { $skey = $skeyBefore; } if ($skeyAfter != -1) { $skey = $skeyAfter; } if ($skey == 0) { $row[$queuepos] = 1; } else { $qpvalue = SQL_OneValue($queuepos, "Select {$queuepos} from {$dd['viewname']}\n where skey = " . sqlfc($skey)); if ($skey == $skeyAfter) { $qpvalue++; } else { $qpvalue--; } $row[$queuepos] = $qpvalue; } } # KFD 6/28/08, a non-empty date must be valid $errors = false; foreach ($row as $col => $value) { if (!isset($dd['flat'][$col])) { unset($row[$col]); continue; } $ermsg = "Invalid date format for " . $dd['flat'][$col]['description']; $ermsg2 = "Invalid date value for " . $dd['flat'][$col]['description']; if ($dd['flat'][$col]['type_id'] == 'date') { if (trim($value) == '') { continue; } if (strpos($value, '/') === false && strpos($value, '-') === false) { x6Error($ermsg); $errors = true; continue; } if (strpos($value, '/') !== false) { $parsed = explode('/', $value); if (count($parsed) != 3) { $errors = true; x6Error($ermsg); continue; } if (!checkdate($parsed[0], $parsed[1], $parsed[2])) { x6Error($ermsg2); $errors = true; continue; } } if (strpos($value, '-') !== false) { $parsed = explode('-', $value); if (count($parsed) != 3) { $errors = true; x6Error($ermsg); continue; } if (!checkdate($parsed[1], $parsed[2], $parsed[0])) { x6Error($ermsg2); $errors = true; continue; } } } } if ($errors) { return; } if (!isset($row['skey'])) { # KFD 5/26/09 Google Feature #23, hook inserts $method = $table_id . "_before_insert"; if (method_exists($this, $method)) { $row = $this->{$method}($row); } # KFD 6/8/09 Google #30, no action if returns false if ($row) { $skey = SQLX_Insert($dd, $row); if (!errors()) { $row = SQL_OneRow("Select * FROM {$dd['viewname']} WHERE skey = {$skey}"); # KFD 5/26/09 Google Feature #23, hook inserts $method = $table_id . "_after_insert"; if (method_exists($this, $method)) { $row = $this->{$method}($row); } x6Data('row', $row); } } } else { # KFD 5/26/09 Google Feature #23, hook updates $method = $table_id . "_before_update"; if (method_exists($this, $method)) { $row = $this->{$method}($row); } # KFD 6/8/09 Google #30, no action if returns false if ($row) { SQLX_Update($dd, $row); if (!errors()) { $skey = $row['skey']; $row = SQL_OneRow("Select * FROM {$dd['viewname']} WHERE skey = {$skey}"); # KFD 5/26/09 Google Feature #23, hook updates $method = $table_id . "_after_update"; if (method_exists($this, $method)) { $row = $this->{$method}($row); } x6Data('row', $row); } } } if (vgfGet('x6') == true) { if ($table_id == 'configinst') { configWrite('inst'); } if ($table_id == 'configapp') { configWrite('app'); } } }