public function action_ajax_get_attrchild() { $pid = ARR::get($_POST, 'pid'); $typeid = ARR::get($_POST, 'typeid'); $list = Model_Attrlist::getAttr($typeid, $pid); echo json_encode($list); }
public function action_spot() { $action = $this->params['action']; if (empty($action)) { $this->assign('kindmenu', Common::getConfig('menu_sub.spotkind')); //分类设置项 $this->display('stourtravel/spot/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $keyword = Arr::get($_GET, 'keyword'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $webid = Arr::get($_GET, 'webid'); $sort = json_decode(Arr::get($_GET, 'sort'), true); $order = 'order by a.modtime desc'; $webid = empty($webid) ? -1 : $webid; $keyword = Common::getKeyword($keyword); $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); if ($sort[0]['property']) { if ($sort[0]['property'] == 'displayorder') { $prefix = ''; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.modtime desc'; } $w = "a.id is not null"; $w .= empty($keyword) ? '' : " and (a.title like '%{$keyword}%' or a.id like '%{$keyword}%')"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $w .= $webid == '-1' ? '' : " and a.webid={$webid}"; if (empty($kindid)) { $sql = "select a.aid,a.id,a.title,a.price,a.tagword,a.kindlist,a.attrid,a.litpic,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,\na.webid,a.piclist,a.themelist,a.iconlist,a.supplierlist,a.ishidden,b.isjian,ifnull(b.displayorder,9999) as displayorder,b.isding from sline_spot as a left join sline_allorderlist b on (a.id=b.aid and b.typeid=5) where {$w} {$order} limit {$start},{$limit} "; } else { $sql = "select a.aid,a.id,a.title,a.price,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,\na.tagword,a.kindlist,a.attrid,a.litpic,a.webid,a.piclist,a.themelist,a.iconlist,a.supplierlist,a.ishidden,b.isjian,ifnull(b.displayorder,9999) as displayorder,b.isding from sline_spot as a left join sline_kindorderlist as b on (b.classid={$kindid} and a.id=b.aid and b.typeid=5) where {$w} {$order} limit {$start},{$limit}"; } $totalcount_arr = DB::query(Database::SELECT, "select count(*) as num from sline_spot a where {$w}")->execute()->as_array(); $list = DB::query(Database::SELECT, $sql)->execute()->as_array(); $new_list = array(); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Spot_Attr::getAttrnameList($v['attrid']); $v['url'] = Common::getBaseUrl($v['webid']) . '/spots/show_' . $v['aid'] . '.html'; $iconname = Model_Icon::getIconName($v['iconlist']); $name = ''; foreach ($iconname as $icon) { if (!empty($icon)) { $name .= '<span style="color:red">[' . $icon . ']</span>'; } } $v['iconname'] = $name; $v['series'] = Common::getSeries($v['id'], '05'); //编号 //供应商信息 $supplier = ORM::factory('supplier')->where("id='{$v['supplierlist']}'")->find()->as_array(); $v['suppliername'] = $supplier['suppliername']; $v['linkman'] = $supplier['linkman']; $v['mobile'] = $supplier['mobile']; $v['address'] = $supplier['address']; $v['qq'] = $supplier['qq']; $suits = DB::query(Database::SELECT, "select a.*,b.kindname as tickettypename from sline_spot_ticket a left join sline_spot_ticket_type b on a.tickettypeid=b.id where a.spotid={$v['id']} order by a.displayorder asc")->execute()->as_array(); if (!empty($suits)) { $v['tr_class'] = 'parent-product-tr'; } $new_list[] = $v; foreach ($suits as $key => $val) { $val['title'] = $val['title']; $val['ticketid'] = $val['id']; //门票id $val['spotid'] = $v['id']; //景点id $val['id'] = 'suit_' . $val['id']; if ($key != count($suits) - 1) { $val['tr_class'] = 'suit-tr'; } $new_list[] = $val; } } $result['total'] = $totalcount_arr[0]['num']; $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('spot', $id); $model->deleteClear(); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('spot_ticket', $suitid); $suit->deleteClear(); } } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid=5 and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = 5; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { $kindorder = ORM::factory('kindorderlist'); $kindorder_mod = $kindorder->where("aid='{$id}' and typeid=5 and classid={$kindid}")->find(); if ($kindorder_mod->id) { $kindorder_mod->displayorder = $displayorder; } else { $kindorder_mod->displayorder = $displayorder; $kindorder_mod->aid = $id; $kindorder_mod->classid = $kindid; $kindorder_mod->typeid = 5; } $kindorder_mod->save(); if ($kindorder->saved()) { echo 'ok'; } else { echo 'no'; } } } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('spot_ticket', $suitid); $suit->displayorder = $displayorder; if ($suit->id) { $suit->save(); if ($suit->saved()) { echo 'ok'; } else { echo 'no'; } } } } } else { if (is_numeric($id)) { $model = ORM::factory('spot', $id); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $model = ORM::factory('spot_ticket', $suitid); } } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, 5)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }
public static function getattridlist($typeid) { $tablename = Model_Attrlist::getAttrTable($typeid); $model = ORM::factory($tablename); $w = $typeid > 13 ? " and typeid='{$typeid}'" : ''; $list = $model->where("isopen=1 and pid=0 {$w}")->get_all(); foreach ($list as $k => $v) { $list[$k]['children'] = $model->where("pid={$v['id']} and isopen=1")->get_all(); } return $list; }
public function action_article() { $action = $this->params['action']; if (empty($action)) { $this->assign('kindmenu', Common::getConfig('menu_sub.articlekind')); //分类设置项 $this->display('stourtravel/article/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $keyword = Arr::get($_GET, 'keyword'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $webid = Arr::get($_GET, 'webid'); $webid = $webid == "" ? -1 : $webid; $keyword = Common::getKeyword($keyword); $sort = json_decode(Arr::get($_GET, 'sort'), true); $order = 'order by a.modtime desc'; $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); if ($sort[0]['property']) { if ($sort[0]['property'] == 'displayorder') { $prefix = ''; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if ($sort[0]['property'] == 'templet') { $prefix = 'a.'; } else { if ($sort[0]['property'] == 'modtime') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.modtime desc'; } $w = "a.id is not null"; $w .= empty($keyword) ? '' : " and a.title like '%{$keyword}%'"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $w .= $webid == '-1' ? '' : " and a.webid={$webid}"; if (empty($kindid)) { $sql = "select a.id,a.aid,a.title,a.attrid,a.kindlist,a.webid,a.addtime,a.ishidden,a.themelist,a.iconlist,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,\nb.isjian,ifnull(b.displayorder,999999) as displayorder,b.isding,a.modtime,a.templet from sline_article as a left join sline_allorderlist b on (a.id=b.aid and b.typeid=4) where {$w} {$order} limit {$start},{$limit}"; } else { $sql = "select a.id,a.aid,a.title,a.attrid,a.kindlist,a.webid,a.addtime,a.ishidden,a.themelist,a.iconlist,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,b.isjian,b.displayorder,b.isding,a.modtime,a.templet from sline_article as a left join sline_kindorderlist as b on (b.classid={$kindid} and a.id=b.aid and b.typeid=4) where {$w} {$order} limit {$start},{$limit}"; } $totalcount_arr = DB::query(Database::SELECT, "select count(*) as num from sline_article a where {$w}")->execute()->as_array(); $list = DB::query(Database::SELECT, $sql)->execute()->as_array(); $new_list = array(); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Article_Attr::getAttrnameList($v['attrid']); $v['modtime'] = Common::myDate('Y-m-d', $v['modtime']); $v['url'] = Common::getBaseUrl($v['webid']) . '/raiders/show_' . $v['aid'] . '.html'; $new_list[] = $v; } $result['total'] = $totalcount_arr[0]['num']; $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('article', $id); $model->deleteClear(); } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid=4 and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = 4; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { Common::debug('here'); $kindorder = ORM::factory('kindorderlist'); $kindorder_mod = $kindorder->where("aid='{$id}' and typeid=4 and classid={$kindid}")->find(); if ($kindorder_mod->id) { $kindorder_mod->displayorder = $displayorder; } else { $kindorder_mod->displayorder = $displayorder; $kindorder_mod->aid = $id; $kindorder_mod->classid = $kindid; $kindorder_mod->typeid = 4; } $kindorder_mod->save(); if ($kindorder->saved()) { echo 'ok'; } else { echo 'no'; } } } } else { if (is_numeric($id)) { $model = ORM::factory('article', $id); } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, 4)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }
public function action_car() { $action = $this->params['action']; if (empty($action)) { $this->assign('kindmenu', Common::getConfig('menu_sub.carkind')); //分类设置项 $this->display('stourtravel/car/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $keyword = Arr::get($_GET, 'keyword'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $carkindid = Arr::get($_GET, 'carkindid'); $webid = Arr::get($_GET, 'webid'); $sort = json_decode(Arr::get($_GET, 'sort'), true); $order = 'order by a.modtime desc'; $webid = empty($webid) ? -1 : $webid; $keyword = Common::getKeyword($keyword); $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); if ($sort[0]['property']) { $prefix = ''; if ($sort[0]['property'] == 'displayorder') { $prefix = ''; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if ($sort[0]['property'] == 'suitday') { $prefix = 'e.'; } else { if ($sort[0]['property'] == 'seatnum') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.modtime desc'; } $w = "a.id is not null"; $w .= empty($keyword) ? '' : " and (a.title like '%{$keyword}%' or a.id like '%{$keyword}%')"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $w .= empty($brandid) ? '' : " and a.carbrandid='{$brandid}'"; $w .= empty($carkindid) ? '' : " and a.carkindid='{$carkindid}'"; $w .= $webid == '-1' ? '' : " and a.webid={$webid}"; if (empty($kindid)) { $sql = "select a.id,a.webid,a.aid,a.title,a.supplierlist,a.seatnum,a.carkindid,a.kindlist,a.attrid,a.iconlist,a.themelist,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist\n,a.ishidden,d.kindname as carkindname,IFNULL(b.displayorder,9999) as displayorder,ifnull(e.suitday,0) as suitday from sline_car as a left join sline_allorderlist b on (a.id=b.aid and b.typeid=3) left join sline_car_kind d on (a.carkindid=d.id) left join (select c.carid,c.id,min(c.suitday) as suitday from(select a.carid,a.id,max(b.day) as suitday\n from sline_car_suit a left join sline_car_suit_price b on a.id=b.suitid group by a.id) c group by c.carid) e on a.id=e.carid where {$w} {$order} limit {$start},{$limit}"; } else { $sql = "select a.id,a.webid,a.aid,a.title,a.supplierlist,a.seatnum,a.carkindid,a.kindlist,a.attrid,a.iconlist,a.themelist,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist\n,a.ishidden,b.isjian,b.isding,b.istejia,ifnull(b.displayorder,9999) as displayorder ,d.kindname as carkindname,ifnull(e.suitday,0) as suitday from sline_car as a left join sline_kindorderlist as b on (a.id=b.id and b.classid={$kindid} and b.typeid=3) left join sline_car_kind d on (a.carkindid=d.id) left join (select c.carid,c.id,min(c.suitday) as suitday from(select a.carid,a.id,max(b.day) as suitday\n from sline_car_suit a left join sline_car_suit_price b on a.id=b.suitid group by a.id) c group by c.carid) e on a.id=e.carid where FIND_IN_SET({$kindid},a.kindlist) order by a.modtime desc"; } $totalcount_arr = DB::query(Database::SELECT, "select count(*) as num from sline_car a where {$w}")->execute()->as_array(); $list = DB::query(Database::SELECT, $sql)->execute()->as_array(); $new_list = array(); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Car_Attr::getAttrnameList($v['attrid']); $v['series'] = Common::getSeries($v['id'], '03'); //编号 $v['url'] = Common::getBaseUrl($v['webid']) . '/cars/show_' . $v['aid'] . '.html'; //供应商信息 $supplier = ORM::factory('supplier')->where("id='{$v['supplierlist']}'")->find()->as_array(); $v['suppliername'] = $supplier['suppliername']; $v['linkman'] = $supplier['linkman']; $v['mobile'] = $supplier['mobile']; $v['address'] = $supplier['address']; $v['qq'] = $supplier['qq']; $suits = ORM::factory('car_suit')->where("carid={$v['id']}")->get_all(); $suittypes = ORM::factory('car_suit_type')->where("carid={$v['id']}")->get_all(); $suitOrder = $sort[0]['property'] == 'suitday' ? 'order by suitday ' . $sort[0]['direction'] : ''; $suitSql = "select a.*,ifnull(max(b.day),0) as suitday from sline_car_suit a left join sline_car_suit_price b on a.id=b.suitid where a.carid={$v['id']} group by a.id {$suitOrder}"; $suits = DB::query(Database::SELECT, $suitSql)->execute()->as_array(); if (!empty($suits)) { $v['tr_class'] = 'parent-product-tr'; } $new_list[] = $v; foreach ($suits as $key => $val) { $val['title'] = $val['suitname']; $val['id'] = 'suit_' . $val['id']; $val['suittypes'] = $suittypes; if ($key != count($suits) - 1) { $val['tr_class'] = 'suit-tr'; } $new_list[] = $val; } } $result['total'] = $totalcount_arr[0]['num']; $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('car', $id); $model->deleteClear(); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('car_suit', $suitid); $carid = $suit->carid; $suit->deleteClear(); Model_Car::updateMinPrice($carid); } } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid=3 and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = 3; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { $kindorder = ORM::factory('kindorderlist'); $kindorder_mod = $kindorder->where("aid='{$id}' and typeid=3 and classid={$kindid}")->find(); if ($kindorder_mod->id) { $kindorder_mod->displayorder = $displayorder; } else { $kindorder_mod->displayorder = $displayorder; $kindorder_mod->aid = $id; $kindorder_mod->classid = $kindid; $kindorder_mod->typeid = 3; } $kindorder_mod->save(); if ($kindorder->saved()) { echo 'ok'; } else { echo 'no'; } } } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('car_suit', $suitid); $suit->displayorder = $displayorder; if ($suit->id) { $suit->save(); if ($suit->saved()) { echo 'ok'; } else { echo 'no'; } } } } } else { if (is_numeric($id)) { $model = ORM::factory('car', $id); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $model = ORM::factory('car_suit', $suitid); } } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, 3)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }
public function action_ajax_linesave() { $attrids = implode(',', Arr::get($_POST, 'attrlist')); //属性 if (!empty($attrids)) { $attrids = implode(',', Model_Attrlist::getParentsStr($attrids, 1)); } $lineid = Arr::get($_POST, 'lineid'); $data_arr = array(); $data_arr['webid'] = Arr::get($_POST, 'webid'); $data_arr['webid'] = empty($data_arr['webid']) ? 0 : $data_arr['webid']; $webid = $data_arr['webid']; $kindlist = Arr::get($_POST, 'kindlist'); if ($webid != 0) { if (is_array($kindlist)) { if (!in_array($webid, $kindlist)) { array_push($kindlist, $webid); } } else { $kindlist = array($webid); //如果为空则直接加webid } } $data_arr['title'] = Arr::get($_POST, 'title'); $data_arr['sellpoint'] = Arr::get($_POST, 'sellpoint'); $data_arr['kindlist'] = implode(',', Model_Destinations::getParentsStr(implode(',', $kindlist))); $data_arr['attrid'] = $attrids; $data_arr['lineday'] = Arr::get($_POST, 'lineday') ? Arr::get($_POST, 'lineday') : 1; $data_arr['linenight'] = Arr::get($_POST, 'linenight') ? Arr::get($_POST, 'linenight') : 0; $data_arr['islinebefore'] = $_POST['islinebefore'] ? 1 : 0; $data_arr['recommendnum'] = $_POST['recommendnum']; $data_arr['supplierlist'] = implode(',', Arr::get($_POST, 'supplierlist')); $data_arr['linebefore'] = Arr::get($_POST, 'linebefore') ? Arr::get($_POST, 'linebefore') : 0; $data_arr['storeprice'] = Arr::get($_POST, 'storeprice') ? Arr::get($_POST, 'storeprice') : 0; $data_arr['childrule'] = Arr::get($_POST, 'childrule'); $data_arr['templet'] = Arr::get($_POST, 'templet'); $data_arr['templet'] = empty($data_arr['templet']) ? 'line_show.htm' : $data_arr['templet']; $data_arr['color'] = Arr::get($_POST, 'color'); $data_arr['satisfyscore'] = Arr::get($_POST, 'satisfyscore') ? Arr::get($_POST, 'satisfyscore') : 0; $data_arr['bookcount'] = Arr::get($_POST, 'bookcount') ? Arr::get($_POST, 'bookcount') : 0; $data_arr['ishidden'] = Arr::get($_POST, 'ishidden') ? Arr::get($_POST, 'ishidden') : 0; //显示隐藏 $data_arr['seotitle'] = Arr::get($_POST, 'seotitle'); $data_arr['keyword'] = Arr::get($_POST, 'keyword'); $data_arr['tagword'] = Arr::get($_POST, 'tagword'); $data_arr['description'] = Arr::get($_POST, 'description'); $data_arr['modtime'] = time(); $data_arr['isstyle'] = Arr::get($_POST, 'isstyle') ? Arr::get($_POST, 'isstyle') : 2; //默认标准版 $data_arr['showrepast'] = Arr::get($_POST, 'showrepast'); $data_arr['jieshao'] = Arr::get($_POST, 'jieshao'); $data_arr['biaozhun'] = Arr::get($_POST, 'biaozhun'); $data_arr['beizu'] = Arr::get($_POST, 'beizu'); $data_arr['payment'] = Arr::get($_POST, 'payment'); $data_arr['feeinclude'] = Arr::get($_POST, 'feeinclude'); $data_arr['features'] = Arr::get($_POST, 'features'); $data_arr['reserved1'] = Arr::get($_POST, 'reserved1'); $data_arr['reserved2'] = Arr::get($_POST, 'reserved2'); $data_arr['reserved3'] = Arr::get($_POST, 'reserved3'); $data_arr['startcity'] = Arr::get($_POST, 'startcity'); $data_arr['transport'] = Arr::get($_POST, 'transport_pub') ? implode(',', Arr::get($_POST, 'transport_pub')) : ''; $data_arr['iconlist'] = Arr::get($_POST, 'iconlist') ? implode(',', Arr::get($_POST, 'iconlist')) : ''; $data_arr['insuranceids'] = Arr::get($_POST, 'insuranceids') ? implode(',', Arr::get($_POST, 'insuranceids')) : ''; //图片处理 $images_arr = Arr::get($_POST, 'images'); $imagestitle_arr = Arr::get($_POST, 'imagestitle'); $headimgindex = Arr::get($_POST, 'imgheadindex'); $imgstr = ""; foreach ($images_arr as $k => $v) { $imgstr .= $v . '||' . $imagestitle_arr[$k] . ','; if ($headimgindex == $k) { $data_arr['litpic'] = $v; } } $imgstr = trim($imgstr, ','); $data_arr['piclist'] = $imgstr; $data_arr['linedoc'] = Arr::get($_POST, 'linedoc'); if ($lineid == 0) { $data_arr['addtime'] = $data_arr['modtime']; $model = ORM::factory('line'); $model->aid = Common::getLastAid('sline_line', $data_arr['webid']); $model->addtime = time(); } else { $data_arr['modtime'] = time(); $model = ORM::factory('line', $lineid); if ($model->webid != $data_arr['webid']) { $aid = Common::getLastAid('sline_line', $data_arr['webid']); $model->aid = $aid; } $model->modtime = time(); } foreach ($data_arr as $k => $v) { $model->{$k} = $v; } $model->save(); if ($model->saved()) { $model->reload(); $lineid = $model->id; $this->savejieshao($lineid); Common::saveExtendData(1, $lineid, $_POST); //扩展信息保存 echo $lineid; } else { echo 'no'; } }
public function action_index() { $action = $this->params['action']; $typeid = $this->typeid; if (empty($action)) { $this->assign('kindmenu', self::$kind); //分类设置项 $this->display('stourtravel/tongyong/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $keyword = Arr::get($_GET, 'keyword'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $webid = Arr::get($_GET, 'webid'); $webid = empty($webid) ? 0 : $webid; $keyword = Common::getKeyword($keyword); $sort = json_decode(Arr::get($_GET, 'sort'), true); $order = 'order by a.modtime desc'; $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); if ($sort[0]['property']) { if ($sort[0]['property'] == 'displayorder') { $prefix = 'b.'; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if ($sort[0]['property'] == 'addtime') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.modtime desc'; } $w = "a.typeid='{$typeid}'"; $w .= empty($keyword) ? '' : " and a.title like '%{$keyword}%'"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $w .= $webid == '-1' ? '' : " and a.webid={$webid}"; if (empty($kindid)) { $sql = "select a.*,b.displayorder,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist from sline_model_archive as a left join sline_allorderlist b on (a.id=b.aid and b.typeid='{$typeid}') where {$w} {$order}"; } else { $sql = "select a.*,b.displayorder,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist from sline_model_archive as a left join sline_kindorderlist as b on (b.classid={$kindid} and a.id=b.aid and b.typeid='{$typeid}') where {$w} {$order} "; } $total = DB::query(1, $sql)->execute(); $sql .= " limit {$start},{$limit}"; $list = DB::query(1, $sql)->execute()->as_array(); $new_list = array(); $moduleinfo = Model_Model::getModuleInfo($typeid); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Article_Attr::getAttrnameList($v['attrid']); $v['modtime'] = Common::myDate('Y-m-d', $v['modtime']); $v['modulepinyin'] = $moduleinfo['pinyin']; $iconname = Model_Icon::getIconName($v['iconlist']); $name = ''; foreach ($iconname as $icon) { if (!empty($icon)) { $name .= '<span style="color:red">[' . $icon . ']</span>'; } } $v['iconname'] = $name; $v['series'] = Common::getSeries($v['id'], $typeid); //编号 //供应商信息 $supplier = ORM::factory('supplier')->where("id='{$v['supplierlist']}'")->find()->as_array(); $v['suppliername'] = $supplier['suppliername']; $v['linkman'] = $supplier['linkman']; $v['mobile'] = $supplier['mobile']; $v['address'] = $supplier['address']; $v['qq'] = $supplier['qq']; //套餐信息 $homes = ORM::factory('model_suit')->where("productid", '=', $v['id'])->get_all(); //读取套餐 if (!empty($homes)) { $v['tr_class'] = 'parent-product-tr'; } $new_list[] = $v; foreach ($homes as $key => $val) { $val['title'] = $val['suitname']; $val['suitid'] = $val['id']; $val['id'] = 'suit_' . $val['id']; $val['productid'] = $val['productid']; $val['sellprice'] = $val['sellprice']; $val['ourprice'] = $val['ourprice']; if ($key != count($homes) - 1) { $val['tr_class'] = 'suit-tr'; } $new_list[] = $val; } } $result['total'] = $total->count(); $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('model_archive', $id); $model->delete(); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('model_suit', $suitid); $suit->delete(); } } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid='{$typeid}' and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = $typeid; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { $kindorder = ORM::factory('kindorderlist'); $kindorder_mod = $kindorder->where("aid='{$id}' and typeid={$typeid} and classid={$kindid}")->find(); if ($kindorder_mod->id) { $kindorder_mod->displayorder = $displayorder; } else { $kindorder_mod->displayorder = $displayorder; $kindorder_mod->aid = $id; $kindorder_mod->classid = $kindid; $kindorder_mod->typeid = $typeid; } $kindorder_mod->save(); if ($kindorder->saved()) { echo 'ok'; } else { echo 'no'; } } } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $suit = ORM::factory('model_suit', $suitid); $suit->displayorder = $displayorder; if ($suit->id) { $suit->save(); if ($suit->saved()) { echo 'ok'; } else { echo 'no'; } } } } } else { if (is_numeric($id)) { $model = ORM::factory('model_archive', $id); } else { if (strpos($id, 'suit') !== FALSE) { $suitid = substr($id, strpos($id, '_') + 1); $model = ORM::factory('model_suit', $suitid); } } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, $typeid)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }
public function action_tuan() { $action = $this->params['action']; if (empty($action)) { $this->assign('kindmenu', Common::getConfig('menu_sub.tuankind')); //分类设置项 $this->display('stourtravel/tuan/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $keyword = Arr::get($_GET, 'keyword'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $webid = Arr::get($_GET, 'webid'); $webid = empty($webid) ? 0 : $webid; $keyword = Common::getKeyword($keyword); $sort = json_decode(Arr::get($_GET, 'sort'), true); $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); $order = 'order by a.modtime desc'; if ($sort[0]['property']) { if ($sort[0]['property'] == 'displayorder') { $prefix = ''; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if ($sort[0]['property'] == 'endtime') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.modtime desc'; } $w = "a.id is not null"; $w .= empty($keyword) ? '' : " and (a.title like '%{$keyword}%' or a.id like '%{$keyword}%')"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $w .= $webid == '-1' ? '' : " and a.webid={$webid}"; if (empty($kindid)) { $sql = "select a.id,a.webid,a.aid,a.title,a.endtime,a.shownum,a.bookcount,a.totalnum,a.virtualnum,a.validdate,a.attrid,a.kindlist,a.jifenbook,a.jifentprice,a.jifencomment,a.iconlist,a.themelist,b.isjian,b.isding,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,\nifnull(b.displayorder,9999) as displayorder,ishidden from sline_tuan as a left join sline_allorderlist b on (a.id=b.aid and b.typeid=13) where {$w} {$order} limit {$start},{$limit}"; } else { $sql = "select a.id,a.webid,a.aid,a.title,a.endtime,a.shownum,a.bookcount,a.totalnum,a.virtualnum,a.validdate,a.attrid,a.kindlist,a.jifenbook,a.jifentprice,a.jifencomment,a.iconlist,a.themelist,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,if(length(ifnull(a.themelist,''))=0,0,1) as order_themelist,\nb.isjian,b.isding,ifnull(b.displayorder,9999) as displayorder,ishidden from sline_tuan as a left join sline_kindorderlist as b on (b.classid={$kindid} and a.id=b.aid and b.typeid=13) where {$w} {$order} limit {$start},{$limit}"; } $totalcount_arr = DB::query(Database::SELECT, "select count(*) as num from sline_tuan a where {$w}")->execute()->as_array(); $list = DB::query(Database::SELECT, $sql)->execute()->as_array(); $new_list = array(); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Spot_Attr::getAttrnameList($v['attrid']); $iconname = Model_Icon::getIconName($v['iconlist']); $name = ''; foreach ($iconname as $icon) { if (!empty($icon)) { $name .= '<span style="color:red">[' . $icon . ']</span>'; } } $v['iconname'] = $name; $v['series'] = Common::getSeries($v['id'], '13'); //编号 $new_list[] = $v; } $result['total'] = $totalcount_arr[0]['num']; $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('tuan', $id); $model->deleteClear(); } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid=13 and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = 13; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { $kindorder = ORM::factory('kindorderlist'); $kindorder_mod = $kindorder->where("aid='{$id}' and typeid=13 and classid={$kindid}")->find(); if ($kindorder_mod->id) { $kindorder_mod->displayorder = $displayorder; } else { $kindorder_mod->displayorder = $displayorder; $kindorder_mod->aid = $id; $kindorder_mod->classid = $kindid; $kindorder_mod->typeid = 13; } $kindorder_mod->save(); if ($kindorder->saved()) { echo 'ok'; } else { echo 'no'; } } } } else { if (is_numeric($id)) { $model = ORM::factory('tuan', $id); } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, 13)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }
public function action_index() { $action = $this->params['action']; $typeid = 11; if (empty($action)) { $this->assign('kindmenu', Common::getConfig('menu_sub.jiebankind')); //分类设置项 $this->display('stourtravel/jieban/list'); } else { if ($action == 'read') { $start = Arr::get($_GET, 'start'); $limit = Arr::get($_GET, 'limit'); $kindid = Arr::get($_GET, 'kindid'); $attrid = Arr::get($_GET, 'attrid'); $sort = json_decode(Arr::get($_GET, 'sort'), true); $order = 'order by a.addtime desc'; $specOrders = array('attrid', 'kindlist', 'iconlist', 'themelist'); if ($sort[0]['property']) { if ($sort[0]['property'] == 'displayorder') { $prefix = ''; } else { if ($sort[0]['property'] == 'ishidden') { $prefix = 'a.'; } else { if (in_array($sort[0]['property'], $specOrders)) { $prefix = 'order_'; } } } $order = 'order by ' . $prefix . $sort[0]['property'] . ' ' . $sort[0]['direction'] . ',a.addtime desc'; } $w = "a.id is not null"; $w .= empty($kindid) ? '' : " and find_in_set({$kindid},a.kindlist)"; $w .= empty($attrid) ? '' : " and find_in_set({$attrid},a.attrid)"; $sql = "select a.*,if(length(ifnull(a.attrid,''))=0,0,1) as order_attrid,if(length(ifnull(a.kindlist,''))=0,0,1) as order_kindlist,if(length(ifnull(a.iconlist,''))=0,0,1) as order_iconlist,ifnull(b.displayorder,9999) as displayorder from sline_jieban as a left join sline_allorderlist b on (a.id=b.aid and b.typeid={$typeid}) where {$w} {$order} limit {$start},{$limit}"; $totalcount_arr = DB::query(Database::SELECT, "select count(*) as num from sline_jieban a where {$w}")->execute()->as_array(); $list = DB::query(Database::SELECT, $sql)->execute()->as_array(); $new_list = array(); foreach ($list as $k => $v) { $v['kindname'] = Model_Destinations::getKindnameList($v['kindlist']); $v['attrname'] = Model_Jieban_Attr::getAttrnameList($v['attrid']); $v['title'] = Model_Jieban::genTitle($v, $v['day']); $memberinfo = ORM::factory('member', $v['memberid'])->as_array(); $v['membername'] = $memberinfo['nickname']; $v['membermobile'] = $memberinfo['mobile']; $v['joinnum'] = Model_Jieban::getJoinNum($v['id']); $iconname = Model_Icon::getIconName($v['iconlist']); $name = ''; foreach ($iconname as $icon) { if (!empty($icon)) { $name .= '<span style="color:red">[' . $icon . ']</span>'; } } $v['iconname'] = $name; $v['series'] = Common::getSeries($v['id'], $typeid); //编号 $v['addtime'] = Common::myDate('Y-m-d', $v['addtime']); $new_list[] = $v; } $result['total'] = $totalcount_arr[0]['num']; $result['lists'] = $new_list; $result['success'] = true; echo json_encode($result); } else { if ($action == 'save') { } else { if ($action == 'delete') { $rawdata = file_get_contents('php://input'); $data = json_decode($rawdata); $id = $data->id; if (is_numeric($id)) { $model = ORM::factory('jieban', $id); $model->delete(); } } else { if ($action == 'update') { $id = Arr::get($_POST, 'id'); $field = Arr::get($_POST, 'field'); $val = Arr::get($_POST, 'val'); $kindid = Arr::get($_POST, 'kindid'); if ($field == 'displayorder') { $displayorder = empty($val) ? 9999 : $val; if (is_numeric($id)) { if (empty($kindid)) { $order = ORM::factory('allorderlist'); $order_mod = $order->where("aid='{$id}' and typeid={$typeid} and webid=0")->find(); if ($order_mod->id) { $order_mod->displayorder = $displayorder; } else { $order_mod->displayorder = $displayorder; $order_mod->aid = $id; $order_mod->webid = 0; $order_mod->typeid = 11; } $order_mod->save(); if ($order_mod->saved()) { echo 'ok'; } else { echo 'no'; } } else { } } } else { if (is_numeric($id)) { $model = ORM::factory('jieban', $id); } if ($model->id) { $model->{$field} = $val; if ($field == 'kindlist') { $model->{$field} = implode(',', Model_Destinations::getParentsStr($val)); } else { if ($field == 'attrid') { $model->{$field} = implode(',', Model_Attrlist::getParentsStr($val, 11)); } } $model->save(); if ($model->saved()) { echo 'ok'; } else { echo 'no'; } } } } } } } } }