示例#1
0
文件: Date.php 项目: noikiy/amatteur
 public static function dateDiff($time1, $time2, $precision = 7, $full = false)
 {
     // If not numeric then convert texts to unix timestamps
     if (!is_int($time1)) {
         $time1 = JO_Date::dateToUnix($time1);
     }
     if (!is_int($time2)) {
         $time2 = JO_Date::dateToUnix($time2);
     }
     // If time1 is bigger than time2
     // Then swap time1 and time2
     if ($time1 > $time2) {
         $ttime = $time1;
         $time1 = $time2;
         $time2 = $ttime;
     }
     // Set up intervals and diffs arrays
     $intervals = array('year', 'month', 'week', 'day', 'hour', 'minute', 'second');
     $diffs = array();
     // Loop thru all intervals
     foreach ($intervals as $interval) {
         // Set default diff to 0
         $diffs[$interval] = 0;
         // Create temp time from time1 and interval
         $ttime = strtotime("+1 " . $interval, $time1);
         // Loop until temp time is smaller than time2
         while ($time2 >= $ttime) {
             $time1 = $ttime;
             $diffs[$interval]++;
             // Create new temp time from time1 and interval
             $ttime = strtotime("+1 " . $interval, $time1);
         }
     }
     $count = 0;
     $times = array();
     // Loop thru all diffs
     foreach ($diffs as $interval => $value) {
         // Break if we have needed precission
         if (!$full && $count >= $precision) {
             break;
         }
         // Add value and interval
         // if value is bigger than 0
         if ($value > 0 || $full) {
             // Add s if value is not 1
             if ($value != 1) {
                 $interval .= "s";
             }
             // Add value and interval to times array
             $times[] = array('key' => $interval, 'value' => $value);
             $count++;
         }
     }
     // Return string with times
     return $times;
 }
示例#2
0
文件: Orders.php 项目: noikiy/PD
 public static function getTotal($data = array())
 {
     $db = JO_Db::getDefaultAdapter();
     $query = $db->select()->from(array('o' => 'orders'), new JO_Db_Expr('COUNT(o.id), (o.price - o.receive) AS web_profit, (SELECT receive FROM orders WHERE order_id = o.id LIMIT 1) AS referral_sum, ((o.price - o.receive) - (SELECT receive FROM orders WHERE order_id = o.id LIMIT 1)) AS web_profit2'))->joinLeft(array('u' => Model_Users::getPrefixDB() . 'users'), 'o.user_id = u.user_id', array())->joinLeft(array('u2' => Model_Users::getPrefixDB() . 'users'), 'o.owner_id = u2.user_id', array());
     ////////////filter
     if (isset($data['filter_id']) && $data['filter_id']) {
         $query->where('o.id = ?', (int) $data['filter_id']);
     }
     if (isset($data['filter_order_id']) && $data['filter_order_id']) {
         $query->where('o.order_id = ?', (int) $data['filter_order_id']);
     }
     if (isset($data['filter_name']) && $data['filter_name']) {
         $query->where('o.item_name LIKE ?', '%' . $data['filter_name'] . '%');
     }
     if (isset($data['filter_username']) && $data['filter_username']) {
         $query->where('u.username LIKE ?', '%' . $data['filter_username'] . '%');
     }
     if (isset($data['filter_owner']) && $data['filter_owner']) {
         $query->where('u2.username LIKE ?', '%' . $data['filter_owner'] . '%');
     }
     if (isset($data['filter_price']) && $data['filter_price']) {
         $data['filter_price'] = html_entity_decode($data['filter_price'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_price'], '<>') === 0) {
             $query->where('o.price != ?', (double) substr($data['filter_price'], 2));
         } elseif (strpos($data['filter_price'], '>') === 0) {
             $query->where('o.price > ?', (double) substr($data['filter_price'], 1));
         } elseif (strpos($data['filter_price'], '<') === 0) {
             $query->where('o.price < ?', (double) substr($data['filter_price'], 1));
         } else {
             $query->where('o.price = ?', (double) $data['filter_price']);
         }
     }
     if (isset($data['filter_receive']) && $data['filter_receive']) {
         $data['filter_receive'] = html_entity_decode($data['filter_receive'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_receive'], '<>') === 0) {
             $query->where('o.receive != ?', (double) substr($data['filter_receive'], 2));
         } elseif (strpos($data['filter_receive'], '>') === 0) {
             $query->where('o.receive > ?', (double) substr($data['filter_receive'], 1));
         } elseif (strpos($data['filter_receive'], '<') === 0) {
             $query->where('o.receive < ?', (double) substr($data['filter_receive'], 1));
         } else {
             $query->where('o.receive = ?', (double) $data['filter_receive']);
         }
     }
     if (isset($data['filter_web_receive']) && $data['filter_web_receive']) {
         $data['filter_web_receive'] = html_entity_decode($data['filter_web_receive'], ENT_QUOTES, 'utf-8');
         if (strpos($data['filter_web_receive'], '<>') === 0) {
             $query->where('web_profit2 != ?', (double) substr($data['filter_web_receive'], 2));
         } elseif (strpos($data['filter_web_receive'], '>') === 0) {
             $query->where('web_profit2 > ?', (double) substr($data['filter_web_receive'], 1));
         } elseif (strpos($data['filter_web_receive'], '<') === 0) {
             $query->where('web_profit2 < ?', (double) substr($data['filter_web_receive'], 1));
         } else {
             $query->where('web_profit2 = ?', (double) $data['filter_web_receive']);
         }
     }
     if (isset($data['filter_item_id']) && $data['filter_item_id']) {
         $query->where('o.item_id = ?', (int) $data['filter_item_id']);
     }
     if (isset($data['filter_paid']) && in_array($data['filter_paid'], array('true', 'false'))) {
         $query->where('o.paid = ?', $data['filter_paid']);
     }
     if (isset($data['filter_extended']) && in_array($data['filter_extended'], array('true', 'false'))) {
         $query->where('o.extended = ?', $data['filter_extended']);
     }
     if (isset($data['filter_type']) && $data['filter_type']) {
         $query->where('o.type = ?', $data['filter_type']);
     }
     if (isset($data['filter_from']) && JO_Date::dateToUnix($data['filter_from'])) {
         $query->where('DATE(o.datetime) >= ?', JO_Date::getInstance($data['filter_from'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_to']) && JO_Date::dateToUnix($data['filter_to'])) {
         $query->where('DATE(o.datetime) <= ?', JO_Date::getInstance($data['filter_to'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_paid_from']) && JO_Date::dateToUnix($data['filter_paid_from'])) {
         $query->where('DATE(o.paid_datetime) >= ?', JO_Date::getInstance($data['filter_paid_from'], 'yy-mm-dd', true)->toString());
     }
     if (isset($data['filter_paid_to']) && JO_Date::dateToUnix($data['filter_paid_to'])) {
         $query->where('DATE(o.paid_datetime) <= ?', JO_Date::getInstance($data['filter_paid_to'], 'yy-mm-dd', true)->toString());
     }
     return $db->fetchOne($query);
 }
示例#3
0
文件: Pin.php 项目: noikiy/amatteur
 public static function returnHtml($pin, $recache = false)
 {
     static $view = null, $model_images = null, $request = null;
     if ($view === null) {
         $view = JO_View::getInstance();
     }
     if ($model_images === null) {
         $model_images = new Helper_Images();
     }
     if ($request === null) {
         $request = JO_Request::getInstance();
     }
     $view->image_no_cache = JO_Date::dateToUnix($pin['date_modified']);
     if (!JO_Registry::get('isMobile')) {
         $cache_file = Model_Pins::generateCachePatch($pin);
         if ($cache_file && file_exists($cache_file)) {
             if (JO_Date::dateToUnix($pin['date_modified']) >= JO_Date::dateToUnix(filemtime($cache_file))) {
                 $recache = true;
             }
         }
         $content = false;
         if (!$recache) {
             //CACHE OFF
             if ($cache_file && file_exists($cache_file)) {
                 $content = Model_Pins::getCache($cache_file);
                 if ($content && $content['html'] && $content['date_added'] > JO_Date::dateToUnix($pin['date_modified'])) {
                     return $content['html'];
                 }
             }
         }
     }
     //$image='';
     //error_log("INICIO IMAGE thumb _B (): ".self::udate("Y-m-d H:i:s.u"));
     //$image = Helper_Uploadimages::pin($pin, '_B');
     //if($image) {
     //$pin['thumb'] = $image['image'];
     //$pin['thumb_width'] = $image['width'];
     //$pin['thumb_height'] = $image['height'];
     //$pin['original_image'] = $image['original'];
     //} else {
     //return '';
     //}
     //cogemos la extensión del fichero
     $extension = substr(strrchr($pin['image'], '.'), 1);
     //ahora la quitamos
     $nombreSextension = substr($pin['image'], 0, strlen($pin['image']) - strlen($extension) - 1);
     if ($pin["store"] == "amazons3") {
         $host = "http://images.amatteur.com/";
         $sufijo = "_B.";
         //$img_size = @getimagesize($host.$nombreSextension."_B.".$extension);
         $pin['thumb'] = $host . $nombreSextension . $sufijo . $extension;
         if ($pin['width'] != 0) {
             $pin['thumb_width'] = $pin['width'];
             $pin['thumb_height'] = $pin['height'];
         } else {
             $pin['thumb_width'] = 194;
             $pin['thumb_height'] = $pin['height'];
         }
         $pin['original_image'] = $host . $pin['image'];
     } else {
         $host = "/uploads";
         $sufijo = ".";
         $image = Helper_Uploadimages::pin($pin, '_B');
         if ($image) {
             $pin['thumb'] = $image['image'];
             $pin['thumb_width'] = $image['width'];
             $pin['thumb_height'] = $image['height'];
             $pin['original_image'] = $image['original'];
         } else {
             return '';
         }
     }
     //error_log("FIN IMAGE thumb _B (): ".self::udate("Y-m-d H:i:s.u"));
     //error_log("INICIO IMAGE thumb _D (): ".self::udate("Y-m-d H:i:s.u"));
     //$image = Helper_Uploadimages::pin($pin, '_D');
     //if($image) {
     //$pin['popup'] = $image['image'];
     //$pin['popup_width'] = $image['width'];
     //$pin['popup_height'] = $image['height'];
     //$pin['original_image'] = $image['original'];
     //}else {
     //return '';
     //}
     if ($pin["store"] == "amazons3") {
         $host = "http://images.amatteur.com/";
         $sufijo = "_D.";
     } else {
         $host = "/uploads";
         $sufijo = ".";
     }
     $pin['popup'] = $host . $nombreSextension . $sufijo . $extension;
     //$pin['popup_width'] = $pin['width'];
     //$pin['popup_height'] = $pin['height'];
     $pin['original_image'] = $host . $pin['image'];
     //error_log("FIN IMAGE thumb _D (): ".self::udate("Y-m-d H:i:s.u"));
     $date_dif = array_shift(WM_Date::dateDiff($pin['date_added'], time()));
     $pin['date_dif'] = $date_dif;
     $pin['description'] = self::descriptionFix($pin['description']);
     //$pin['description'] = $pin['user'];
     $pin['href'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
     if (JO_Session::get('user[user_id]')) {
         $pin['url_like'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=like&pin_id=' . $pin['pin_id']);
         $pin['url_repin'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=repin&pin_id=' . $pin['pin_id']);
         $pin['url_comment'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
         $pin['comment'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin['pin_id']);
         $pin['edit'] = JO_Session::get('user[user_id]') == $pin['user_id'] ? WM_Router::create($request->getBaseUrl() . '?controller=pin&action=edit&pin_id=' . $pin['pin_id']) : false;
     } else {
         $pin['url_like'] = $pin['url_repin'] = $pin['url_comment'] = $pin['comment'] = WM_Router::create($request->getBaseUrl() . '?controller=landing');
         $pin['edit'] = false;
     }
     $pin['onto_href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin['user_id'] . '&board_id=' . $pin['board_id']);
     $pin['price_formated'] = WM_Currency::format($pin['price']);
     $view->author = $pin['user'];
     if ($pin["user"]["store"] == "amazons3") {
         $host = 'http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'), '.') . '/';
         //$host="http://images.amatteur.com/";
         $sufijo = "_A.";
     } else {
         $host = "/uploads";
         $sufijo = ".";
     }
     if ($pin["user"]["avatar"] == "") {
         $imageUser = "******";
     } else {
         //cogemos la extensión del fichero
         $extension = substr(strrchr($pin["user"]["avatar"], '.'), 1);
         //ahora la quitamos
         $nombreSextension = substr($pin["user"]["avatar"], 0, strlen($pin["user"]["avatar"]) - strlen($extension) - 1);
         $imageUser = $host . $nombreSextension . $sufijo . $extension;
     }
     $view->author['avatar'] = $imageUser;
     //$avatar = Helper_Uploadimages::avatar($pin['user'], '_A');
     //$avatar='';
     //$view->author['avatar'] = $avatar['image'];
     $view->author['profile'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['user_id']);
     if (JO_Session::get('user[user_id]')) {
         //error_log("entra");
         $imageProp = JO_Session::get('user');
         if ($imageProp["store"] == "amazons3") {
             //$host='http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'),'.') . '/';
             $host = "http://images.amatteur.com/";
             $sufijo = "_A.";
         } else {
             $host = "/uploads";
             $sufijo = ".";
         }
         if ($imageProp["avatar"] == "") {
             $imageUser = "******";
         } else {
             //cogemos la extensión del fichero
             $extension = substr(strrchr($imageProp["avatar"], '.'), 1);
             //ahora la quitamos
             $nombreSextension = substr($imageProp["avatar"], 0, strlen($imageProp["avatar"]) - strlen($extension) - 1);
             $imageUser = $host . $nombreSextension . $sufijo . $extension;
         }
         $view->author_self = $imageUser;
         //$avatar = Helper_Uploadimages::avatar(JO_Session::get('user'), '_A');
         //$avatar='';
         //$view->author_self = $avatar['image'];
         $view->profile_self = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
     }
     if ($pin['latest_comments']) {
         foreach ($pin['latest_comments'] as $key => $comment) {
             if (!isset($pin['latest_comments'][$key]['user']['store'])) {
                 unset($pin['latest_comments'][$key]);
                 continue;
             }
             if ($pin['latest_comments'][$key]['user']["store"] == "amazons3") {
                 //$host='http://' . JO_Registry::get('bucklet') . '.' . trim(JO_Registry::get('awsDomain'),'.') . '/';
                 $host = "http://images.amatteur.com/";
                 $sufijo = "_A.";
             } else {
                 $host = "/uploads";
                 $sufijo = ".";
             }
             if ($pin['latest_comments'][$key]['user']["avatar"] == "") {
                 $imageUser = "******";
             } else {
                 //cogemos la extensión del fichero
                 $extension = substr(strrchr($pin['latest_comments'][$key]['user']["avatar"], '.'), 1);
                 //ahora la quitamos
                 $nombreSextension = substr($pin['latest_comments'][$key]['user']["avatar"], 0, strlen($pin['latest_comments'][$key]['user']["avatar"]) - strlen($extension) - 1);
                 $imageUser = $host . $nombreSextension . $sufijo . $extension;
             }
             $pin['latest_comments'][$key]['user']['avatar'] = $imageUser;
             //$avatar = Helper_Uploadimages::avatar($pin['latest_comments'][$key]['user'], '_A');
             //$avatar='';
             //$pin['latest_comments'][$key]['user']['avatar'] = $avatar['image'];
             $pin['latest_comments'][$key]['user']['profile'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $comment['user_id']);
             $pin['latest_comments'][$key]['delete'] = '';
             if (JO_Session::get('user[user_id]')) {
                 if (JO_Session::get('user[is_admin]') || JO_Session::get('user[user_id]') == $comment['user_id']) {
                     $pin['latest_comments'][$key]['delete'] = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=deleteComment&comment_id=' . $comment['comment_id']);
                 }
             }
         }
     }
     $view->via = array();
     if ($pin['via']) {
         $view->via = array('profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['via']), 'fullname' => $pin['user_via']['fullname']);
     }
     $view->loged = (int) JO_Session::get('user[user_id]');
     $view->site_name = JO_Registry::get('site_name');
     $view->history_id = isset($pin['history_id']) ? $pin['history_id'] : '';
     $view->history_action = isset($pin['history_action']) ? ' ' . $pin['history_action'] : '';
     $view->pin = $pin;
     $response = $view->render('pinBox', 'pin');
     //CACHE OFF
     if (!JO_Registry::get('isMobile')) {
         if ($cache_file && file_exists($cache_file)) {
             Model_Pins::generateCache($cache_file, $response);
         }
     }
     return $response;
 }