| [ Index ] |
|
Code source de CMS made simple 1.0.5 |
1 <?php 2 if (!isset($gCms)) exit; 3 4 $detailpage = ''; 5 $feed_title = 'CMS Made Simple News Feed'; 6 7 $manager =& $gCms->GetHierarchyManager(); 8 if (isset($params['detailpage'])) 9 { 10 $node =& $manager->sureGetNodeByAlias($params['detailpage']); 11 if (isset($node)) 12 { 13 $content =& $node->GetContent(); 14 if (isset($content)) 15 { 16 $detailpage = $content->Id(); 17 } 18 } 19 else 20 { 21 $node =& $manager->sureGetNodeById($params['detailpage']); 22 if (isset($node)) 23 { 24 $detailpage = $params['detailpage']; 25 } 26 } 27 } 28 29 $entryarray = array(); 30 31 if (isset($params["category"]) && $params["category"] != '') 32 { 33 $categories = explode(',', $params['category']); 34 $query = "SELECT mn.*, mnc.news_category_name FROM " . cms_db_prefix() . "module_news mn LEFT OUTER JOIN " . cms_db_prefix() . "module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = 'published' AND ("; 35 $count = 0; 36 foreach ($categories as $onecat) 37 { 38 if ($count > 0) 39 { 40 $query .= ' OR '; 41 } 42 if (strpos($onecat, '|') !== FALSE || strpos($onecat, '*') !== FALSE) 43 $query .= "upper(mnc.long_name) like upper('" . trim(str_replace('*', '%', $onecat)) . "')"; 44 else 45 $query .= "mnc.news_category_name = '" . trim($onecat) . "'"; 46 $count++; 47 } 48 $query .= ") AND "; 49 } 50 else 51 { 52 $query = "SELECT mn.*, mnc.news_category_name FROM " . cms_db_prefix() . "module_news mn LEFT OUTER JOIN " . cms_db_prefix() . "module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = 'published' AND "; 53 } 54 55 $query .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < ".$db->DBTimeStamp(time()).") "; 56 $query .= " AND ((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > ".$db->DBTimeStamp(time()).")) "; 57 $query .= ' ORDER BY news_date DESC'; 58 59 $dbresult = ''; 60 61 $start = -1; 62 $number = -1; 63 if( isset( $params['number'] ) ) 64 { 65 $number = $params['number']; 66 } 67 68 if( $number >= 0 ) 69 { 70 $dbresult =& $db->SelectLimit($query, $number, $start); 71 } 72 else 73 { 74 $dbresult =& $db->Execute($query); 75 } 76 77 while ($dbresult && $row = $dbresult->FetchRow()) 78 { 79 $onerow = new stdClass(); 80 81 $sendtodetail = array('articleid'=>$row['news_id']); 82 $onerow->link = $this->CreateLink($id, 'detail', $returnid, '', $sendtodetail,'',true,false,'',true,'news/'.$row['news_id']); 83 $onerow->id = $row['news_id']; 84 $onerow->title = $row['news_title']; 85 $onerow->content = $row['news_data']; 86 $onerow->summary = $row['summary']; 87 $onerow->strippedcontent = strip_tags($onerow->content); 88 $onerow->strippedsummary = strip_tags($onerow->summary); 89 $onerow->postdate = $row['news_date']; 90 $onerow->gmdate = gmdate('r', $db->UnixTimeStamp($row['news_date'])); 91 $onerow->startdate = $row['start_time']; 92 $onerow->enddate = $row['end_time']; 93 $onerow->category = $row['news_category_name']; 94 95 $entryarray[]= $onerow; 96 } 97 98 $this->smarty->assign_by_ref('items', $entryarray); 99 100 global $gCms; 101 102 $this->smarty->assign_by_ref('root_url', $gCms->config['root_url']); 103 $this->smarty->assign_by_ref('query_var', $gCms->config['query_var']); 104 105 $node =& $manager->sureGetNodeById($returnid); 106 if (isset($node)) 107 { 108 $content =& $node->GetContent(); 109 if (isset($content)) 110 { 111 $feed_title = 'RSS Feed - ' . $content->Name(); 112 } 113 } 114 $this->smarty->assign('feed_title', $feed_title); 115 116 #Display template 117 $variables =& $gCms->variables; 118 if( preg_match( '/Mozilla/', $_SERVER["HTTP_USER_AGENT"] ) ) 119 { 120 $variables['content-type'] = 'text/xml'; 121 } 122 else 123 { 124 $variables['content-type'] = 'application/rss+xml'; 125 } 126 //$variables['content-filename'] = 'feed.xml'; 127 128 echo $this->ProcessTemplate('rssfeed.tpl'); 129 130 # vim:ts=4 sw=4 noet 131 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Tue Apr 3 18:50:37 2007 | par Balluche grâce à PHPXref 0.7 |