Exemplo n.º 1
0
 public static function pinThumbs($pin)
 {
     $thumb_sizes = Model_Upload_Abstract::pinThumbSizes();
     $thumbs = array();
     foreach ($thumb_sizes as $size => $prefix) {
         if (isset($pin['pin_thumb' . strtolower($prefix)]) && $pin['pin_thumb' . strtolower($prefix)] && count($thumb = explode('|||', $pin['pin_thumb' . strtolower($prefix)])) == 5) {
             $thumbs['thumb_image' . strtolower($prefix)] = $thumb[0];
             $thumbs['thumb_original' . strtolower($prefix)] = $thumb[3];
             $thumbs['thumb_width' . strtolower($prefix)] = $thumb[1];
             $thumbs['thumb_height' . strtolower($prefix)] = $thumb[2];
             $thumbs['thumb_mime' . strtolower($prefix)] = $thumb[4];
             $thumbs['thumb_size' . strtolower($prefix)] = $prefix;
             $thumbs['thumb_pin_id' . strtolower($prefix)] = $pin['pin_pin_id'];
         } else {
             $image = Helper_Uploadimages::pin($pin, $prefix);
             if ($image) {
                 foreach ($image as $k => $v) {
                     $thumbs['thumb_' . $k . strtolower($prefix)] = $v;
                 }
             } else {
             }
         }
     }
     return $thumbs;
 }
Exemplo n.º 2
0
 /**
  * @return Ambigous <JO_Db_Select, JO_Db_Select>
  */
 public static function getListPinsQuery()
 {
     $db = JO_Db::getDefaultAdapter();
     $rows_pins = self::describeTable('pins', 'pin_');
     $rows_users = self::describeTable('users', 'user_');
     $rows_via = self::describeTable('users', 'via_');
     $rows_boards = self::describeTable('boards', 'board_');
     /////other rows
     $rows_pins['pin_gift'] = new JO_Db_Expr('pins.price > 0.0000');
     //$rows_boards['board_url'] = new JO_Db_Expr('('.$db->select()->from('url_alias', 'IF(`path`,`path`,`keyword`)')->where('query = CONCAT(\'board_id=\',boards.board_id)')->limit(1).')');
     switch (Helper_Config::get('config_user_view')) {
         case 'username':
             $rows_users['user_fullname'] = new JO_Db_Expr('users.username');
             $rows_via['via_fullname'] = new JO_Db_Expr('via.username');
             break;
         case 'firstname':
             $rows_users['user_fullname'] = new JO_Db_Expr('users.firstname');
             $rows_via['via_fullname'] = new JO_Db_Expr('via.firstname');
             break;
         case 'fullname':
         default:
             $rows_users['user_fullname'] = new JO_Db_Expr('CONCAT(users.firstname, " ", users.lastname)');
             $rows_via['via_fullname'] = new JO_Db_Expr('CONCAT(via.firstname, " ", via.lastname)');
             break;
     }
     /*if(JO_Session::get('user[user_id]')) {
      	 $rows_pins['following_board'] = new JO_Db_Expr('('.$db->select()->from('users_following','COUNT(users_following_id)')->where('user_id = ?', JO_Session::get('user[user_id]'))->where('following_id = pins.user_id')->where('board_id = pins.board_id')->limit(1) .')');
      	$rows_pins['following_user'] = new JO_Db_Expr('('.$db->select()->from('users_following_user', 'COUNT(ufu_id)')->where('user_id = ?', JO_Session::get('user[user_id]'))->where('following_id = pins.user_id')->limit(1).')');
      	} else {
      	$rows_pins['following_board'] = new JO_Db_Expr("'login'");
      	$rows_pins['following_user'] = new JO_Db_Expr("'login'");
      	}*/
     if (JO_Session::get('user[user_id]')) {
         $rows_pins['pin_is_liked'] = new JO_Db_Expr('(' . $db->select()->from('pins_likes', 'COUNT(like_id)')->where('pin_id = pins.pin_id')->where('user_id = ?', JO_Session::get('user[user_id]'))->limit(1) . ')');
     } else {
         $rows_pins['pin_is_liked'] = new JO_Db_Expr("0");
     }
     /* is reported */
     $query_is_reported = $db->select()->from('pins_reports', 'COUNT(pr_id)')->where('pin_id = pins.pin_id')->where('checked = 0')->limit(1);
     if ((string) JO_Session::get('user[user_id]')) {
         $query_is_reported->where("user_id = '" . (string) JO_Session::get('user[user_id]') . "' OR user_ip = '" . JO_Request_Server::encode_ip(JO_Request::getInstance()->getClientIp()) . "'");
     } else {
         $query_is_reported->where("user_ip = ?", JO_Request_Server::encode_ip(JO_Request::getInstance()->getClientIp()));
     }
     $rows_pins['pin_is_reported'] = new JO_Db_Expr("(" . $query_is_reported . ")");
     $thumbs = Model_Upload_Abstract::pinThumbSizes();
     foreach ($thumbs as $size => $prefix) {
         $rows_pins['pin_thumb' . strtolower($prefix)] = new JO_Db_Expr('(' . $db->select()->from('pins_images', 'CONCAT_WS(\'|||\',image,width,height,original,mime)')->where('pin_id = pins.pin_id')->where('size = ?', $prefix)->limit(1) . ')');
     }
     $thumbs = Model_Upload_Abstract::userThumbSizes();
     foreach ($thumbs as $size => $prefix) {
         $rows_users['user_avatar' . strtolower($prefix)] = new JO_Db_Expr('(' . $db->select()->from('users_avatars', 'CONCAT_WS(\'|||\',image,width,height,original,mime)')->where('user_id = users.user_id')->where('size = ?', $prefix)->limit(1) . ')');
     }
     $query = $db->select()->from('pins', $rows_pins)->joinLeft('users', 'pins.user_id = users.user_id', $rows_users)->joinLeft('boards', 'pins.board_id = boards.board_id', $rows_boards)->joinLeft(array('via' => 'users'), 'pins.via = via.user_id', $rows_via);
     //for public boards
     if (Helper_Config::get('config_private_boards')) {
         if (JO_Session::get('user[user_id]')) {
             $query->where('pins.user_id = ? OR IF(pins.user_id = ?, 1, pins.public)  = 1', JO_Session::get('user[user_id]'));
         } else {
             $query->where('pins.public = 1');
         }
     }
     return $query;
 }