function Add() { $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . STRUCTURE) + 1; $dataset = new A_DataSet(STRUCTURE, true); $dataset->fields = array("sort"); foreach (A::$LANGUAGES as $key => $name) { $_REQUEST["name_{$key}"] = trim($_REQUEST["name_{$key}"]); $dataset->fields[] = "name_{$key}"; } return $dataset->Insert(); }
function Add() { $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['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . STRUCTURE) + 1; $_REQUEST['data'] = serialize($data); $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "data", "sort"); return $dataset->Insert(); }
function Add() { $_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=?", $_REQUEST['name'])) { $this->errors['doubleopt'] = true; return false; } $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . STRUCTURE) + 1; $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "caption", "value", "mode", "sort"); return $dataset->Insert(); }
function Add() { $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=?", $_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->Insert(); }
/** * Обработчик действия: Добавление столбца в структуру импорта. */ function AddCol() { $fields = array(); for ($i = 0; $i < 3; $i++) { $fields['category' . $i] = array('field' => 'category' . $i, 'name' => 'Категория ур.' . ($i + 1), 'type' => 'string'); } $fields['name'] = array('field' => 'name', 'name' => 'Название', 'type' => 'string'); $fields['content'] = array('field' => 'content', 'name' => 'Описание', 'type' => 'string'); $fields['description'] = array('field' => 'description', 'name' => 'Аннотация', 'type' => 'text'); $fields['art'] = array('field' => 'art', 'name' => 'Артикул', 'type' => 'string'); $fields['mprice'] = array('field' => 'mprice', 'name' => 'Модификатор', 'type' => 'mprice'); $fields['price'] = array('field' => 'price', 'name' => 'Цена', 'type' => 'float'); $fields['oldprice'] = array('field' => 'oldprice', 'name' => 'Прошлая цена', 'type' => 'float'); $fields['iscount'] = array('field' => 'iscount', 'name' => 'Количество', 'type' => 'int'); $fields['active'] = array('field' => 'active', 'name' => 'Активен', 'type' => 'bool'); $fields['favorite'] = array('field' => 'favorite', 'name' => 'Спецпредложение', 'type' => 'bool'); $fields['new'] = array('field' => 'new', 'name' => 'Новинка', 'type' => 'bool'); $fields['tags'] = array('field' => 'tags', 'name' => 'Теги', 'type' => 'string'); for ($i = 0; $i < 3; $i++) { $fields['idimg' . $i] = array('field' => 'idimg' . $i, 'name' => 'Фото ' . ($i + 1), 'type' => 'image'); } for ($i = 0; $i < 3; $i++) { $fields['idfile' . $i] = array('field' => 'idfile' . $i, 'name' => 'Файл ' . ($i + 1), 'type' => 'file'); } $sort = A_Session::get(SECTION . "_sort", isset($_COOKIE[SECTION . '_sort']) ? $_COOKIE[SECTION . '_sort'] : A::$OPTIONS['sort']); if ($sort == 'sort') { $fields['sort'] = array('field' => 'sort', 'name' => 'Порядок', 'type' => 'int'); } A::$DB->query("SELECT * FROM " . DOMAIN . "_fields WHERE item='" . SECTION . "' AND type<>'file' AND type<>'image' AND type<>'date' ORDER BY sort"); while ($row = A::$DB->fetchRow()) { if ($row['type'] == 'format') { $row['type'] = 'text'; } $fields[$row['field']] = array('field' => $row['field'], 'name' => $row['name_' . DEFAULTLANG], 'type' => $row['type']); } A::$DB->free(); $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . SECTION . "_cols") + 1; $_REQUEST['caption'] = $fields[$_REQUEST['field']]['name']; $_REQUEST['type'] = $fields[$_REQUEST['field']]['type']; $dataset = new A_DataSet(SECTION . "_cols"); $dataset->fields = array("id", "field", "caption", "type", "sort"); return $dataset->Insert(); }
function AddBanner() { $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("name", "idcat", "url", "showurl", "target", "text", "width", "height", "sort", "active"); $_REQUEST['name'] = strclear($_REQUEST['name']); $_REQUEST["sort"] = A::$DB->getOne("SELECT MAX(sort) FROM " . STRUCTURE) + 1; $_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, "date", "date1", "date2"); } if (!isset($_REQUEST['showall']) && !empty($_REQUEST['show'])) { $_REQUEST['show'] = serialize($_REQUEST['show']); array_push($dataset->fields, "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)) { 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->Insert(); }
/** * Обработчик действия: Добавление поля. */ function AddField() { $fields = A::$DB->getCol("SELECT field FROM " . DOMAIN . "_fields WHERE item='" . SECTION . "'"); if (in_array($_REQUEST['field'], $fields)) { $this->errors['doublefield'] = true; return false; } $lang = LANG == 'all' ? DEFAULTLANG : LANG; $_REQUEST['item'] = SECTION; $_REQUEST['fill'] = isset($_REQUEST['fill']) ? 'Y' : 'N'; $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . DOMAIN . "_fields WHERE item='" . SECTION . "'") + 1; $_REQUEST['name_' . $lang] = $_REQUEST['name']; $dataset = new A_DataSet(DOMAIN . "_fields"); $dataset->fields = array("item", "field", "type", "fill", "sort", "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]); } if (empty($_REQUEST['idvar'])) { return false; } $_REQUEST['property'] = $_REQUEST['idvar']; $dataset->fields[] = "property"; break; } return $dataset->Insert(); }
/** * Обработчик действия: Добавление страницы. */ function AddPage() { $curdir = (int) empty($_REQUEST['parent_id']) ? A_Session::get(SECTION . "_cid", 0) : $_REQUEST['parent_id']; if ($row = A::$DB->getRowById($curdir, SECTION)) { $_REQUEST['idker'] = $curdir; $_REQUEST['level'] = $row['level'] + 1; } else { $_REQUEST['idker'] = 0; $_REQUEST['level'] = 0; } $_REQUEST['date'] = time(); $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['urlname'] = getURLName($_REQUEST['name'], $_REQUEST['urlname'], SECTION, "type='page' AND idker=" . (int) $_REQUEST['idker']); $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . SECTION . " WHERE idker=" . (int) $_REQUEST['idker']) + 1; $_REQUEST['type'] = 'page'; $_REQUEST["template"] = preg_replace("/[^a-zA-Z0-9._-]+/i", "", $_REQUEST["template"]); $_REQUEST['keywords'] = getkeywords($_REQUEST['content']); $_REQUEST['description'] = truncate($_REQUEST['content'], 350); $_REQUEST['active'] = isset($_REQUEST['active']) ? 'Y' : 'N'; $_REQUEST['inmap'] = isset($_REQUEST['inmap']) ? 'Y' : 'N'; $dataset = new A_DataSet(SECTION, true); $dataset->fields = array("date", "idker", "level", "urlname", "name", "tags", "keywords", "description", "content", "type", "sort", "template", "active", "inmap"); if ($id = $dataset->Insert()) { $name = getTreePath(SECTION, $_REQUEST['level'] == 0 || $_REQUEST['urlname'] != 'index' ? $id : $_REQUEST['idker'], " - "); if ($_REQUEST['active'] == 'Y') { A::$OBSERVER->Event('searchIndexUpdate', SECTION, array('id' => $id, 'name' => $name, 'content' => $_REQUEST['content'], 'tags' => $_REQUEST['tags'])); } if (!empty($_REQUEST["template"])) { copyfile("modules/pages/templates/default/pages_page.tpl", "templates/" . DOMAIN . "/" . $_REQUEST["template"]); } return $id; } else { return false; } }
function AddRSS() { $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("idsec", "idcat", "rows"); return $dataset->Insert(); }
/** * Обработчик действия: Добавление записи. */ function AddItem() { $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['idcat'] = (int) $_REQUEST['idcat']; $_REQUEST['urlname'] = getURLName($_REQUEST['name'], $_REQUEST['urlname'], SECTION . "_catalog", "idcat=" . (int) $_REQUEST['idcat']); $_REQUEST['active'] = isset($_REQUEST['active']) ? "Y" : "N"; $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . SECTION . "_catalog") + 1; $_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", "sort"); if ($id = $dataset->Insert()) { for ($i = 1; $i <= 5; $i++) { if (isset($_REQUEST["imagedescription{$i}"])) { UploadImage("image{$i}", $_REQUEST["imagedescription{$i}"], 0, $id, $i); } } for ($i = 1; $i <= 5; $i++) { if (isset($_REQUEST["filedescription{$i}"])) { UploadFile("file{$i}", $_REQUEST["filedescription{$i}"], 0, $id, $i); } } 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' => $id, 'name' => $name, 'content' => $_REQUEST['content'], 'tags' => $_REQUEST['tags'])); } self::updateCategoryItems($_REQUEST['idcat']); unset($_POST['idcat']); return $id; } else { return false; } }
function Add() { $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; } $fields = A::$DB->getFields($table); if (in_array($_REQUEST['field'], $fields)) { $this->errors['doublefield'] = true; return false; } $_REQUEST['idsec'] = $idsec; $_REQUEST['name'] = strclear($_REQUEST['name']); $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . STRUCTURE . " WHERE idsec='{$idsec}'") + 1; $dataset = new A_DataSet(STRUCTURE); $dataset->fields = array("idsec", "field", "name", "type", "sort"); 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 ($dataset->Insert()) { $field = $_REQUEST['field']; switch ($_REQUEST['type']) { case "string": $length = $_REQUEST['property']; A::$DB->execute("ALTER TABLE `{$table}` ADD `{$field}` VARCHAR({$length}) DEFAULT '' NOT NULL"); break; case "int": case "date": A::$DB->execute("ALTER TABLE `{$table}` ADD `{$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}` ADD `{$field}` INT(11) DEFAULT '0' NOT NULL"); break; case "float": A::$DB->execute("ALTER TABLE `{$table}` ADD `{$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}` ADD `{$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}` ADD `{$field}` TEXT DEFAULT '' NOT NULL"); break; case "select": A::$DB->execute("ALTER TABLE `{$table}` ADD `{$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}` ADD `{$field}` text DEFAULT '' NOT NULL"); A::$DB->execute("ALTER TABLE `{$table}` ADD FULLTEXT (`{$field}`)"); break; } return true; } else { return false; } }
/** * Обработчик действия: Добавление альбома. */ function AddItem() { $_REQUEST['name'] = strip_tags($_REQUEST['name']); $_REQUEST['idcat'] = (int) $_REQUEST['idcat']; $_REQUEST['urlname'] = getURLName($_REQUEST['name'], $_REQUEST['urlname'], SECTION . "_albums", "idcat=" . (int) $_REQUEST['idcat']); $_REQUEST['active'] = isset($_REQUEST['active']) ? "Y" : "N"; $_REQUEST['sort'] = A::$DB->getOne("SELECT MAX(sort) FROM " . SECTION . "_albums") + 1; if (!A::$OPTIONS['usedate']) { $_REQUEST['date'] = time(); } $dataset = new A_DataSet(SECTION . "_albums", true); $dataset->fields = array("date", "idcat", "name", "tags", "urlname", "description", "active", "sort"); if ($id = $dataset->Insert()) { $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' => $id, 'name' => $name, 'content' => $_REQUEST['description'], 'tags' => $_REQUEST['tags'])); } $this->updateCategoryItems($_REQUEST['idcat']); unset($_POST['idcat']); $_GET['idalb'] = $id; $_GET['tab_albums'] = 'images'; return $id; } else { return false; } }