function merge_skim_scheme($scheme) { require_once 'dirdb.php'; $scheme_base = '-1|00|00|-1|00|00|' . file_get_contents(DIR_SKIM_SCHEMES_BASE . '/' . $scheme); $db = new SkimSchemeBaseDB(); $data = $db->Retrieve($scheme); if ($data['dynamic']) { $scheme_dynamic = file_get_contents(DIR_SKIM_SCHEMES_DYNAMIC . '/' . $scheme); file_write(DIR_SKIM_SCHEMES . '/' . $scheme, $scheme_dynamic . $scheme_base); } else { file_write(DIR_SKIM_SCHEMES . '/' . $scheme, $scheme_base); } }
function _xSkimSchemesAdd() { require_once 'dirdb.php'; $db = new SkimSchemeBaseDB(); $v = Validator::Get(); $v->Register($_REQUEST['scheme'], VT_NOT_EMPTY, 'The Scheme Name field is required'); if (!string_is_empty($_REQUEST['scheme'])) { $v->Register($_REQUEST['scheme'], VT_REGEX_MATCH, 'The Scheme Name may contain only English letters, numbers, dashes and underscores', '~^[a-z0-9\\-_]+$~i'); $v->Register($db->Retrieve($_REQUEST['scheme']), VT_IS_NULL, 'This Scheme Name already exists'); } $v->Register($_REQUEST['cycle_1'], VT_NOT_EMPTY, 'The first cycle value must be filled in'); if (!$v->Validate()) { return JSON::Warning(array(JSON_KEY_MESSAGE => 'Skim scheme could not be added; please fix the following items', JSON_KEY_WARNINGS => $v->GetErrors())); } $db->Add($_REQUEST); require_once 'textdb.php'; $db = new SkimSchemesDynamicDB(); $db->db_file = DIR_SKIM_SCHEMES_DYNAMIC . '/' . $_REQUEST['scheme']; $db->Add($db->Defaults()); file_write(DIR_SKIM_SCHEMES . '/' . $_REQUEST['scheme'], file_get_contents(DIR_SKIM_SCHEMES_BASE . '/' . $_REQUEST['scheme'])); JSON::Success(array(JSON_KEY_MESSAGE => 'Skim scheme has been successfully added', JSON_KEY_ROW => _xIncludeCapture('skim-schemes-tr.php', $_REQUEST), JSON_KEY_ITEM_TYPE => 'skim-schemes', JSON_KEY_DIALOG => _xIncludeCapture('skim-schemes-add.php'))); }