function Edit() { $dataset = new A_DataSet(STRUCTURE, true); $dataset->fields = array("name"); foreach (A::$LANGUAGES as $key => $name) { $_REQUEST["name_{$key}"] = trim($_REQUEST["name_{$key}"]); $dataset->fields[] = "name_{$key}"; } return $dataset->Update(); }
function Edit() { $data = array(); for ($i = 0; $i <= 6; $i++) { if (!empty($_REQUEST["price{$i}"]) || !empty($_REQUEST["per{$i}"])) { $data[] = array('from' => !empty($_REQUEST["from{$i}"]) ? (int) $_REQUEST["from{$i}"] : "", 'to' => !empty($_REQUEST["to{$i}"]) ? (int) $_REQUEST["to{$i}"] : "", 'price' => !empty($_REQUEST["price{$i}"]) ? (int) $_REQUEST["price{$i}"] : 0, 'per' => !empty($_REQUEST["per{$i}"]) ? (int) $_REQUEST["per{$i}"] : 0); } } $_REQUEST['name'] = trim($_REQUEST['name']); $_REQUEST['data'] = serialize($data); $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "data"); return $dataset->Update(); }
function Edit() { $_REQUEST['name'] = preg_replace("/[^a-zA-Z0-9_-]/i", "", $_REQUEST['name']); $_REQUEST['caption'] = strip_tags($_REQUEST['caption']); if ($_REQUEST['mode'] = isset($_REQUEST['vmode']) ? 1 : 0) { $_REQUEST['value'] = $_REQUEST['valuetxt']; } if (empty($_REQUEST['name']) || A::$DB->existsRow("SELECT id FROM " . DOMAIN . "_options WHERE name=?", $_REQUEST['name']) || A::$DB->existsRow("SELECT id FROM " . STRUCTURE . " WHERE name=? AND id<>" . (int) $_REQUEST['id'], $_REQUEST['name'])) { $this->errors['doubleopt'] = true; return false; } $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "caption", "mode", "value"); return $dataset->Update(); }
function Edit() { $PURL = parse_url(trim($_REQUEST['url'])); $_REQUEST['url'] = urldecode($PURL['path']); if (empty($_REQUEST['url'])) { return false; } if (A::$DB->existsRow("SELECT id FROM " . STRUCTURE . " WHERE url=? AND id<>" . (int) $_REQUEST['id'], $_REQUEST['url'])) { $this->errors['doubleurl'] = true; return false; } $_REQUEST['title'] = strip_tags(trim($_REQUEST['title'])); $_REQUEST['keywords'] = strip_tags(trim($_REQUEST['keywords'])); $_REQUEST['description'] = strip_tags(trim($_REQUEST['description'])); $MURL = parse_url(trim($_REQUEST['move'])); $_REQUEST['move'] = !empty($MURL['host']) ? "http://" . $MURL['host'] : ""; if (!empty($MURL['path'])) { $_REQUEST['move'] .= urldecode($MURL['path']); } $_REQUEST['notfound'] = isset($_REQUEST['notfound']) ? 'Y' : 'N'; $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("url", "title", "keywords", "description", "move", "notfound"); return $dataset->Update(); }
/** * Обработчик действия: Изменение товара. */ function EditItem() { $_REQUEST['date'] = time(); $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['idcat'] = (int) $_REQUEST['idcat']; $_REQUEST['idcat1'] = isset($_REQUEST['idcat1']) ? (int) $_REQUEST['idcat1'] : 0; $_REQUEST['idcat2'] = isset($_REQUEST['idcat2']) ? (int) $_REQUEST['idcat2'] : 0; $_REQUEST['art'] = trim($_REQUEST['art']); if (!empty($_REQUEST['art']) && A::$DB->existsRow("SELECT id FROM " . SECTION . "_catalog WHERE art=? AND id<>" . (int) $_REQUEST['id'], $_REQUEST['art'])) { $this->errors['doubleart'] = true; return false; } if (empty($_REQUEST['urlname']) && !empty(A::$OPTIONS['idrule'])) { $data = $_REQUEST; prepareValues(SECTION, $data); $litems = array(); $idrule = A::$OPTIONS['idrule']; $idrule = explode("+", $idrule); foreach ($idrule as $fname) { if (!empty($data[$fname])) { $litems[] = getURLName($data[$fname]); } } $_REQUEST['urlname'] = implode(!empty($GLOBALS['A_URL_SEPARATOR']) ? $GLOBALS['A_URL_SEPARATOR'] : "_", $litems); } $_REQUEST['urlname'] = getURLName($_REQUEST['name'], $_REQUEST['urlname'], SECTION . "_catalog", "idcat=" . (int) $_REQUEST['idcat'] . " AND id<>" . (int) $_REQUEST['id']); $_REQUEST['price'] = (double) str_replace(',', '.', $_REQUEST['price']); $_REQUEST['oldprice'] = (double) str_replace(',', '.', $_REQUEST['oldprice']); $_REQUEST['iscount'] = (int) $_REQUEST['iscount']; $_REQUEST['active'] = isset($_REQUEST['active']) ? "Y" : "N"; $_REQUEST['favorite'] = isset($_REQUEST['favorite']) ? "Y" : "N"; $_REQUEST['new'] = isset($_REQUEST['new']) ? "Y" : "N"; $_REQUEST['keywords'] = getkeywords($_REQUEST['content']); if (A::$OPTIONS['autoanons']) { $_REQUEST['description'] = truncate($_REQUEST['content'], A::$OPTIONS['anonslen']); } $dataset = new A_DataSet(SECTION . "_catalog", true); $dataset->fields = array("idcat", "idcat1", "idcat2", "name", "art", "tags", "urlname", "description", "keywords", "content", "price", "oldprice", "iscount", "favorite", "new", "active"); if (A::$OPTIONS['modprices']) { $mprices = array(); for ($i = 1; $i <= 10; $i++) { if (!empty($_REQUEST["mprice{$i}_text"]) && !empty($_REQUEST["mprice{$i}_price"])) { $mprices[] = array('name' => $_REQUEST["mprice{$i}_text"], 'price' => (double) $_REQUEST["mprice{$i}_price"]); } } if (count($mprices) > 0) { $_REQUEST['price'] = $mprices[0]['price']; $_REQUEST['mprices'] = serialize($mprices); } else { $_REQUEST['mprices'] = ""; } $dataset->fields[] = 'mprices'; } if ($row = $dataset->Update()) { $path = getTreePath(SECTION . "_categories", $_REQUEST['idcat'], " - "); $name = !empty($path) ? $path . ' - ' . $_REQUEST['name'] : $_REQUEST['name']; if ($_REQUEST['active'] == 'Y') { A::$OBSERVER->Event('searchIndexUpdate', SECTION, array('id' => $row['id'], 'name' => $name, 'content' => $_REQUEST['content'], 'tags' => $_REQUEST['tags'])); } else { A::$OBSERVER->Event('searchIndexDelete', SECTION, array('id' => $row['id'])); } if ($_REQUEST['idcat'] != $row['idcat']) { self::updateCategoryItems($_REQUEST['idcat']); self::updateCategoryItems($row['idcat']); } if ($_REQUEST['idcat1'] != $row['idcat1']) { self::updateCategoryItems($_REQUEST['idcat1']); self::updateCategoryItems($row['idcat1']); } if ($_REQUEST['idcat2'] != $row['idcat2']) { self::updateCategoryItems($_REQUEST['idcat2']); self::updateCategoryItems($row['idcat2']); } unset($_POST['idcat']); return true; } else { return false; } }
function EditBanner() { $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "idcat", "url", "showurl", "date", "target", "text", "width", "height", "show", "active"); $_REQUEST['name'] = strclear($_REQUEST['name']); $_REQUEST['idcat'] = $_REQUEST['idcat2']; $_REQUEST['active'] = isset($_REQUEST['active']) ? 'Y' : 'N'; $_REQUEST['url'] = urldecode($_REQUEST['url']); if (isset($_REQUEST['showall'])) { $_REQUEST['showurl'] = ""; } elseif ($_REQUEST['showurl']) { $showurls = explode("\n", $_REQUEST['showurl']); foreach ($showurls as $i => $url) { if ($url = urldecode($url)) { $showurls[$i] = $url; } else { unset($showurls[$i]); } } $_REQUEST['showurl'] = implode("\n", $showurls); } if (isset($_REQUEST['date'])) { $_REQUEST['date'] = "Y"; array_push($dataset->fields, "date1", "date2"); } else { $_REQUEST['date'] = "N"; } if (!isset($_REQUEST['showall'])) { $_REQUEST['show'] = !empty($_REQUEST['show']) ? serialize($_REQUEST['show']) : ""; } else { $_REQUEST['show'] = ""; } $banner_ext = array("gif", "jpg", "jpeg", "png", "swf"); if (isset($_FILES['bannerfile']['tmp_name']) && file_exists($_FILES['bannerfile']['tmp_name'])) { $ext = $basename = ""; escapeFileName($_FILES['bannerfile']['name'], $ext, $basename); $basename = translit($basename); if (in_array($ext, $banner_ext)) { delfile($dataset->data['filepath']); mk_dir($path = "files/" . DOMAIN . "/rek_images"); $_REQUEST["filepath"] = $path . "/{$basename}.{$ext}"; $i = 1; while (is_file($_REQUEST["filepath"])) { $_REQUEST["filepath"] = $path . "/{$basename}_" . sprintf("%02d", $i++) . ".{$ext}"; } copyfile($_FILES['bannerfile']['tmp_name'], $_REQUEST["filepath"]); $_REQUEST["type"] = $ext == "swf" ? "flash" : "image"; array_push($dataset->fields, "filepath", "type"); if ($_REQUEST["type"] == "image") { require_once 'Image/Transform.php'; $it = Image_Transform::factory('GD'); $it->load($_FILES['bannerfile']['tmp_name']); $_REQUEST["width"] = $it->img_x; $_REQUEST["height"] = $it->img_y; } } } return $dataset->Update(); }
/** * Обработчик действия: Изменение поля. */ function EditField() { $row = A::$DB->getRowById($_REQUEST['id'], DOMAIN . "_fields"); $fields = A::$DB->getCol("SELECT field FROM " . DOMAIN . "_fields WHERE item='" . SECTION . "'"); if ($_REQUEST['field'] != $row['field'] && in_array($_REQUEST['field'], $fields)) { $this->errors['doublefield'] = true; return false; } $lang = LANG == 'all' ? DEFAULTLANG : LANG; $_REQUEST['fill'] = isset($_REQUEST['fill']) ? 'Y' : 'N'; $_REQUEST['name_' . $lang] = $_REQUEST['name']; $dataset = new A_DataSet(DOMAIN . "_fields"); $dataset->fields = array("field", "type", "fill", "name_" . $lang); switch ($_REQUEST['type']) { case "string": if (empty($_REQUEST['length']) || !is_numeric($_REQUEST['length'])) { $_REQUEST['property'] = 50; } else { $_REQUEST['property'] = $_REQUEST['length']; } $dataset->fields[] = "property"; break; case "bool": $_REQUEST['property'] = !empty($_REQUEST['booldef']) ? $_REQUEST['booldef'] : 0; $dataset->fields[] = "property"; break; case "text": if (empty($_REQUEST['rows']) || !is_numeric($_REQUEST['rows'])) { $_REQUEST['property'] = 5; } else { $_REQUEST['property'] = $_REQUEST['rows']; } $dataset->fields[] = "property"; break; case "format": if (empty($_REQUEST['height']) || !is_numeric($_REQUEST['height'])) { $_REQUEST['property'] = 200; } else { $_REQUEST['property'] = $_REQUEST['height']; } $dataset->fields[] = "property"; break; case "select": case "mselect": if (empty($_REQUEST['idvar'])) { require_once "system/objcomp/fieldseditor.php"; $_REQUEST['idvar'] = A_FieldsEditor::createList($_REQUEST['field'], $_REQUEST['name_' . $lang]); } $_REQUEST['property'] = $_REQUEST['idvar']; $dataset->fields[] = "property"; break; } return $dataset->Update(); }
/** * Обработчик действия: Изменение страницы. */ function EditPage() { $row = A::$DB->getRowById($_REQUEST['id'], SECTION); if (!$row) { return false; } $_REQUEST['date'] = time(); $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['urlname'] = getUrlName($_REQUEST['name'], $_REQUEST['urlname'], SECTION, "type='page' AND idker={$row['idker']} AND id<>" . $row['id']); $_REQUEST['keywords'] = getkeywords($_REQUEST['content']); $_REQUEST['description'] = truncate($_REQUEST['content'], 350); $_REQUEST["template"] = preg_replace("/[^a-zA-Z0-9._-]+/i", "", $_REQUEST["template"]); $_REQUEST['active'] = isset($_REQUEST['active']) ? 'Y' : 'N'; $_REQUEST['inmap'] = isset($_REQUEST['inmap']) ? 'Y' : 'N'; $dataset = new A_DataSet(SECTION, true); $dataset->fields = array("date", "name", "urlname", "keywords", "description", "content", "tags", "template", "active", "inmap"); if ($row = $dataset->Update()) { $name = getTreePath(SECTION, $row['level'] == 0 || $row['urlname'] != 'index' ? $row['id'] : $row['idker'], " - "); if ($_REQUEST['active'] == 'Y') { A::$OBSERVER->Event('searchIndexUpdate', SECTION, array('id' => $row['id'], 'name' => $name, 'content' => $_REQUEST['content'], 'tags' => $_REQUEST['tags'])); } else { A::$OBSERVER->Event('searchIndexDelete', SECTION, array('id' => $row['id'])); } if (!empty($_REQUEST["template"])) { copyfile("modules/pages/templates/default/pages_page.tpl", "templates/" . DOMAIN . "/" . $_REQUEST["template"]); } while ($row['idker']) { if ($row = A::$DB->getRowById($row['idker'], SECTION)) { A::$DB->Update(SECTION, array('date' => $_REQUEST['date']), "id=" . $row['id']); } } return true; } else { return false; } }
function EditRSS() { $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("idsec", "idcat", "rows"); return $dataset->Update(); }
/** * Обработчик действия: Изменение записи. */ function EditItem() { $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['idcat'] = (int) $_REQUEST['idcat']; $_REQUEST['urlname'] = getURLName($_REQUEST['name'], $_REQUEST['urlname'], SECTION . "_catalog", "idcat=" . (int) $_REQUEST['idcat'] . " AND id<>" . (int) $_REQUEST['id']); $_REQUEST['active'] = isset($_REQUEST['active']) ? "Y" : "N"; $_REQUEST['keywords'] = getkeywords($_REQUEST['content']); if (A::$OPTIONS['autoanons']) { $_REQUEST['description'] = truncate($_REQUEST['content'], A::$OPTIONS['anonslen']); } if (!A::$OPTIONS['usedate']) { $_REQUEST['date'] = time(); } $_REQUEST['mdate'] = time(); $dataset = new A_DataSet(SECTION . "_catalog", true); $dataset->fields = array("date", "mdate", "idcat", "name", "urlname", "description", "keywords", "content", "tags", "active"); if ($row = $dataset->Update()) { if ($_REQUEST['active'] == 'Y') { $path = getTreePath(SECTION . "_categories", $_REQUEST['idcat'], " - "); $name = !empty($path) ? $path . ' - ' . $_REQUEST['name'] : $_REQUEST['name']; A::$OBSERVER->Event('searchIndexUpdate', SECTION, array('id' => $row['id'], 'name' => $name, 'content' => $_REQUEST['content'], 'tags' => $_REQUEST['tags'])); } else { A::$OBSERVER->Event('searchIndexDelete', SECTION, array('id' => $row['id'])); } if ($_REQUEST['idcat'] != $row['idcat']) { self::updateCategoryItems($_REQUEST['idcat']); self::updateCategoryItems($row['idcat']); } unset($_POST['idcat']); return true; } else { return false; } }
function Edit() { $idsec = (int) A_Session::get(STRUCTURE, 0); if ($section = getSectionById($idsec)) { $table = $section . "_categories"; } else { return false; } $_REQUEST['field'] = substr(strtolower(preg_replace("/[^a-zA-Z0-9_]+/i", "", $_REQUEST['field'])), 0, 20); if (empty($_REQUEST['field'])) { return false; } $row = A::$DB->getRowById($_REQUEST['id'], STRUCTURE); $fields = A::$DB->getFields($table); if ($_REQUEST['field'] != $row['field'] && in_array($_REQUEST['field'], $fields)) { $this->errors['doublefield'] = true; return false; } $_REQUEST['name'] = strclear($_REQUEST['name']); $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("field", "name", "type"); switch ($_REQUEST['type']) { case "string": if (empty($_REQUEST['length']) || !is_numeric($_REQUEST['length'])) { $_REQUEST['property'] = 50; } else { $_REQUEST['property'] = $_REQUEST['length']; } $dataset->fields[] = "property"; break; case "bool": $_REQUEST['property'] = !empty($_REQUEST['booldef']) ? $_REQUEST['booldef'] : 0; $dataset->fields[] = "property"; break; case "text": if (empty($_REQUEST['rows']) || !is_numeric($_REQUEST['rows'])) { $_REQUEST['property'] = 5; } else { $_REQUEST['property'] = $_REQUEST['rows']; } $dataset->fields[] = "property"; break; case "format": if (empty($_REQUEST['height']) || !is_numeric($_REQUEST['height'])) { $_REQUEST['property'] = 200; } else { $_REQUEST['property'] = $_REQUEST['height']; } $dataset->fields[] = "property"; break; case "select": case "mselect": if (empty($_REQUEST['idvar'])) { return false; } $_REQUEST['property'] = $_REQUEST['idvar']; $dataset->fields[] = "property"; break; } if ($row = $dataset->Update()) { $field = $_REQUEST['field']; if ($this->existsindex($table, $row['field'])) { A::$DB->execute("ALTER TABLE `{$table}` DROP INDEX `{$row['field']}`"); } switch ($_REQUEST['type']) { case "string": $length = $_REQUEST['property']; A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` VARCHAR({$length}) DEFAULT '' NOT NULL"); break; case "int": case "date": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` INT(11) DEFAULT '0' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD INDEX (`{$field}`)"); break; case "image": case "file": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` INT(11) DEFAULT '0' NOT NULL"); break; case "float": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` DECIMAL(10,2) DEFAULT '0' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD INDEX (`{$field}`)"); break; case "bool": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` ENUM('Y','N') DEFAULT 'N' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD INDEX (`{$field}`)"); break; case "text": case "format": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` TEXT DEFAULT '' NOT NULL"); break; case "select": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` INT(11) DEFAULT '0' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD INDEX (`{$field}`)"); break; case "mselect": A::$DB->execute("ALTER TABLE `{$table}` CHANGE `{$row['field']}` `{$field}` text DEFAULT '' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD FULLTEXT (`{$field}`)"); break; } return true; } else { return false; } }