'csuivi_tracking', 'primary' => 'id_csuivi_tracking', '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), 'status' => array('type' => self::TYPE_STRING, 'validate' => 'isString'), 'delivered' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'date' => array('type' => self::TYPE_DATE, 'validate' => 'isDate'), '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 int */ public static function getIdByOrderId($id_order) { return (int)Db::getInstance()->getValue(' SELECT ct.`id_csuivi_tracking` FROM `'._DB_PREFIX_.'csuivi_tracking` ct WHERE ct.`id_order` = '.(int)$id_order ); } /** * @return array|false */ public static function getAll() { $date = new DateTime(); $date->sub(new DateInterval('P1M')); return Db::getInstance()->executeS(' SELECT ct.`id_csuivi_tracking` FROM `'._DB_PREFIX_.'csuivi_tracking` ct WHERE ct.`delivered` = 0 AND ct.`date_upd` > \''.$date->format('Y-m-d H:i:s').'\'' ); } }