'colissimo_suivi', 'primary' => 'id_colissimo_suivi', 'multilang' => false, 'fields' => array( 'id_order' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true), 'tracking' => array('type' => self::TYPE_STRING, 'validate' => 'isTrackingNumber', 'required' => true, 'size' => 13), 'event_code' => array('type' => self::TYPE_STRING, 'validate' => 'isString', 'size' => 6), 'event_libelle' => array('type' => self::TYPE_STRING, 'validate' => 'isString'), 'event_site' => array('type' => self::TYPE_STRING, 'validate' => 'isString'), 'event_date' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'error_code' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'), 'date_add' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), 'date_upd' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), ), ); /** * @return string */ public function getTrackingUrl() { return 'https://www.laposte.fr/particulier/outils/suivre-vos-envois?code='.$this->tracking; } /** * @return string */ public function getTrackingFormatted() { return Tools::substr($this->tracking, 0, 2).' '.Tools::substr($this->tracking, 2, 3).' '.Tools::substr($this->tracking, 5, 3).' '.Tools::substr($this->tracking, 8, 4).' '.Tools::substr($this->tracking, 12); } /** * @param int $id_order * @return mixed */ public static function getIdByOrderId($id_order) { return Db::getInstance()->getValue(' SELECT cs.`id_colissimo_suivi` FROM `'._DB_PREFIX_.'colissimo_suivi` cs WHERE cs.`id_order` = '.(int)$id_order ); } /** * @return array */ public static function getAll() { $date = new DateTime(); $date->sub(new DateInterval("P1M")); return Db::getInstance()->executeS(' SELECT cs.`id_colissimo_suivi` FROM `'._DB_PREFIX_.'colissimo_suivi` cs WHERE cs.`date_add` > \''.$date->format('Y-m-d H:i:s').'\' AND SUBSTR(cs.event_code, 0, 3) != \'LIV\'' ); } }