_is_include = false; parent::init (); } public function preDispatch() { // TODO 認証ありなしのフラグ } public function indexAction() { $this->redirect ( '/parts/list/' ); } public function detailAction() { $req = $this->getRequest(); $_r = $req->getParams(); $result = $this->_authIdentity; // 画像サイズ // origin 640 x 480 // preview 160 x 120 // preview_s 80 x 60 // TODO ページャ // TODO 必見の処理 // TODO 物件の詳細(タイトル部分) $limit=1; $is_pager=true; $Vie_MjnetCaDataListSmart = new Apis_Vie_MjnetCarDataListSmart($this->_conn); $om = $Vie_MjnetCaDataListSmart->select(); if(isset($_r[RequestParam::REQ_ID]) && $_r[RequestParam::REQ_ID] != "") { $p_id = array( Vie_MjnetCarDataListSmart::COL_ID => $_r[RequestParam::REQ_ID] ); $om->setAndIn($p_id); } //**********ソート順*********************** $ord = $this->getRequest()->{RequestParam::REQ_ORDER}; $sort = $this->getRequest()->{RequestParam::REQ_SORT}; if ($ord == "") $ord = Vie_MjnetCarDataListSmart::COL_DATAREGISTRATIONDATE; if ($sort == "") $sort = Model::SORT_ORDER_DESC; $p_order = array($ord => $sort); $om->setOrder($p_order); //ページャ及びリスト取得 $p = new PagerLocal($_r); $p->setLimit($limit); $p->page = $req->page; $p->total_num = $om->getCount(); $all = range(0, $p->total_num); $lists = $om->setLimit($p->limit, $p->offset)->fetchAll(); $p->init($lists); if($is_pager){ ///ページャ $req = $this->getRequest(); $moduleName = $req->getModuleName(); $actionName = $req->getActionName(); $controllerName = $req->getControllerName(); foreach($req->getParams() as $key => $val) { if(is_array($val)){ $urlparam[$key] = array(); foreach($val as $value) $urlparam[$key][] = $value; }else{ if($val == "") { unset($urlparam[$key]); }else{ $urlparam[$key] = $val; } } } unset($urlparam['module']); unset($urlparam['controller']); unset($urlparam['action']); $urlparam_sort = $urlparam; $urlparam_ais = $urlparam; unset($urlparam_sort['module']); unset($urlparam_sort['page']); unset($urlparam_sort['sort']); unset($urlparam_sort['ord']); $orderLink = str_replace('=','/',http_build_query($urlparam_sort,'','/')); unset($urlparam_ais['module']); unset($urlparam_ais['page']); unset($urlparam_ais['IsAis']); $AisLink = str_replace('=','/',http_build_query($urlparam_ais,'','/')); $params = array( 'itemData' => $all, 'perPage' => $p->limit, 'append' => true, 'separator' => ' ', 'clearIfVoid' => false, 'urlVar' => 'page', 'useSessions' => true, 'closeSession' => true, 'mode' => 'Jumping', 'path' => '/' . $moduleName . '/'.$controllerName .'/'. $actionName, 'fixFileName' => "", 'fileName' => "", 'currentPage' => $req->page, 'extraVars' => $urlparam, ); $pager = & Pager::factory($params); $links = $pager->getLinks(); $_b = array('?','=','&','a href/','" title/'); $_a = array('','/','/','a href=','/" title=',); $_links = str_replace($_b ,$_a,$links); foreach($_links as $key => $link) { //配列の要素全部回すと重いので・・・とりあえずallしか参照してない。 if($key == 'all') { $links[$key] = ereg_replace("%5B([0-9]{1,2})%5D", "", $link); } } $this->view->assign('pager', $pager); $this->view->assign('links', $links); } // データ整形 foreach($lists as $vmcdlswp) { if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PRICE} == '-1') $vmcdlswp->PartsPrice = 'ASK'; if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PRICE} != '-1') $vmcdlswp->PartsPrice = "" . number_format($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PRICE} * 1000) . '円'; $vmcdlswp = $this->_lfDataFormatForCar($vmcdlswp); $vmcdlswp->NENSIKI_PH1 = str_replace("
", "", $vmcdlswp->NENSIKI_PH1); $vmcdlswp->CarNo3 = substr($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARBODYNO}, -3); $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AISPOINT} = $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AISPOINT}/10; if(strpos($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT},"純正品") !== false){ $vmcdlswp->SoubiClass2 = "純正品"; $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT} = str_replace("純正品","",$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT}); }else if(strpos($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT},"社外品") !== false){ $vmcdlswp->SoubiClass2 = "社外品"; $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT} = str_replace("社外品","",$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT}); } if(isset($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT}) && $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT} != ""){ $vmcdlswp->SoubiClass1 = str_replace("・","",$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBITEXT}); } $rand = rand(1,3); if($this->_pnSystemGlobalCD == 0){ if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AREANUM} == 1){ if($rand == 1){ $vmcdlswp->hougen = "はよせんと、売れるけんなー"; }else if($rand == 2){ $vmcdlswp->hougen = "これめっちゃおすすめやけん!"; }else if($rand == 3){ $vmcdlswp->hougen = "メールまっとるけん!"; } }else if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AREANUM} == 2){ if($rand == 1){ $vmcdlswp->hougen = "ほんだら問合せてんまい!"; }else if($rand == 2){ $vmcdlswp->hougen = "しゃんしゃん問合せないかんで!"; }else if($rand == 3){ $vmcdlswp->hougen = "なんしょんな、売れてしまうで!"; } }else if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AREANUM} == 3){ if($rand == 1){ $vmcdlswp->hougen = "メールまっちゅうきねー"; }else if($rand == 2){ $vmcdlswp->hougen = "売れるき、はよきいやー"; }else if($rand == 3){ $vmcdlswp->hougen = "これ、おすすめやきね!"; } }else if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_AREANUM} == 4){ if($rand == 1){ $vmcdlswp->hougen = "メールせなそんそん!"; }else if($rand == 2){ $vmcdlswp->hougen = "ええくるま、あるでないで!"; }else if($rand == 3){ $vmcdlswp->hougen = "はよせな、うれるじぇ〜"; } }else{ if($rand == 1){ $vmcdlswp->hougen = "はよせんと、売れるけんなー"; }else if($rand == 2){ $vmcdlswp->hougen = "これめっちゃおすすめやけん!"; }else if($rand == 3){ $vmcdlswp->hougen = "メールまっとるけん!"; } } }else{ if($rand == 1){ $vmcdlswp->hougen = "お問い合わせお待ちしております!"; }else if($rand == 2){ $vmcdlswp->hougen = "お気軽にお問い合わせください!"; }else if($rand == 3){ $vmcdlswp->hougen = "メールお待ちしております!"; } } // AIS $Vie_Ais = new Apis_Vie_Ais($this->_conn); $vaParam = array( Vie_AIS::COL_ID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID}, ); $Vie_AisOne = $Vie_Ais->findOne($vaParam); if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "R"){ $Vie_AisOne->image = "R"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "1"){ $Vie_AisOne->image = "1"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "2"){ $Vie_AisOne->image = "2"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "3"){ $Vie_AisOne->image = "3"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "35"){ $Vie_AisOne->image = "3h"; $Vie_AisOne->{Vie_AIS::COL_AISPOINT} = "3.5"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "4"){ $Vie_AisOne->image = "4"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "45"){ $Vie_AisOne->image = "4h"; $Vie_AisOne->{Vie_AIS::COL_AISPOINT} = "4.5"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "5"){ $Vie_AisOne->image = "5"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "6"){ $Vie_AisOne->image = "6"; }else if($Vie_AisOne->{Vie_AIS::COL_AISPOINT} == "S"){ $Vie_AisOne->image = "S"; } $vmcdlswp->Vie_AisOne = $Vie_AisOne; if(isset($Vie_AisOne) && $Vie_AisOne != ""){ $Vie_AIS_Log = new Vie_AIS_Log($this->_conn); $AISdata = array( Vie_AIS_Log::COL_BUKKENID => $Vie_AisOne->{Vie_AIS::COL_ID}, Vie_AIS_Log::COL_AISID => $Vie_AisOne->{Vie_AIS::COL_INQUIRYNO}, Vie_AIS_Log::COL_AISPOINT => $Vie_AisOne->{Vie_AIS::COL_AISPOINT}, Vie_AIS_Log::COL_CDATE => $Vie_AIS_Log->getDay(), ); // botはログいらない if($this->_IsNeedLog()) $Vie_AIS_Log->insertFromPostRequest($AISdata); } $Detaillog = new Detaillog($this->_conn); if($result->{Mjnet_Member::TBL_NAME}->{Mjnet_Member::COL_ID} == null) $result->{Mjnet_Member::TBL_NAME}->{Mjnet_Member::COL_ID} = 0; if(isset($_r['fromstate']) && $_r['fromstate'] != ""){ $fromstate = $_r['fromstate']; }else{ $fromstate = 0; } if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_STATE} == 1) $fromstate = 3; if($_r['g'] == 1) $fromstate = 9; //IndividualDataからpsuid 取得 //memberidがあってpsuidが取れない場合はIndividualDataにインサート if(isset($this->_authIdentity->{Mjnet_Member::TBL_NAME}->{Mjnet_Member::COL_ID})) { $p_member = array( IndividualData::COL_MJNETMEMBERID => $this->_member->{Mjnet_Member::COL_ID} ); $IndividualData = new Apis_IndividualData($this->_conn); $IndividualData2 = new IndividualData($this->_conn); $IndividualDataOne = $IndividualData->findOne($p_member); if(isset($IndividualDataOne->{IndividualData::COL_UID})) { $psuid = $IndividualDataOne->{IndividualData::COL_UID}; $in_data = array( IndividualData::COL_MDATE => $IndividualData->getDay(), ); $IndividualData2->updateFromPostRequest($in_data,$p_member); }else{ $psuid = $_SERVER['REMOTE_ADDR'] . "_" . date('Y') . date('m') . date('d'); $in_data = array( IndividualData::COL_MDATE => $IndividualData->getDay(), IndividualData::COL_CDATE => $IndividualData->getDay(), IndividualData::COL_MJNETMEMBERID => $this->_member->{Mjnet_Member::COL_ID}, IndividualData::COL_LASTACCESSDAY => $IndividualData->getDay(), IndividualData::COL_UID => $psuid, ); $IndividualData2->insertFromPostRequest($in_data); } }else{ $psuid = $_SERVER['REMOTE_ADDR'] . "_" . date('Y') . date('m') . date('d'); $p_member = array( IndividualData::COL_UID => $psuid ); $IndividualData = new Apis_IndividualData($this->_conn); $IndividualData2 = new IndividualData($this->_conn); $IndividualDataOne = $IndividualData->findOne($p_member); if(isset($IndividualDataOne->{IndividualData::COL_UID})) { $psuid = $IndividualDataOne->{IndividualData::COL_UID}; $in_data = array( IndividualData::COL_MDATE => $IndividualData->getDay(), ); $IndividualData2->updateFromPostRequest($in_data,$p_member); }else{ $in_data = array( IndividualData::COL_MDATE => $IndividualData->getDay(), IndividualData::COL_CDATE => $IndividualData->getDay(), IndividualData::COL_MJNETMEMBERID => "", IndividualData::COL_LASTACCESSDAY => $IndividualData->getDay(), IndividualData::COL_UID => $psuid, ); $IndividualData2->insertFromPostRequest($in_data); } } $Dataildata = array( Detaillog::COL_CDATE => $Detaillog->getDay(), Detaillog::COL_BUKKENID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID}, Detaillog::COL_DEALERID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, Detaillog::COL_SYAMEIID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAMECODE}, Detaillog::COL_HAIKI => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_DISPLACEMENT}, Detaillog::COL_GRADE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_GRADENAME}, Detaillog::COL_NENSIKI => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_NENSHIKI}, Detaillog::COL_NEN => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MODELYEAR}, Detaillog::COL_MISSION => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MISSION}, Detaillog::COL_DOOR => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_DOOR}, Detaillog::COL_COLOR => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_COLORNAME}, Detaillog::COL_SYAKEN => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_INSPECTION}, Detaillog::COL_PRICE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PRICE}.'.0000', Detaillog::COL_SOUBI => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_SOUBI}, Detaillog::COL_SOUKOU => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MILEAGE}, Detaillog::COL_RESTORATIONFLAG => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_RESTORATIONFLAG}, Detaillog::COL_MODE => 0, Detaillog::COL_UID => $psuid, Detaillog::COL_TOUROKUDAY => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_DATAREGISTRATIONDATE}, Detaillog::COL_MJNETMEMBERID => $this->_authIdentity->{Mjnet_Member::TBL_NAME}->{Mjnet_Member::COL_ID}, Detaillog::COL_FROMSTATE => $fromstate, Detaillog::COL_UTM => $_COOKIE['__utma']//Request.Cookies("__utma") ); // botはログいらない if($this->_IsNeedLog()) $Detaillog->insertFromPostRequest($Dataildata); // MorePhotoFlag $Vie_Itp_Nd = new Apis_Vie_Itp_Nd($this->_conn); $vinParam = array( Vie_Itp_Nd::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); $vmcdlswp->Vie_Itp_NdOne = $Vie_Itp_Nd->findOne($vinParam); // フォトデータ $Vie_PhotoFileData = new Apis_Vie_PhotoFileData($this->_conn); $vpfdParam = array( //Vie_PhotoFileData::COL_DEALERSHIPCD => $_r[RequestParam::REQ_DEALERSHIP_CODE], Vie_PhotoFileData::COL_ID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID}, ); $vpfdOrd = array( Vie_PhotoFileData::COL_PHOTONUMBER => Model::SORT_ORDER_ASC, ); $Count = $Vie_PhotoFileData->select()->setAnd($vpfdParam)->getCount(); if($vmcdlswp->Vie_Itp_NdOne->{Vie_Itp_Nd::COL_MOREPHOTOFLAG} == 1){ $Vie_PhotoFileDataList = $Vie_PhotoFileData->select()->setAnd($vpfdParam)->setOrder($vpfdOrd)->fetchAll(); }else if($vmcdlswp->Vie_Itp_NdOne->{Vie_Itp_Nd::COL_MOREPHOTOFLAG} == 0 && $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CSONLYFLAG} == 1){ $Vie_PhotoFileDataList = $Vie_PhotoFileData->select()->setAnd($vpfdParam)->setOrder($vpfdOrd)->setLimit(1)->fetchAll(); if($Count > 1) $Count = 1; }else if($vmcdlswp->Vie_Itp_NdOne->{Vie_Itp_Nd::COL_MOREPHOTOFLAG} == 0 && $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CSONLYFLAG} != 1){ $Vie_PhotoFileDataList = $Vie_PhotoFileData->select()->setAnd($vpfdParam)->setOrder($vpfdOrd)->setLimit(3)->fetchAll(); if($Count > 3) $Count = 3; } $this->view->assign('Vie_PhotoFileDataList' , $Vie_PhotoFileDataList); $this->view->assign('Vie_PhotoFileDataOne' , $Vie_PhotoFileDataList[0]); $this->view->assign('Count' , $Count); // YouTubeデータ取得 $Otherdata = new Apis_Otherdata($this->_conn); $odParam = array( Otherdata::COL_ID =>$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID}, ); $vmcdlswp->OtherdataOne = $Otherdata->findOne($odParam); // 検討中リストにあるかチェック // TODO チェックが甘いです // $mylist = $req->getCookie('aic_mylist_new'); $mylist = $req->getCookie('ucarfavo'); $fav = strstr($mylist,$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID}); if($fav){ $mylistflag = 1; }else{ $mylistflag = 0; } $vmcdlswp->mylistflag = $mylistflag; $DealershipMaster = new Apis_Vie_DealershipMaster($this->_conn); $dmParam = array( DealershipMaster::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); $vmcdlswp->DealershipMasterOne = $DealershipMaster->findOne($dmParam); // Bizフラグ $Itp_NdAcl = new Apis_Itp_NdAcl($this->_conn); if($this->_pnSystemGlobalCD == 0){ $inaParam = array( Itp_NdAcl::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); }else{ $inaParam = array( Itp_NdAcl::COL_DEALERSHIPCD => substr_replace($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE},'N',0,1), ); } $vmcdlswp->Itp_NdAclOne = $Itp_NdAcl->findOne($inaParam); // 店情報 $Itp_NdSalesPoint = new Apis_Itp_NdSalesPoint($this->_conn); if($this->_pnSystemGlobalCD == 0){ $inspParam = array( Itp_NdSalesPoint::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); }else{ $inspParam = array( Itp_NdSalesPoint::COL_DEALERSHIPCD => substr_replace($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE},'N',0,1), ); } $vmcdlswp->Itp_NdSalesPointOne = $Itp_NdSalesPoint->findOne($inspParam); // juフラグ $Vie_HanbaitenMaster = new Apis_Vie_HanbaitenMaster($this->_conn); $vhmParam = array( Vie_HanbaitenMaster::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); $vmcdlswp->Vie_HanbaitenMasterOne = $Vie_HanbaitenMaster->findOne($vhmParam); // カタログ $AIC_HOYU_CATALOG_CARNAME_CONVERT = new Apis_AIC_HOYU_CATALOG_CARNAME_CONVERT($this->_conn); $ahcccParam = array( AIC_HOYU_CATALOG_CARNAME_CONVERT::COL_CAR_CD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAMECODE}, ); $vmcdlswp->AIC_HOYU_CATALOG_CARNAME_CONVERT_ONE = $AIC_HOYU_CATALOG_CARNAME_CONVERT->findOne($ahcccParam); // 在庫 $Groupdealer = new Apis_Groupdealer($this->_conn); $subParam = array( Groupdealer::COL_SUB_DEALERID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); $GroupdealerOne = $Groupdealer->findOne($subParam); $notstockParam = array( Vie_MjnetCarDataListSmart::COL_OTHERPRICE => 99999, Vie_MjnetCarDataListSmart::COL_ID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID} ); $p_parts = array( Vie_MjnetCarDataListSmart::COL_CARNAMECODE => 9800, ); // 系列店がある場合 if(isset($GroupdealerOne) && $GroupdealerOne != ""){ $mainParam = array( Groupdealer::COL_MAIN_DEALERID => $GroupdealerOne->{GroupDealer::COL_MAIN_DEALERID}, ); $gdOrd = array( GroupDealer::COL_SORT => Model::SORT_ORDER_ASC, ); $GroupdealerList = $Groupdealer->select()->setAnd($mainParam)->setOrder($gdOrd)->fetchAll(); foreach($GroupdealerList as $one){ $DealershipCD[] = $one->{Groupdealer::COL_SUB_DEALERID}; } $stockParam = array( Vie_MjnetCarDataListSmart::COL_CARNAMECODE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAMECODE}, ); $hanbaiParamIn = array( Vie_MjnetCarDataListSmart::COL_HANBAITENCODE => $DealershipCD, ); $vmcdlswp->StockList = $Vie_MjnetCaDataListSmart->select()->setAndNotIn($notstockParam)->setAnd($stockParam)->setAndIn($hanbaiParamIn)->setAndGreaterThanEqualTo($p_parts)->setOrderByRand()->fetchAll(); }else{ $stockParam = array( Vie_MjnetCarDataListSmart::COL_CARNAMECODE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAMECODE}, Vie_MjnetCarDataListSmart::COL_HANBAITENCODE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, ); $vmcdlswp->StockList = $Vie_MjnetCaDataListSmart->select()->setAndNotIn($notstockParam)->setAnd($stockParam)->setAndGreaterThanEqualTo($p_parts)->setOrderByRand()->fetchAll(); } foreach($vmcdlswp->StockList as $StockOne) { $StockOne->{Vie_MjnetCarDataListSmart::COL_PRICE} = self::lfUtilMakePartsPrice($StockOne->{Vie_MjnetCarDataListSmart::COL_PRICE}); } // この物件を見ている人は他にこんな物件も見ています // uid取得 $DetaillogOneDayBefore = new Apis_DetaillogOneDayBefore($this->_conn); $p_logbef = array( DetaillogOneDayBefore::COL_BUKKENID => $_r[RequestParam::REQ_ID] ); $p_not_uid = array( DetaillogOneDayBefore::COL_UID => $psuid ); $p_isset_uid = array( DetaillogOneDayBefore::COL_UID => 0, ); $uidList = $DetaillogOneDayBefore->select(DetaillogOneDayBefore::COL_UID)->setAnd($p_logbef)->setAndNotIn($p_not_uid)->setAndGreaterThan($p_isset_uid)->setOrderByRand()->fetchAll(); foreach($uidList as $uidOne){ $uid[] = $uidOne->{DetaillogOneDayBefore::COL_UID}; } $p_uid_in = array( DetaillogOneDayBefore::COL_UID => $uid, ); // 物件id取得 $bukkenIDList = $DetaillogOneDayBefore->select(DetaillogOneDayBefore::COL_BUKKENID)->setAndIn($p_uid_in)->setOrderByRand()->fetchAll(); foreach($bukkenIDList as $bukkenIDOne){ $bukken[] = $bukkenIDOne->{DetaillogOneDayBefore::COL_BUKKENID}; } $p_bukken_in = array( Vie_MjnetCarDataListSmart::COL_ID => $bukken, ); $p_not_idpr = array( Vie_MjnetCarDataListSmart::COL_OTHERPRICE => 99999, Vie_MjnetCarDataListSmart::COL_ID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_ID} ); $p_parts = array( Vie_MjnetCarDataListSmart::COL_CARNAMECODE => 9800, ); $vmcdlswp->DetaillogOneDayBeforeList = $Vie_MjnetCaDataListSmart->select()->setAndIn($p_bukken_in)->setAndNotIn($p_not_idpr)->setAndGreaterThanEqualTo($p_parts)->setOrderByRand()->setLimit(3)->fetchAll(); foreach($vmcdlswp->DetaillogOneDayBeforeList as $DetaillogOneDayBeforeOne) { $DetaillogOneDayBeforeOne->{Vie_MjnetCarDataListSmart::COL_PRICE} = self::lfUtilMakePartsPrice($DetaillogOneDayBeforeOne->{Vie_MjnetCarDataListSmart::COL_PRICE}); } // Mj $Vie_MediaDataTableJoinRunDealerData = new Apis_Vie_MediaDataTableJoinRunDealerData($this->_conn); $vmdtjrddParam = array( Vie_MediaDataTableJoinRunDealerData::COL_DEALERCODE => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, Vie_MediaDataTableJoinRunDealerData::COL_MEDIANO => 1, ); $vmdtjrddOrd = array( Vie_MediaDataTableJoinRunDealerData::COL_MEDIANO => Model::SORT_ORDER_DESC, ); $Vie_MediaDataTableJoinRunDealerDataOne = $Vie_MediaDataTableJoinRunDealerData->select()->setAnd($vmdtjrddParam)->setOrder($vmdtjrddOrd)->fetch(); $release_date = explode("-", $Vie_MediaDataTableJoinRunDealerDataOne->{Vie_MediaDataTableJoinRunDealerData::COL_RELEASEDATE}); $Vie_MediaDataTableJoinRunDealerDataOne->year = $release_date[0]; $Vie_MediaDataTableJoinRunDealerDataOne->month = $release_date[1]; $Vie_MediaDataTableJoinRunDealerDataOne->day = substr($release_date[2], 0, 2); $vmcdlswp->Vie_MediaDataTableJoinRunDealerDataOne = $Vie_MediaDataTableJoinRunDealerDataOne; // バンバン看板 $Vie_Itp_NdContractData = new Apis_Vie_Itp_NdContractData($this->_conn); $p_contract = array( Vie_Itp_NdContractData::COL_CONTRACTMIDCD => 8, Vie_Itp_NdContractData::COL_DEALERSHIPCD => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE} ); $vmcdlswp->Vie_Itp_NdContractDataOne = $Vie_Itp_NdContractData->findOne($p_contract); // クーポン(くるまる) if($this->_pnSystemGlobalCD == 1){ $Dealer_CouponData = new Apis_Vie_Dealer_CouponData($this->_conn); $p_coupon = array( Dealer_CouponData::COL_DEALERID => $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENCODE}, Dealer_CouponData::COL_DEL_FLG => 0, ); $couponOrd = array( Dealer_CouponData::COL_COUPONCD => Model::SORT_ORDER_ASC ); $vmcdlswp->Dealer_CouponDataList = $Dealer_CouponData->select()->setAnd($p_coupon)->setOrder($couponOrd)->fetchAll(); foreach($vmcdlswp->Dealer_CouponDataList as $Dealer_CouponDataOne){ if(date('d') <= 24){ $Dealer_CouponDataOne->CouponYear = date('Y'); $Dealer_CouponDataOne->CouponMonth = date('n'); }else{ $Dealer_CouponDataOne = date('Y',strtotime('+1 month')); $Dealer_CouponDataOne = date('n',strtotime('+1 month')); } } } } //var_dump($vmcdlswp); //exit; $this->view->assign('p', $p); $this->view->assign('ord', $ord); $this->view->assign('sort', $sort); $this->view->assign('orderLink', $orderLink); $this->view->assign('AisLink', $AisLink); $this->view->assign('vmcdlswp' , $vmcdlswp); $this->view->assign('breadcrumbs',str_replace("中古パーツ&特殊車両詳細",$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAME}.' '.$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_GRADENAME},$this->_getBreadcrumbs())); $title = $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAME}.' '.$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_GRADENAME}; $this->view->assign('title',$title); $this->view->assign('Keywords' , str_replace(" ",",",$title)); // メタタグ if($vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MAKERCODE} < 80 && $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MAKERCODE} != 15){ $Description = $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MAKERNAME}." ".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAME}." ".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_GRADENAME}."。".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENNAME}."(".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PREFECTURE}.$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MUNICIPALITIES}.") の中古車情報。"; }else{ $Description = $vmcdlswp->{Vie_MjnetCarDataListSmart::COL_CARNAME}." ".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_GRADENAME}."。".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_HANBAITENNAME}."(".$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_PREFECTURE}.$vmcdlswp->{Vie_MjnetCarDataListSmart::COL_MUNICIPALITIES}.") の中古車情報。"; } $this->view->assign('Description', $Description); } public function listAction() { $req = $this->getRequest (); $_r = $req->getParams (); $frontendOptions = array ( 'lifetime' => rand(50, 60) * 10, // キャッシュの有効期限を10分とします 'automatic_serialization' => true, 'write_control' => false ); $cache = Zend_Cache::factory ( 'Page', 'Apc', $frontendOptions ); if (($result = $cache->load ( 'Vie_PartsGenreWithCountList' )) === false) { // ジャンルで探す // -----------------Cache対象--------------------------------- $Vie_PartsGenreWithCount = new Apis_Vie_PartsGenreWithCount ( $this->_conn ); $ord = array ( Vie_PartsGenreWithCount::COL_PARTSGENRECODE => Model::SORT_ORDER_ASC ); $Vie_PartsGenreWithCountList = $Vie_PartsGenreWithCount->select ()->setOrder ( $ord )->fetchAll (); // Cacheに保存 $cache->save ( $Vie_PartsGenreWithCountList, 'Vie_PartsGenreWithCountList' ); // -----------------Cache対象ここまで---------------------------- } else { // Cacheから取得 $Vie_PartsGenreWithCountList = $result; } $this->view->assign ( 'Vie_PartsGenreWithCountList', $Vie_PartsGenreWithCountList ); $frontendOptions = array ( 'lifetime' => rand(50, 60) * 10, // キャッシュの有効期限を10分とします 'automatic_serialization' => true , 'write_control' => false ); $cache = Zend_Cache::factory ( 'Page', 'Apc', $frontendOptions ); if (($result = $cache->load ( 'Vie_PartsEtcGenreWithCountList' )) === false) { // 特殊車両/etcを探す // -----------------Cache対象--------------------------------- $Vie_PartsEtcGenreWithCount = new Apis_Vie_PartsEtcGenreWithCount ( $this->_conn ); $ord = array ( Vie_PartsEtcGenreWithCount::COL_PARTSGENRECODE => Model::SORT_ORDER_ASC ); $Vie_PartsEtcGenreWithCountList = $Vie_PartsEtcGenreWithCount->select ()->setOrder ( $ord )->fetchAll (); // Cacheに保存 $cache->save ( $Vie_PartsEtcGenreWithCountList, 'Vie_PartsEtcGenreWithCountList' ); // -----------------Cache対象ここまで---------------------------- } else { // Cacheから取得 $Vie_PartsEtcGenreWithCountList = $result; } $this->view->assign ( 'Vie_PartsEtcGenreWithCountList', $Vie_PartsEtcGenreWithCountList ); // 最新中古パーツ&特殊車両 $this->_lfAssignPartsForNewPartsList ( 3 ); // 人気物件から探す $this->_lfAssignHotPartsRankingDataList ( 5 ); $limit = 20; $is_pager = true; $Vie_PartsForNewParts = new Apis_Vie_PartsForNewParts ( $this->_conn ); $om = $Vie_PartsForNewParts->select (); // if (isset ( $_r [RequestParam::REQ_CAR_NAME_CODE] ) && $_r [RequestParam::REQ_CAR_NAME_CODE] != "") { // $p_car_name_code = array ( // Vie_PartsForNewParts::COL_CARNAMECODE => $_r [RequestParam::REQ_CAR_NAME_CODE] // ); // // $om->setAndIn ( $p_car_name_code ); // } // 該当車名コードで絞込 if (isset ( $_r [RequestParam::REQ_CAR_NAME_CODE] ) && $_r [RequestParam::REQ_CAR_NAME_CODE] != "") { $p_car_name_code = array ( Vie_PartsForNewParts::COL_CARNAMECODE => $_r [RequestParam::REQ_CAR_NAME_CODE] ); $om->setAndIn ( $p_car_name_code ); } if (isset ( $_r [RequestParam::REQ_PARTS_GENRE_CODE] ) && $_r [RequestParam::REQ_PARTS_GENRE_CODE] != "") { $p_parts_genre_code = array ( Vie_PartsForNewParts::COL_PARTSGENRECODE => $_r [RequestParam::REQ_PARTS_GENRE_CODE] ); $om->setAndIn ( $p_parts_genre_code ); } if (isset ( $_r [RequestParam::REQ_IS_PARTS] ) && $_r [RequestParam::REQ_IS_PARTS] != "" && $_r [RequestParam::REQ_IS_PARTS] != "0") { $not_in = array (); for($i = 9800; $i < 9900; $i ++) { $not_in [] = $i; ; } $p_car_name_code = array ( Vie_PartsForNewParts::COL_CARNAMECODE => $not_in ); $om->setAndNotIn ( $p_car_name_code ); } if (isset ( $_r [RequestParam::REQ_IS_SPECIAL_VEHICLES] ) && $_r [RequestParam::REQ_IS_SPECIAL_VEHICLES] != "" && $_r [RequestParam::REQ_IS_SPECIAL_VEHICLES] != "0") { $not_in = array (); for($i = 9900; $i < 10000; $i ++) { $not_in [] = $i; ; } $p_car_name_code = array ( Vie_PartsForNewParts::COL_CARNAMECODE => $not_in ); $om->setAndNotIn ( $p_car_name_code ); } // '--------キーワードによる抽出条件------------------------------ if(isset($_r['q']) && $_r['q'] != "") { $mustsee = true; $q = $_r['q']; if($q != "") { $words = str_replace(" "," ",$q); $words = explode(" ",$words); if(count($words) > 0) { foreach($words as $val) { $list[] = "%" .$val. "%"; } }else{ //$list[] = $q; $list = "%" . $q. "%"; } //$word[Vie_PartsForNewParts::COL_CARNAME] = $list; $word[Vie_PartsForNewParts::COL_GRADENAME] = $list; $om->setAndLike($word); //$om->setAndLike($word); } } // **********ソート順*********************** $ord = $this->getRequest ()->{RequestParam::REQ_ORDER}; $sort = $this->getRequest ()->{RequestParam::REQ_SORT}; if ($sort == "") $sort = Model::SORT_ORDER_DESC; $p_order = array($ord => $sort); if($ord == "") { $p_order = array( Vie_PartsForNewParts::COL_DATAREGISTRATIONDATE => Model::SORT_ORDER_DESC, ); } // 新着順 if($ord == 0) { $p_order = array( Vie_PartsForNewParts::COL_DATAREGISTRATIONDATE => $sort, ); } // 価格順 if($ord == 1) { $p_order = array( Vie_PartsForNewParts::COL_SORTPRICE => Model::SORT_ORDER_DESC, Vie_PartsForNewParts::COL_PRICE => $sort, ); } // 名前順 if($ord == 2) { $p_order = array( Vie_PartsForNewParts::COL_GRADENAME => $sort, ); } $om->setOrder ( $p_order ); // ページャ及びリスト取得 $p = new PagerLocal ( $_r ); $p->setLimit ( $limit ); $p->page = $req->page; //$all = $om->fetchAll (); //echo($all); $p->total_num = $om->getCount(); $all = range(0, $p->total_num); $lists = $om->setLimit ( $p->limit, $p->offset )->fetchAll (); $p->init ( $lists ); if ($is_pager) { // /ページャ $req = $this->getRequest (); $moduleName = $req->getModuleName (); $actionName = $req->getActionName (); $controllerName = $req->getControllerName (); foreach ( $req->getParams () as $key => $val ) { if (is_array ( $val )) { $urlparam [$key] = array (); foreach ( $val as $value ) { $urlparam [$key] [] = $value; } } else { if ($val == "") { unset ( $urlparam [$key] ); } else { $urlparam [$key] = $val; } } } unset ( $urlparam ['module'] ); unset ( $urlparam ['controller'] ); unset ( $urlparam ['action'] ); $urlparam_sort = $urlparam; unset ( $urlparam_sort ['module'] ); unset ( $urlparam_sort ['page'] ); unset ( $urlparam_sort ['sort'] ); unset ( $urlparam_sort ['ord'] ); $orderLink = str_replace ( '=', '/', http_build_query ( $urlparam_sort, '', '/' ) ); if ($orderLink != "") $orderLink = "/" . $orderLink; $params = array ( 'itemData' => $all, 'perPage' => $p->limit, 'append' => true, 'separator' => ' ', 'clearIfVoid' => false, 'urlVar' => 'page', 'useSessions' => true, 'closeSession' => true, 'mode' => 'Jumping', 'path' => '/' . $moduleName . '/' . $controllerName . '/' . $actionName, 'fixFileName' => "", 'fileName' => "", 'currentPage' => $req->page, 'extraVars' => $urlparam ); $pager = & Pager::factory ( $params ); $links = $pager->getLinks (); $_b = array ( '?', '=', '&', 'a href/', '" title/' ); $_a = array ( '', '/', '/', 'a href=', '/" title=' ); $_links = str_replace ( $_b, $_a, $links ); foreach ( $_links as $key => $link ) { // 配列の要素全部回すと重いので・・・とりあえずallしか参照してない。 if ($key == 'all') { $links [$key] = ereg_replace ( "%5B([0-9]{1,2})%5D", "", $link ); } } $this->view->assign ( 'pager', $pager ); $this->view->assign ( 'links', $links ); } $this->view->assign ( 'p', $p ); $this->view->assign ( 'ord', $ord ); $this->view->assign ( 'sort', $sort ); $this->view->assign ( 'orderLink', $orderLink ); foreach ( $lists as $Vie_PartsForNewPartsOne ) { $Vie_PartsForNewPartsOne->{Vie_PartsForNewParts::COL_PRICE} = self::lfUtilMakePartsPrice ( $Vie_PartsForNewPartsOne->{Vie_PartsForNewParts::COL_PRICE} ); } $this->view->assign ( 'Vie_PartsForNewPartsListWithPager', $lists ); if(isset($_r[Vie_PartsForNewParts::COL_PARTSGENRECODE]) || isset($_r['IsParts'])){ $this->view->assign('breadcrumbs',str_replace("中古パーツ&特殊車両",'中古パーツ',$this->_getBreadcrumbs())); $this->view->assign('title','中古パーツ'); }else if($_r[Vie_PartsForNewParts::COL_CARNAMECODE] || isset($_r['IsSpecialVehicles'])){ $this->view->assign('breadcrumbs',str_replace("中古パーツ&特殊車両",'特殊車両',$this->_getBreadcrumbs())); $this->view->assign('title','特殊車両'); } } } ?>