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"); } } }
/** * @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; }