📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv11.demodesign.com.tr
/
catalog
/
controller
/
eticdokargo
📝
cron_job.php
← Geri Dön
<?php class ControllerEticdokargoCronjob extends Controller { public $list_length = 250; public function index() { echo "Versiyon: 1.15.521<br>"; $settings = $this->config->get('eticdokargo'); define('ETİCDOKARGO_REPORT', true); if(isset($settings['debug']) && $settings['debug']==1) define("ETİCDOKARGO_DEBUG", 1); if(isset($settings['status']) && $settings['status']!=1) die('Kargo Modülü kapalı. Admin panelde durumun "açık" hale getirmeyi deneyebilirsiniz.'); if(isset($settings['list_length']) && (int)$settings['list_length']) $this->list_length = (int)$settings['list_length']; $otomatik_tamamlandi = isset($settings['otomatik_tamamlandi'])?(int)$settings['otomatik_tamamlandi']:false; $sendemail = isset($settings['sendemail'])?$settings['sendemail']:false; $email = isset($settings['email'])?$settings['email']:false; //$sorulacak_durumlar = $this->eticdokargo->sorulacaklar; $this->load->model('checkout/order'); $order_filter =" AND `date_modified`>= NOW() - INTERVAL 15 DAY AND `kargo_sonuc` NOT LIKE '%Teslim Edildi%' "; $order_filter .= " AND `kargo_barcode`!=''"; if(isset($_GET['order_id'])){ $order_filter .=" AND order_id=".(int)$_GET['order_id']; } if(isset($_GET['order_id'])){ $order_filter =" AND order_id=".(int)$_GET['order_id']; } if(isset($_GET['page'])){ $page =(int)$_GET['page']; } else { $page = 0; } if(isset($settings['barkodsuz_sorgu']) && $settings['barkodsuz_sorgu']!=''){ $barkodsuz_sorgu = $settings['barkodsuz_sorgu']; } else{ $barkodsuz_sorgu = ''; } $limit = " LIMIT ".($page*$this->list_length).", ".$this->list_length; $sql = "SELECT *, (SELECT `name` FROM `".DB_PREFIX."order_status` os WHERE os.`order_status_id`= o.`order_status_id` LIMIT 1) AS order_status FROM `".DB_PREFIX."order` o WHERE `order_status_id` NOT IN(0,$otomatik_tamamlandi) ".$order_filter; $count_query = $this->db->query("SELECT COUNT(*) as adet FROM ( $sql ) T"); if($count_query->row['adet']>=$this->list_length){ $this->_e( "İşlem bekleyen kayıt sayısı çok fazla: ".$count_query->row['adet']."<br>Sayı ".$this->list_length." ile kısıtlanıyor<br>Sayfalamayı kullanabilirsiniz<br>"); for($i=0; $i<=$count_query->row['adet']/$this->list_length; $i++ ){ $this->_e("<a href='index.php?route=eticdokargo/cron_job&page=".$i."'>index.php?route=eticdokargo/cron_job&page=".$i."</a><br> "); } } $sql .= $limit; $query = $this->db->query($sql); if(!$query->num_rows){ $this->_e('İşlem yapılacak bir sipariş yok...'); die(); } foreach($query->rows as $row){ if(empty($row['kargo_firma']))$row['kargo_firma'] = $barkodsuz_sorgu; if(!empty($row['kargo_firma']) && property_exists($this->eticdokargo, $row['kargo_firma'])){ $row['method'] = $this->find_method($row['payment_code']); $result = $this->eticdokargo->kargo_durumu_al($row['kargo_firma'], $row); if($result['data']['kargo_sonuc']==''){ echo "#".$row['order_id']." Webservis sonucu alınamadı<br>"; continue; } if($otomatik_tamamlandi && $this->tamamlandi_sonucu( $result['data']['kargo_sonuc'] )){ $row['order_status_id'] = $otomatik_tamamlandi; } if($row['kargo_sonuc']!=$result['data']['kargo_sonuc']){ $notify = 0; $comment = 'Kargo Durumu : '.$result['data']['kargo_sonuc']; $kargo_sonuc = "`kargo_sonuc`='".$this->db->escape($result['data']['kargo_sonuc'])."'"; $kargo_url = "`kargo_url`='".$this->db->escape($result['data']['kargo_url'])."'"; $sql = "UPDATE " . DB_PREFIX . "order SET $kargo_sonuc, $kargo_url WHERE `order_id`=".(int)$row['order_id']; $this->db->query($sql); if($result['data']['kargo_url']!='' && $result['data']['kargo_url']!=$row['kargo_url']){ $link_olustu = true; } else{ $link_olustu = false; } if( $link_olustu && $sendemail && $email ){ if( $link_olustu )$notify = 1; if($sendemail=='2')$notify = 1; $row['kargo_url'] = $result['data']['kargo_url']; $row['kargo_sonuc'] = $result['data']['kargo_sonuc']; $comment = $email; foreach($row as $field=>$value){ $comment = str_replace('{'.$field.'}', $value, $comment); } } // before_addOrderHistory $this->model_checkout_order->addOrderHistory($row['order_id'], $row['order_status_id'], $comment, $notify,0); // after_addOrderHistory } if($otomatik_tamamlandi && $this->tamamlandi_sonucu( $result['data']['kargo_sonuc'] )){ $row['order_status_id'] = $otomatik_tamamlandi; $this->model_checkout_order->addOrderHistory($row['order_id'], $row['order_status_id'], 'Sipariş Durumu Otomatik Olarak Tamamlandı : '.$result['data']['kargo_sonuc'], 0,0); } if($result['status']['1']){ $this->_e("#".$row['order_id'].' '.$this->eticdokargo->get_firma_name($row['kargo_firma']).' İşlendi. Kargo Durumu: '.$result['data']['kargo_sonuc'].'<br>'); } else { $this->_e( "#".$row['order_id'].' <strong>'.$this->eticdokargo->get_firma_name($row['kargo_firma']).':</strong> '.$result['message'].'<br>'); } } else { $this->_e("#".$row['order_id'].' <strong>'.$this->eticdokargo->get_firma_name($row['kargo_firma']).':</strong> Bulunamadı<br>'); } } } private function find_method($method){ foreach($this->eticdokargo->metodlar as $key=>$eticdokargo_metod){ if(in_array($method, $eticdokargo_metod)) return $key; } return "online_normal"; } private function tamamlandi_sonucu($kargo_sonuc){ $turkish=array('İ','I','Ş','ş','Ğ','ğ','Ü','ü','Ö','ö'); $latin = array('i','i','s','s','g','g','u','u','o','o'); $kargo_sonuc = str_replace($turkish, $latin, $kargo_sonuc); $kargo_sonuc = strtolower($kargo_sonuc); $arananlar = array('teslim edilmistir', 'teslim edildi'); foreach($arananlar as $aranan){ if(strpos($kargo_sonuc, $aranan)!==false){ return true; } } return false; } private function _e($message){ if(defined('ETİCDOKARGO_DEBUG') || defined('ETİCDOKARGO_REPORT')) echo $message; } } ?>
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula