")){ $member_db = array(1 => $member_id['user_group'], 2 => $member_id['name'], 10 => $member_id['user_id']); } if ($member_db[1] != 1) { msg("error", $lang['opt_denied'], $lang['opt_denied']); } //error_reporting(E_ALL); require_once ENGINE_DIR.'/classes/modulus.class.php'; require_once ENGINE_DIR.'/data/shop_config.php'; if(!file_exists(ENGINE_DIR.'/inc/makethumb.php')) { require_once ENGINE_DIR.'/classes/thumb.class.php'; } else { require_once ENGINE_DIR.'/inc/makethumb.php'; } $MyModule = new Modulus(); $MyModule->Mushka = "vals"; // init module itself $TplDef = array( "item" => "shop/item.tpl", "list" => "shop/list.tpl", "full" => "shop/full.tpl", "cfg_lnk" => "shop/cfg_lnk.tpl", "captcha" => "shop/captcha.tpl", "message" => "shop/message.tpl", "search_item" => "shop/search/item.tpl", "search_list" => "shop/search/list.tpl", "formitem" => "shop/multifield.tpl", "mailadmin" => "shop/mailadmin.tpl", "mailuser" => "shop/mailuser.tpl", "ordersuccess" => "shop/ordersuccess.tpl" ); $MyPlugin = new shopPlugin($MyModule); $MyModule->Initiate("shop", "/uploads/shop/", "./engine/data/shop_config.php", $ShopConfig, $TplDef, "ShopConfig", array("shopplug"=>$MyPlugin)); //------------- // -----------------| // cart class | // -----------------| // Now load all the data parts $DbArr = array( "id" => "id", "user_id" => "varchar", "date" => "date", "contents" => "text", ); $TplDef = array( "item" => "shop/cart/item.tpl", "add" => "shop/cart/add.tpl", "list" => "shop/cart/list.tpl", "edit" => "shop/cart/edit.tpl", "delete" => "shop/cart/delete.tpl", "main" => "shop/cart/main.tpl", "full" => "shop/cart/full.tpl", "pager" => "shop/cart/pager.tpl" ); $LangArr = array( "title" => "Корзина" ); $FormArr = array( "title"=>array("title"=>"Название", "descr"=>"Название города") ); $CheckDataArr = array( "text"=>array("type"=>"required", "msg"=>"Поле 'Сообщение' обязательно к заполнению") ); $LinksArr = array( "list" => array("sef"=>"/shop/products/itemshow/{post_id}", "std"=>"/index.php?do=shop&class=products&op=itemshow&id={post_id}") ); $MyModule->LoadDataClass("carts", PREFIX . "_shop_carts", $DbArr, $TplDef, $LangArr, $FormArr, $CheckDataArr, array(), $LinksArr, false); //------------- $DbArr = array( "id" => "id", "title" => "varchar", "category" => "Class:categories:ItemSelect", "price" => "decimal", "date" => "date", "addinfo" => "text", "photo" => "unlimg", "mainpub" => "checkbox", "byaction"=>"checkbox", "oldprice"=>"varchar", "maindata"=>"multifield", "owner" => "CurrentUser", "commpub"=>"checkbox", "meta_desc"=>"text", "meta_keys"=>"text", "artikul"=>"varchar" ); $TplDef = array( "item" => "shop/ad/item.tpl", "full" => "shop/ad/full.tpl", "add" => "shop/ad/add.tpl", "list" => "shop/ad/list.tpl", "edit" => "shop/ad/edit.tpl", "search" => "shop/ad/search.tpl", "delete" => "shop/ad/delete.tpl", "pager" => "shop/ad/pager.tpl" ); $LangVars = array( "title" => "Объявления", "title_item" => "Обявление" ); $LangArr = array( "title" => "Объявления", ); $FormArr = array( "title"=>array("title"=>"Название", "descr"=>"Название города"), "title"=>array("title"=>"Название", "descr"=>"Название города"), "title"=>array("title"=>"Название", "descr"=>"Название города") ); $CheckDataArr = array( ); $BrdArr = array(); $LinksArr = array( "list" => array("sef"=>"/shop", "std"=>"/index.php?do=shop") ); $MyModule->LoadDataClass("products", PREFIX . "_shop", $DbArr, $TplDef, $LangArr, $FormArr, $CheckDataArr, array(), $LinksArr, false); //------------- // counries $DbArr = array( "id" => "id", "title" => "varchar", "parent" => "Class:categories:ItemSelect", "description" => "text" ); $TplDef = array( "item" => "shop/categories/item.tpl", "full" => "shop/categories/full.tpl", "add" => "shop/categories/add.tpl", "list" => "shop/categories/list.tpl", "edit" => "shop/categories/edit.tpl", "delete" => "shop/categories/delete.tpl", "pager" => "shop/categories/pager.tpl" ); $LangArr = array( "title" => "Марки" ); $FormArr = array( "title"=>array("title"=>"Название", "descr"=>"Название страны") ); $CheckDataArr = array( "title"=>array("type"=>"required", "msg"=>"Поле 'Название' обязательно к заполнению") ); $LinksArr = array( "list" => array("sef"=>"/shop", "std"=>"/index.php?do=shop") ); $MyModule->LoadDataClass("categories", PREFIX . "_shop_categories", $DbArr, $TplDef, $LangArr, $FormArr, $CheckDataArr, array(), $LinksArr, false); //------------- // counries $DbArr = array( "id" => "id", "title" => "varchar", "type" => "Select:FieldTypes", "ftitle" => "varchar", "data" => "text", "langtitle"=>"varchar" ); $TplDef = array( "item" => "shop/fields/item.tpl", "full" => "shop/fields/full.tpl", "add" => "shop/fields/add.tpl", "list" => "shop/fields/list.tpl", "edit" => "shop/fields/edit.tpl", "delete" => "shop/fields/delete.tpl", "pager" => "shop/fields/pager.tpl" ); $LangArr = array( "title" => "Поля" ); $FormArr = array( "title"=>array("title"=>"Название", "descr"=>"Название поля") ); $CheckDataArr = array( "title"=>array("type"=>"required", "msg"=>"Поле 'Название' обязательно к заполнению") ); $LinksArr = array( "list" => array("sef"=>"/admin.php?mod=shop", "std"=>"/admin.php?mod=shop") ); $MyModule->LoadDataClass("multifields", PREFIX . "_shop_fields", $DbArr, $TplDef, $LangArr, $FormArr, $CheckDataArr, array(), $LinksArr, false); //------------- // counries $DbArr = array( "id" => "id", "cart_id" => "Class:carts:ItemSelect", "gateway" => "varchar", "status" => "Select:Statuses", "fio" => "varchar", "company" => "varchar", "email" => "varchar", "telephone" => "varchar", "address" => "varchar", "addinfo" => "text", "ip" => "varchar", "date" => "varchar", "items" => "text", "totalsum" => "varchar", "ordernum"=>"varchar" ); $TplDef = array( "item" => "shop/orders/item.tpl", "full" => "shop/orders/full.tpl", "add" => "shop/orders/add.tpl", "list" => "shop/orders/list.tpl", "edit" => "shop/orders/edit.tpl", "delete" => "shop/orders/delete.tpl", "pager" => "shop/orders/pager.tpl" ); $LangArr = array( "title" => "Заказы" ); $FormArr = array( "title"=>array("title"=>"Название", "descr"=>"Заказ") ); $CheckDataArr = array( "cart_id"=>array("type"=>"required", "msg"=>"Поле 'ID корзины' обязательно к заполнению") ); $LinksArr = array( "list" => array("sef"=>"/shop", "std"=>"/index.php?do=shop") ); $MyModule->LoadDataClass("orders", PREFIX . "_shop_orders", $DbArr, $TplDef, $LangArr, $FormArr, $CheckDataArr, array(), $LinksArr, false); //------------- /////////////////////////| // Main page | /////////////////////////| $PageConf = array( "type"=>"static" // define type of the page - static ot form ); $TagList = array(); $UserRights = "all"; $UrlPath = array( "sef"=>"/shop", "std"=>"/index.php?do=shop" ); $MetaArr = array( "title" => $JarchiveConfig['title']['value'], "keywords" => "доска, объявления, ключ, слово", "description" => "Лучшая доска объвлений нашего города!!!" ); $MyModule->CreatePage("ShowAll", "Главная", $PageConf, $TagList, $UserRights, $UrlPath, "shop/admin/main.tpl", $MetaArr); // ##################################################### // ------------------- $PageConf = array( "type"=>"static" // define type of the page - static ot form ); $TagList = array( "main_data" => "Class:general:AdminShowConfig" ); $UserRights = "admin"; $UrlPath = array( "sef"=>"/shop", "std"=>"/index.php?do=shop" ); $MetaArr = array( "title" => "Конфигурация :: ".$ShopConfig['title']['value'], "keywords" => "доска, объявления, ключ, слово", "description" => "Лучшая доска объвлений нашего города!!!" ); $MyModule->CreatePage("config", "Конфигурация модуля", $PageConf, $TagList, $UserRights, $UrlPath, "shop/config.tpl", $MetaArr); $MyModule->AddLink("main", "/index.php?do=shop", "/shop", "all"); $MyModule->AddLink("adm_cfg_lnk", "/admin.php?mod=shop&op=config", "/admin.php?mod=shop&op=config", "admin"); // Now define array with classes using captcha if($ShopConfig['moder_not']['value']=="1") { $ModerationArr = array( "products"=>"0" ); $MyModule->SetModeration($ModerationArr); } if($ShopConfig['comment_not']['value']=="1") { $CommArr = array( "products"=>"comments", ); $MyModule->SetComments($CommArr); } // Initiate languages $MyModule->SetLangVar("ru", "categories", "категории"); $MyModule->SetLangVar("ru", "cities", "города"); $MyModule->SetLangVar("ru", "products", "объявления"); $MyModule->SetLangVar("ru", "countries", "страны"); $MyModule->SetLangVar("ru", "CfgAdmin", "Конфигурация модуля"); $MyModule->SetLangVar("ru", "AddLink", "Добавить"); $MyModule->SetLangVar("ru", "ShowList", "Список"); $MyModule->SetLangVar("ru", "Edit", "Изменить"); $MyModule->SetLangVar("ru", "Delete", "Удалить"); $MyModule->SetLangVar("ru", "ModerList", "Модерация"); $MyModule->SetLangVar("ru", "publ", "Опубликовать"); $MyModule->SetLangVar("ru", "unpubl", "Снять"); $MyModule->SetLangVar("ru", "msg_categories_add", "Спасибо, категория успешно добавлена"); $MyModule->SetLangVar("ru", "msg_products_add", "Спасибо, объявление успешно добавлено."); $MyModule->SetLangVar("ru", "msg_countries_add", "Спасибо, страна успешно добавлено."); $MyModule->SetLangVar("ru", "msg_comments_add", "Спасибо, комментарий успешно добавлен."); $MyModule->SetLangVar("ru", "msg_categories_edit", "Спасибо, категория успешно изменена"); $MyModule->SetLangVar("ru", "msg_products_edit", "Спасибо, объявление успешно изменено."); $MyModule->SetLangVar("ru", "msg_countries_edit", "Спасибо, страна успешно изменена"); $MyModule->SetLangVar("ru", "msg_comments_edit", "Спасибо, комментарий успешно изменен"); $MyModule->SetLangVar("ru", "msg_categories_del", "Спасибо, категория успешно удалена"); $MyModule->SetLangVar("ru", "msg_products_del", "Спасибо, объявление успешно удалено."); $MyModule->SetLangVar("ru", "msg_countries_del", "Спасибо, страна успешно удалена."); $MyModule->SetLangVar("ru", "msg_comments_del", "Спасибо, комментарий успешно удален"); $MyModule->SetLangVar("ru", "msg_record_exists", "Точно такая же запись уже существует в базе."); $MyModule->SetLangVar("ru", "msg_record_none", "По данной категории записи отсутствуют"); $MyModule->SetLangVar("ru", "msg_restricted", "У вас недостаточно прав для просмотра этой страницы.
Назад"); $MyModule->SetLangVar("ru", "brd_startup", "Доска объявлений"); $MyModule->SetLangVar("ru", "msg_yrhere", "Вы здесь:"); $MyModule->SetLangVar("ru", "brd_sign", " → "); $MyModule->SetLangVar("ru", "addimgfield", "Добавить поле"); // Select Lists $db->query("SELECT id, group_name FROM " . PREFIX . "_usergroups"); $GroupArr = array(); while($row = $db->get_row()) { $GroupArr[$row['id']] = $row['group_name']; } $MyModule->AddSelectList("groups",$GroupArr); $TimeShowList = array( "week" => "Неделя", "2week" => "2 недели", "month" => "Месяц" ); $MyModule->AddSelectList("GetTimeShow",$TimeShowList); $YesNoList = array( "1" => "Да", "0" => "Нет" ); $MyModule->AddSelectList("YesNo",$YesNoList); $YesNoList = array( "bu" => "Покупка", "se" => "Продажа" ); $MyModule->AddSelectList("GetOfferType", $YesNoList); $StateList = array( "0" => "Все", "1" => "Новое", "2" => "подержанное (б/у)" ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("States",$StateList, $ParamsFR); $StateList = array( "0" => "Все", "1" => "в наличии", "2" => "под заказ", "3" => "в пути", ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("Nalich",$StateList, $ParamsFR); $VTypeList = array( "0" => "Все", "1" => "велосипед", "11" => "дорожник", "10" => "квадроцикл", "6" => "классик", "9" => "кольцевик", "8" => "кроссовый", "2" => "мопед", "16" => "мотард", "13" => "мотоцикл", "14" => "нэйкед", "12" => "скутер", "4" => "спортбайк", "7" => "туристический", "3" => "чоппер", "5" => "эндуро" ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("VTypes",$VTypeList, $ParamsFR); $MarksList = array( "0" => "Все", "1" => "Caro", "2" => "Oporo", "3" => "Topclass", "4" => "Foundain", "5" => "Eago" ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("Marks", $MarksList, $ParamsFR); $MarksList = array( "0" => "Все", "1" => "нет", "2" => "2", "3" => "4", "4" => "6", "5" => "8", "6" => "10", "7" => "12", "8" => "14", "9" => "16", "10" => "18", "11" => "20" ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("HMFors", $MarksList, $ParamsFR); $MarksList = array( "0" => "Все", "1" => "Низкий", "2" => "Высокий", "3" => "Совмещенные с ванной", ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("Poddons", $MarksList, $ParamsFR); $MarksList = array( "0" => "Все", "1" => "Нет", "2" => "Сенсорная", "3" => "Кнопочная", ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("Panels", $MarksList, $ParamsFR); $YearArr = array(); for($i=1970; $i<=(int)date("Y");$i++) { $YearArr[$i] = $i; } $YearArr = array_reverse($YearArr, true); $MyModule->AddSelectList("Years", $YearArr, $ParamsFR); $CurrArr = array( "0" => "Все", "usd" => "$", "jpy" => "JPY", "eur" => "EUR", "rur" => "руб." ); $ParamsFR = array( "zeritem"=>"edititem, additem" ); $MyModule->AddSelectList("Currencies", $CurrArr, $ParamsFR); $CurrArr = array( "varchar" => "Текстовое поле", "decimal" => "Числовое поле", "text" => "Текстовый блок", "checkbox" => "Чекбокс" ); $ParamsFR = array(); $MyModule->AddSelectList("FieldTypes", $CurrArr, $ParamsFR); $CurrArr = array( "unconf" => "В ожидании", "paid" => "Оплачен", "canceld" => "Отменен", ); $ParamsFR = array(); $MyModule->AddSelectList("Statuses", $CurrArr, $ParamsFR); $SearchData = array( "products" => array("title", "category", array("item"=>"price", "type"=>"range")) ); $MyModule->SetSearchParams("products", $SearchData); // multifields load $MRecs = $MyModule->GetRecords("multifields"); $FArr = array(); foreach($MRecs as $recm) { $FArr[''.$recm['ftitle'].''][] = $recm; } foreach($FArr as $sey=>$deer) { $FString = ""; foreach($deer as $jalue) { $FString .= "mfield_".$sey."_".$jalue['type']."_".$jalue['title']."|++|".$jalue['type']."|++||::|"; } $MyModule->MultiFields[''.$sey.''] = $FString; } shop_header(); global $metatags; // When we have our pages set, lets make disatcher function to process them all function Dispatchershop() //gets parameters and invokes necessary function { global $MyModule, $MyPlugin, $metatags; $op = ""; if(isset($_REQUEST['op'])) { $op = $_REQUEST['op']; } switch ($op) { case "shop": echo $MyModule->LoadPage("ShowAll"); break; case "additem": echo $MyModule->AddItem($_GET['class']); break; case "config": echo $MyModule->LoadPage("config"); break; case "admlist": echo $MyModule->LoadPage("admlist"); break; case "showlist": echo $MyModule->ShowItemList($_GET['class'], array("pager"=>"1")); break; case "itemshow": echo $MyModule->ShowItem($_GET['class']); break; case "publish": echo $MyModule->PublishItem($_GET['class'], "1"); break; case "unpublish": echo $MyModule->PublishItem($_GET['class'], "0"); break; case "edit": echo $MyModule->EditItem($_GET['class']); break; case "delete": echo $MyModule->DeleteItem($_GET['class']); break; case "search": echo $MyModule->Search($_GET['class']); break; case "itemup": echo $MyPlugin->PutItemUp(); echo $MyModule->LoadPage("ShowAll"); break; case "itemurgent": echo $MyPlugin->MakeItemUrgent(); echo $MyModule->LoadPage("ShowAll"); break; case "itemvip": echo $MyPlugin->MakeItemVip(); echo $MyModule->LoadPage("ShowAll"); break; case "itemunurgent": echo $MyPlugin->MakeItemUrgent(false); echo $MyModule->LoadPage("ShowAll"); break; case "itemunvip": echo $MyPlugin->MakeItemVip(false); echo $MyModule->LoadPage("ShowAll"); break; default: { echo $MyModule->LoadPage("ShowAll"); break; } } } if(strstr($_SERVER['REQUEST_URI'], "shop")) { Dispatchershop(); } shop_footer(); class shopPlugin { // empty constructor function var $VarMod = null; function shopPlugin($modobj) { $this->VarMod = $modobj; } function GetAddLink() { global $is_logged; if($this->VarMod->MyConfig['allow_add']['value']) { if($this->VarMod->UserCheckRights($this->VarMod->MyConfig['min_add_group']['value'])) { return "VarMod->GetLink("products", "additem")."\">Добавить объявление"; } else { $Restr = "Добавить объявление (вам не хватает прав)"; if(!$is_logged) { $Restr .= " Регистрация"; } return $Restr; } } } function MakeItemList($Params) { return $Params['text']; } function ShowFull($ItemDataArr) { global $metatags; $metatags['title'] = $ItemDataArr['title']." :: ".$ItemDataArr['category']." :: ".$this->VarMod->MyConfig['title']['value']; if($this->VarMod->UserCheckRights('admin')) { $ItemDataArr['adm_links'] = $ItemDataArr['adm_links']." | Поднять "; if($ItemDataArr['urgent']=="0") { $ItemDataArr['adm_links'] .= " | Сделать \"Срочно\" "; } else { $ItemDataArr['adm_links'] .= " | Снять \"Срочно\" "; } if($ItemDataArr['vip']=="0") { $ItemDataArr['adm_links'] .= " | Сделать \"Важно\" "; } else { $ItemDataArr['adm_links'] .= " | Снять \"Важно\" "; } } return $ItemDataArr; } function EditItem($ItemDataArr) { //$ItemDataArr['form'] = '
'; return $ItemDataArr; } function AddItem($ItemDataArr) { //$ItemDataArr['form'] = ''; return $ItemDataArr; } function AddComment($Params) { } } // ############################################################################################# function shop_header() { global $config, $lang; echoheader( "home", $lang['db_info'] ); echo <<
HTML; } function shop_footer() { echo <<
HTML; echofooter(); } ?>