Пример #1
0
 public function blogsAction()
 {
     $userNs = new Zend_Session_Namespace('members');
     $this->view->userId = $userNs->userId;
     $mode = $this->_getParam("mode");
     $settings = new Admin_Model_GlobalSettings();
     $page_size = $settings->settingValue('journal_page_size');
     $page = $this->_getParam("page");
     $offset = ($page - 1) * $page_size;
     $blogm = new Application_Model_Blog();
     $params = $this->getRequest()->getParams();
     //print_r($params);
     /*
     //Display only Public & Published journals
     $where = "publish='published' AND status='public'";	
     
     //search by Keyword
     if(isset($params['search-jrnl']) && $params['search-jrnl']!='Search by Keyword')
     {
     	$searchkey = $params['search-jrnl'];
     	$where .= " AND (title LIKE '%$searchkey%' OR tags LIKE '%$searchkey%' OR content LIKE '%$searchkey%' ";
     	$this->view->searchjrnl = $searchkey;
     	
     	//search by Author as well while searching by keyword
     	$user_where_sql  = "status='active'";
     	$user_where_sql .= " AND (username like '%$searchkey%' OR CONCAT(first_name,' ',last_name ) LIKE '%$searchkey%')";
     	$UserM	=	new Admin_Model_User();
     	$UserM	=	$UserM->fetchAll($user_where_sql);
     	if(false!==$UserM)
     	{
     		if(count($UserM)>0)
     		{
     			foreach($UserM as $userrow)
     			{
     				$userarray[] = $userrow->getId();
     			}
     			$userstr  = implode(',',$userarray);
     			$where .= " OR user_id IN ($userstr)";
     		}				 
     	}
     	$where .= ")";
     }
     //search by Location
     if(isset($params['search-city']) && $params['search-city']!='In City / Place')
     {
     	$searchcity = $params['search-city'];
     	$where .= " AND location LIKE '%$searchcity%'";
     	$this->view->searchcity  = $searchcity;
     }
     //search by Category		
     if(isset($params['search-filtr']) && $params['search-filtr']!='')
     {
     	$searchfiltr = $params['search-filtr'];
     	$where .= " AND category_id = '$searchfiltr'";
     	$this->view->searchfiltr  = $searchfiltr;
     }
     //search by Tag cloud search	
     if(isset($params['search-cloud']) && $params['search-cloud']!='')
     {
     	$searchcloud = $params['search-cloud'];
     	$where .= " AND tags LIKE '%$searchcloud%'";
     	$this->view->searchcloud  = $searchcloud;
     }				
     $data=$blogm->fetchAll($where, "addedon DESC",$page_size,$offset);
     */
     //search by Keyword
     $whereSearchSQL = "";
     if (isset($params['search-jrnl']) && $params['search-jrnl'] != 'Search by Keyword') {
         $searchkey = $params['search-jrnl'];
         $whereSearchSQL .= " AND (b.title LIKE '%{$searchkey}%' OR b.tags LIKE '%{$searchkey}%' OR b.content LIKE '%{$searchkey}%' ";
         $this->view->searchjrnl = $searchkey;
         //search by Author as well while searching by keyword
         $user_where_sql = "status='active'";
         $user_where_sql .= " AND (username like '%{$searchkey}%' OR CONCAT(first_name,' ',last_name ) LIKE '%{$searchkey}%')";
         $UserM = new Admin_Model_User();
         $UserM = $UserM->fetchAll($user_where_sql);
         if (false !== $UserM) {
             if (count($UserM) > 0) {
                 foreach ($UserM as $userrow) {
                     $userarray[] = $userrow->getId();
                 }
                 $userstr = implode(',', $userarray);
                 $whereSearchSQL .= " OR b.user_id IN ({$userstr})";
             }
         }
         $whereSearchSQL .= ")";
     }
     //search by Location
     if (isset($params['search-city']) && $params['search-city'] != 'In City / Place') {
         $searchcity = $params['search-city'];
         $whereSearchSQL .= " AND b.location LIKE '%{$searchcity}%'";
         $this->view->searchcity = $searchcity;
     }
     //search by Category
     if (isset($params['search-filtr']) && $params['search-filtr'] != '') {
         $searchfiltr = $params['search-filtr'];
         $whereSearchSQL .= " AND b.category_id = '{$searchfiltr}'";
         $this->view->searchfiltr = $searchfiltr;
     }
     //search by Tag cloud
     if (isset($params['search-cloud']) && $params['search-cloud'] != '') {
         $searchcloud = $params['search-cloud'];
         $whereSearchSQL .= " AND b.tags LIKE '%{$searchcloud}%'";
         $this->view->searchcloud = $searchcloud;
     }
     $sSQL = "SELECT b.* FROM blog AS b";
     $sSQL .= " JOIN journal AS j ON j.user_id = b.user_id";
     //$sSQL .= " WHERE b.publish='published' AND b.status=5";
     $sSQL .= " WHERE b.publish='published'";
     $sSQL .= " AND j.publish='published' AND j.status='public'";
     if ($whereSearchSQL != "") {
         $sSQL .= $whereSearchSQL;
     }
     $sSQL .= " ORDER BY b.addedon DESC";
     //echo "<br />".$sSQL;exit;
     $pageObj = new Base_Paginator();
     //$data		=	$pageObj->fetchPageDataRaw($sSQL, $page, $page_size);
     $data = $pageObj->fetchBlogData($sSQL, $page, $page_size);
     $totalCount = $pageObj->getTotalCount();
     $this->view->data = $data;
     //echo "offset=>".$offset." totalCount=>".$totalCount;
     if ($mode == "ajax") {
         $this->view->layout()->disableLayout();
         //if(count($data)==0)
         if ($offset >= $totalCount) {
             $this->_helper->viewRenderer->setNoRender(true);
             exit("nodata");
         }
     }
 }
Пример #2
0
 /**
  * @Created By	: Mahipal Singh Adhikari
  * @Created On	: 3-Nov-2010
  * @Description	: Get recent blogs
  * @Param		: int - number of logs
  * @Return		: array
  */
 public function getRecentBlogs($limit)
 {
     //create database object
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_Db::FETCH_OBJ);
     $blogs = array();
     $sql = " SELECT B.id, B.title, B.status, B.journal_id, B.user_id, B.addedon FROM blog AS B";
     $sql .= " JOIN journal AS J ON J.id = B.journal_id";
     //$sql	.=	" WHERE B.status = 5 AND B.publish = 'published'";
     $sql .= " WHERE B.publish = 'published'";
     $sql .= " AND J.status = 'public' AND J.publish = 'published'";
     //$sql	.=	" ORDER BY B.addedon DESC LIMIT 0, $limit";
     $sql .= " ORDER BY B.addedon DESC";
     //$blogs	 =	$db->fetchAll($sql);
     //get filtered Journals, i.e. Journals based on their Author permissions
     $page = 1;
     $page_size = $limit;
     $pageObj = new Base_Paginator();
     $blogs = $pageObj->fetchBlogData($sql, $page, $page_size);
     //$blogs		= $pageObj->fetchPageDataRaw($sql, $page, $page_size);
     return $blogs;
 }