コード例 #1
0
ファイル: search.php プロジェクト: lo-lk-org/LO_LK_V1
 /**
  * Get list content
  * @param type $get
  * @return type array
  */
 function get_list_content_info($get)
 {
     $linkid = $this->db_conn();
     $output = array();
     $cond = '';
     $module = mysql_real_escape_string($get['module']);
     //	echo '<pre>'; print_r($get); die();
     if ($module == 'profile') {
         $output = $this->_list_profiles($get);
     } elseif ($module == 'group') {
         $output = $this->_list_groups($get);
     } elseif ($module == 'member') {
         $output = $this->_list_members($get);
     } elseif ($module == 'category') {
         $output = $this->_list_category($get);
     } else {
         if (!isset($get['uid'])) {
             $this->print_error(array("status" => "error", "response" => "Undefined uid."));
         }
         $uid = mysql_real_escape_string($get['uid']);
         $page = !isset($get['page']) || !$get['page'] ? 1 : mysql_real_escape_string(urldecode($get['page']));
         $limit = !isset($get['limit']) || !$get['limit'] ? 5 : mysql_real_escape_string(urldecode($get['limit']));
         /*if($get['module'] == 'all') {
         		    //money total
         			$sql="select sum(amount) as ttl_expense from m_money e
         			    where e.`uid`=$uid limit $page,$limit";
         			$rslt = mysql_query($sql,$linkid) or $this->print_error(mysql_error($linkid));
         			$row = mysql_fetch_array($rslt);
         			$output['expense_total'] = $row['ttl_expense'];
         
         			//reminders
         			//===============
         			$time = time();
         			$cond = ' AND r.remind_time > '.$time;
         			//===============
         			$sql = "select c.content_id,r.reminder_id,r.remind_time,r.reminder_name,r.visibility from tbl_reminders r
         					    join m_content c on c.content_id=r.content_id
         					    WHERE r.`uid`='$uid' $cond order by r.remind_time ASC limit $page,$limit";
         			$rslt = mysql_query($sql,$linkid) or $this->print_error(mysql_error($linkid));
         			$i=0;
         			while ($row=mysql_fetch_array($rslt)) {
         
         			    $data_array[$i]['content_id'] = $row['content_id'];
         			    $data_array[$i]['reminder_id'] = $row['reminder_id'];
         			    $data_array[$i]['reminder_name'] = $this->format_text($row['reminder_name']);
         			    $data_array[$i]['visibility'] = $row['visibility'];
         			    $data_array[$i]['remind_time'] = date("Y-m-d H:i:s",$row['remind_time']);
         			    $i++;
         			}
         			$output['reminders'] = $data_array;
         
         			//Notes
         			$sql="select c.content_id,n.note_id,n.note_text,n.visibility,date_format(from_unixtime(c.timestamp),'%b %d, %Y at %h:%i %p') as created_on,fl.file_url,fl.file_type,gp.name,gp.img_url
         					    from tbl_notes n
         					    join m_content c on c.content_id=n.content_id
         					    left join tbl_files fl on fl.file_id = n.file_id
         					    join generic_profile gp on gp.uid = c.uid
         					    where n.`uid`='$uid' order by n.note_id desc limit $page,$limit";
         			$rslt = mysql_query($sql,$linkid) or $this->print_error(mysql_error($linkid));
         			$i=0;$data_array=array();
         			while ($row=mysql_fetch_array($rslt)) {
         
         			    $data_array[$i]['content_id'] = $row['content_id'];
         			    $data_array[$i]['note_id'] = $row['note_id'];
         			    $data_array[$i]['note_text'] = $this->format_text($row['note_text']);
         			    $data_array[$i]['visibility'] = $row['visibility'];
         			    //$data_array[$i]['timestamp'] = date("Y-m-d H:i:s",$row['timestamp']);
         
         			    $data_array[$i]['author_name'] = $row['name'];
         			    $data_array[$i]['author_img_url'] = $row['img_url'];
         			    $data_array[$i]['author_created_on'] = $row['created_on'];
         
         			    //$size=300;$crop=TRUE;
         			    $data_array[$i]['file_url'] = $row['file_url'];//$this->image_serving_url($row['file_url'],$size,$crop,$row['file_type']);
         			    $data_array[$i]['media_type'] =  $this->get_file_type($row['file_type']);
         			    $i++;
         			}
         			$output['notes'] = $data_array;
         
         			// Shoppinglist
         			$sql = "select c.content_id,sl.shop_list_item_id,sl.item_name,sl.item_qty,sl.shopping_status,sl.units,c.visibility,c.timestamp
         					    from tbl_shoppinglist sl
         					    join m_content c on c.content_id=sl.content_id
         					    where sl.`uid`='$uid' order by sl.shop_list_item_id desc limit $page,$limit";
         			$rslt = mysql_query($sql,$linkid) or $this->print_error(mysql_error($linkid));
         			$i=0;$data_array=array();
         			while ($row=mysql_fetch_array($rslt)) {
         
         			    $data_array[$i]['content_id'] = $row['content_id'];
         			    $data_array[$i]['shop_list_item_id'] = $row['shop_list_item_id'];
         			    $data_array[$i]['item_name'] = $this->format_text($row['item_name']);
         			    $data_array[$i]['visibility'] = $row['visibility'];
         			    $data_array[$i]['timestamp'] = date("Y-m-d H:i:s",$row['timestamp']);
         			    $data_array[$i]['item_qty'] = $this->format_text($row['item_qty']);
         			    $data_array[$i]['shopping_status'] = $this->format_text($row['shopping_status']);
         			    $data_array[$i]['units'] = $this->format_text($row['units']);
         			    $i++;
         			}
         			$output['shoppinglist'] = $data_array;
         		}
         		else*/
         if ($get['module'] == 'note') {
             $rslt = mysql_query("select c.content_id,n.note_id,n.note_text,n.visibility,c.timestamp from tbl_notes n\n\t\t\t\t\t    join m_content c on c.content_id=n.content_id\n\t\t\t\t\t    where n.`uid`='{$uid}' order by n.note_id desc limit {$page},{$limit}", $linkid) or $this->print_error(mysql_error($linkid));
             $i = 0;
             $data_array = array();
             while ($row = mysql_fetch_array($rslt)) {
                 $data_array[$i]['content_id'] = $row['content_id'];
                 $data_array[$i]['note_id'] = $row['note_id'];
                 $data_array[$i]['note_text'] = $this->format_text($row['note_text']);
                 $data_array[$i]['visibility'] = $row['visibility'];
                 $data_array[$i]['timestamp'] = date("Y-m-d H:i:s", $row['timestamp']);
                 $i++;
             }
             $output['notes'] = $data_array;
         } elseif ($get['module'] == 'money') {
             //money total
             /*$rslt = mysql_query("select sum(money_amount) as ttl_expense from m_money 
             			    where `uid`=$uid limit $page,$limit",$linkid) or $this->print_error(mysql_error($linkid));
             			$row = mysql_fetch_array($rslt);
             			$output['expense_total'] = $row['ttl_expense'];
             	    //            $output['currency'] = $row['currency'];
             
             			if($get['filter_type']=='time') {
             			    if(!isset($get['filter_from'])) $this->print_error(array("status"=>"error","response"=>"Please specify filter from."));
             			    //if(!isset($get['filter_to'])) $this->print_error(array("status"=>"error","response"=>"Please specify filter to."));
             			    $from= strtotime(urldecode($get['filter_from']));
             			    $to= isset($get['filter_to'])? strtotime(urldecode($get['filter_to'])) : time();
             			    $cond .= ' and c.timestamp between '.$from.' and '.$to.' ';
             			}*/
             /*$filter_from_str = urlencode(strtolower($get['filter_from']));
             		if($get['filter_type']=='value') {
             		    $cond = ' and e.title like "%'.$filter_from_str.'%" or e.desc like "%'.$filter_from_str.'%" ';
             		}*/
             /*$sql="select * from m_money e
             				join m_content c on c.content_id=e.content_id
             				where e.uid='$uid' $cond 
             				order by c.timestamp asc
             				limit $page,$limit";
             			$rslt = mysql_query($sql,$linkid) or $this->print_error($sql.''.mysql_error($linkid));
             
             			if(mysql_errno($linkid)) {
             			    $this->print_error(mysql_error($linkid));
             			}
             			else {
             
             			    $i=0;$data_array=array();
             			    while($row = mysql_fetch_assoc($rslt)) {
             				$month=date("M",$row['timestamp']);
             //				$data_array[$month][$i]['expense_id']=$row['expense_id'];
             //				$data_array[$month][$i]['content_id']=$row['content_id'];
             //				$data_array[$month][$i]['expense_title']=$row['title'];
             //				$data_array[$month][$i]['expense_amount']=$row['amount'];
             	    //                    $data_array[$month]['month_total']+=$row['amount'];
             				$data_array[$i]['expense_id']=$row['expense_id'];
             				$data_array[$i]['content_id']=$row['content_id'];
             				$data_array[$i]['expense_title']=$row['title'];
             				$data_array[$i]['expense_amount']=$row['amount'];
             				$data_array[$i]['month']=date("M",$row['timestamp']);;
             //				$data_array[$i]['visibility']=$row['visibility'];
             	    //                    $data_array[$i]['currency']=$row['currency'];
             	    //                    $data_array[$month]['month_total']+=$row['amount'];
             				$i++;
             			    }
             			    $output['expenses'] = $data_array;
             			}*/
             ///======================
             $cond = '';
             if (!isset($get['uid'])) {
                 $this->print_error(array("status" => "error", "response" => "Undefined uid."));
             }
             if (!isset($get['tff'])) {
                 $this->print_error(array("status" => "error", "response" => "Please specify time filter from."));
             }
             if (!isset($get['tft'])) {
                 $this->print_error(array("status" => "error", "response" => "Please specify time filter to."));
             }
             $group_id = !isset($get['group_id']) || !$get['group_id'] ? '' : mysql_real_escape_string(urldecode($get['group_id']));
             $category_id = !isset($get['category_id']) || !$get['category_id'] ? '' : mysql_real_escape_string(urldecode($get['category_id']));
             $uid = mysql_real_escape_string(urldecode($get['uid']));
             $q = !isset($get['q']) || !$get['q'] ? '' : mysql_real_escape_string(urldecode($get['q']));
             if ($q != '') {
                 $cond .= " AND (m.money_title LIKE '%" . $q . "%')";
             }
             if ($group_id != '') {
                 $cond .= " AND m.group_id = '{$group_id}'";
             }
             if ($category_id != '') {
                 $cond .= " AND m.category_id = '{$category_id}'";
             }
             $dt_from = $this->validate_datetime(urldecode($get['tff']), 'from');
             $dt_to = $this->validate_datetime(urldecode($get['tft']), 'to');
             $tff = isset($get['tff']) ? $dt_from : date("Y-m-d", time() - 60 * 60 * 24 * 30);
             //strtotime
             $tft = isset($get['tft']) ? $dt_to : date("Y-m-d", time());
             $cond .= " and (m.timestamp) between '" . $tff . "' and '" . $tft . "' ";
             //========TOTAL QRY======
             $sql = "SELECT * FROM m_money m\n\t\t\t\t\t    WHERE m.uid='" . $uid . "' {$cond}\n\t\t\t\t\t    ORDER BY m.sno DESC";
             //ORDER BY m.timestamp desc
             $ttl_rslt = mysql_query($sql, $linkid) or $this->print_error(mysql_error($linkid));
             $num_rows = mysql_num_rows($ttl_rslt);
             $output['total_rows'] = $num_rows;
             //==============
             $start_row = 0;
             if ($num_rows > $limit) {
                 //=============< Pagination Class>==============
                 $paginacion = new Paginacion($limit);
                 //MAX_RECORDS_X_PAGE
                 $paginacion->setTotalRegs($num_rows);
                 //count($data)
                 $paginacion->setCurrentPage($page - 1);
                 // SET THE CURRENT PAGE
                 //=============< Pagination Class>==============
                 //			    $output['getTotalRegs']=$paginacion->getTotalRegs();
                 $getTotalPages = $output['pages'] = $paginacion->getTotalPages();
                 $start_row = $output['start_row'] = $paginacion->getStartRow();
                 //$output['end_row']=$paginacion->getLastRow();
                 $output['current_page'] = $paginacion->getCurrentPage() + 1;
                 if ($paginacion->getCurrentPage() - 1 > -1) {
                     $output['prev_page'] = $paginacion->getCurrentPage();
                 }
                 $p_next = $paginacion->getCurrentPage() + 2;
                 if ($getTotalPages >= $p_next) {
                     $output['next_page'] = $p_next;
                 }
             }
             $sql = $sql . " LIMIT {$start_row},{$limit}";
             //			echo '<pre>'.$sql;
             $rslt = mysql_query($sql, $linkid) or $this->print_error(mysql_error($linkid));
             if (mysql_errno($linkid)) {
                 $this->print_error(mysql_error($linkid));
             } elseif (mysql_num_rows($rslt) == 0) {
                 $output['response'] = "No items found.";
                 $this->print_error($output);
             } else {
                 $num_rows = mysql_num_rows($rslt);
                 $output['num_rows'] = $num_rows;
                 $i = 0;
                 $data_array = array();
                 while ($row = mysql_fetch_assoc($rslt)) {
                     $data_array[$i]['sno'] = $page + $i;
                     $data_array[$i]['money_id'] = $row['money_id'];
                     $data_array[$i]['uid'] = $row['uid'];
                     $data_array[$i]['lat'] = $row['lat'];
                     $data_array[$i]['long'] = $row['long'];
                     $data_array[$i]['visibility'] = $row['visibility'];
                     $data_array[$i]['money_title'] = $this->format_text($row['money_title']);
                     $data_array[$i]['money_amount'] = $row['money_amount'];
                     $data_array[$i]['item_unit_price'] = $row['item_unit_price'];
                     $data_array[$i]['item_units'] = $row['item_units'];
                     $data_array[$i]['item_qty'] = $row['item_qty'];
                     $data_array[$i]['total_price'] = $row['total_price'];
                     $data_array[$i]['money_flow_direction'] = $row['money_flow_direction'];
                     $data_array[$i]['file_id'] = $row['file_id'];
                     $data_array[$i]['category_id'] = $row['category_id'];
                     $data_array[$i]['modified_on'] = $row['modified_on'];
                     $data_array[$i]['timestamp'] = $row['timestamp'];
                     $data_array[$i]['group_id'] = $row['group_id'];
                     //=========
                     $month = date("M", strtotime($row['timestamp']));
                     $tmstmp = strtotime(date("Y-m-d", strtotime($row['timestamp'])));
                     $quarter_start_dt = $this->this_quarter();
                     if (strtotime('today') == $tmstmp) {
                         $data_array[$i]['time_string'] = 'today';
                     } elseif (strtotime('yesterday') == $tmstmp) {
                         $data_array[$i]['time_string'] = 'yesterday';
                     } elseif (strtotime('-1 week') <= $tmstmp) {
                         $data_array[$i]['time_string'] = 'this_week';
                     } elseif (strtotime(date("Y-m-1", time())) < $tmstmp) {
                         $data_array[$i]['time_string'] = 'this_month';
                     } elseif ($quarter_start_dt < $tmstmp) {
                         $data_array[$i]['time_string'] = 'this_quarter';
                     } elseif (strtotime(date("Y-01-01", time())) < $tmstmp) {
                         $data_array[$i]['time_string'] = 'this_year';
                     } else {
                         $data_array[$i]['time_string'] = 'last_year';
                     }
                     //				$data_array[$i]['month']=$month;
                     //				$data_array[$month]['month_total']+=$row['money_amount'];
                     ++$i;
                 }
                 $output['status'] = 'success';
                 $output['money'] = $data_array;
             }
             ///========================
         } elseif ($get['module'] == 'reminder') {
             $rslt = mysql_query("select c.content_id,r.reminder_id,r.remind_time,r.reminder_name,r.visibility from tbl_reminders r\n\t\t\t    join m_content c on c.content_id=r.content_id\n\t\t\t    where r.`uid`='{$uid}' order by r.remind_time ASC limit {$page},{$limit}", $linkid) or $this->print_error(mysql_error($linkid));
             $i = 0;
             while ($row = mysql_fetch_array($rslt)) {
                 $data_array[$i]['content_id'] = $row['content_id'];
                 $data_array[$i]['reminder_id'] = $row['reminder_id'];
                 $data_array[$i]['reminder_name'] = $this->format_text($row['reminder_name']);
                 $data_array[$i]['visibility'] = $row['visibility'];
                 $data_array[$i]['remind_time'] = date("Y-m-d H:i:s", $row['remind_time']);
                 $i++;
             }
             $output['reminders'] = $data_array;
         } elseif ($get['module'] == 'shoppinglist') {
             // Shoppinglist
             $sql = "select c.content_id,sl.shop_list_item_id,sl.item_name,sl.item_qty,sl.units,sl.shopping_status,c.visibility,c.timestamp\n\t\t\t\t\t    from tbl_shoppinglist sl\n\t\t\t\t\t    join m_content c on c.content_id=sl.content_id\n\t\t\t\t\t    where sl.`uid`='{$uid}' order by sl.shop_list_item_id desc limit {$page},{$limit}";
             $rslt = mysql_query($sql, $linkid) or $this->print_error(mysql_error($linkid));
             $i = 0;
             $data_array = array();
             while ($row = mysql_fetch_array($rslt)) {
                 $data_array[$i]['content_id'] = $row['content_id'];
                 $data_array[$i]['shop_list_item_id'] = $row['shop_list_item_id'];
                 $data_array[$i]['item_name'] = $this->format_text($row['item_name']);
                 $data_array[$i]['visibility'] = $row['visibility'];
                 $data_array[$i]['timestamp'] = date("Y-m-d H:i:s", $row['timestamp']);
                 $data_array[$i]['item_qty'] = $this->format_text($row['item_qty']);
                 $data_array[$i]['shopping_status'] = $this->format_text($row['shopping_status']);
                 $data_array[$i]['units'] = $this->format_text($row['units']);
                 $i++;
             }
             //$output['lst_qry'] = $sql;
             $output['shoppinglist'] = $data_array;
         } else {
             $output = $this->unknown();
         }
     }
     return $output;
 }