예제 #1
0
$query = mysql_escapef("SELECT * FROM `{$escapedTableName}` WHERE num = ? LIMIT 1", @$_REQUEST['num']);
$oldRecord = mysql_get_query($query);
$recordExists = $oldRecord;
$isNewRecord = !$oldRecord;
//
doAction('record_presave', $tableName, $isNewRecord, $oldRecord);
//
$mySqlColsAndTypes = getMySqlColsAndType($escapedTableName);
$newRecordValues = _getRecordValuesFromFormInput();
### Security Checks
security_dieUnlessPostForm();
security_dieUnlessInternalReferer();
security_dieOnInvalidCsrfToken();
### error checking
$inputErrors = '';
$maxRecordError = $recordExists ? '' : showMaxRecordsError('returnText');
if ($maxRecordError) {
    $inputErrors = $maxRecordError;
} elseif (@$schema['_disableAdd'] && !$recordExists) {
    $inputErrors = t('Adding records has been disabled for this section!') . "\n";
} elseif (@$schema['_disableModify'] && $recordExists) {
    $inputErrors = t('Modifying records has been disabled for this section!') . "\n";
} else {
    $inputErrors = _getInputValidationErrors($mySqlColsAndTypes, $newRecordValues);
}
if ($inputErrors) {
    die($inputErrors);
}
// displayed by ajax form submitter
if (!$_REQUEST['num'] && !$_REQUEST['preSaveTempId']) {
    die("No value set for 'preSaveTempId'!");
    $recordNum = (int) @$_REQUEST['saved'];
    $message = t("Record saved.");
    $message = applyFilters('record_saved_message', $message, $tableName, $recordNum);
    notice($message);
}
// show iframe menus
_showIframeSections();
//
doAction('section_preDispatch', $tableName, $action);
### Dispatch actions
if ($action == 'list') {
    include 'lib/menus/default/list.php';
} elseif ($action == 'listDragSort') {
    listDragSort();
} elseif ($action == 'add') {
    showMaxRecordsError();
    showInterface('default/edit.php', false);
} elseif ($action == 'edit') {
    showInterface('default/edit.php', false);
} elseif ($action == 'view') {
    showInterface('default/view.php', false);
} elseif ($action == 'eraseRecords') {
    eraseRecords();
    if (@$_REQUEST['returnUrl']) {
        redirectBrowserToURL($_REQUEST['returnUrl'], true);
    }
    include 'lib/menus/default/list.php';
} elseif ($action == 'save') {
    include 'lib/menus/default/save.php';
} elseif ($action == 'uploadList') {
    include 'lib/menus/default/uploadList.php';