Changeset 1666 in ExiteCMS for branches/PLi-Fusion/administration/news.php
- Timestamp:
- 08/21/08 21:06:15 (4 years ago)
- File:
-
- 1 edited
-
branches/PLi-Fusion/administration/news.php (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/PLi-Fusion/administration/news.php
r1227 r1666 51 51 } 52 52 53 // save the selection for the lastest news homepage panel 54 if (isset($_POST['save_latest'])) { 55 56 // validate the input 57 if (!is_array($_POST['headlines'])) fallback(BASEDIR."index.php"); 58 $headlines = $_POST['headlines']; 59 if (count($headlines) != $settings['news_headline']) fallback(BASEDIR."index.php"); 60 61 if (!is_array($_POST['newsitems'])) fallback(BASEDIR."index.php"); 62 $newsitems = $_POST['newsitems']; 63 64 // reset all headline news items before setting new ones 65 $result = dbquery("UPDATE ".$db_prefix."news SET news_headline = '0'"); 66 // save the new headlines 67 foreach($headlines as $key => $item) { 68 if ($item != 0) $result = dbquery("UPDATE ".$db_prefix."news SET news_headline = '".($settings['news_headline'] + 1 - $key)."' WHERE news_id = '".$item."'"); 69 } 70 71 // reset all lastest news items before setting new ones 72 $result = dbquery("UPDATE ".$db_prefix."news SET news_latest_news = '0'"); 73 // save the new latest news items 74 foreach($newsitems as $key => $item) { 75 if ($item != 0) $result = dbquery("UPDATE ".$db_prefix."news SET news_latest_news = '".($settings['news_items'] + 1 - $key)."' WHERE news_id = '".$item."'"); 76 } 77 78 // update the news_latest configuration flag 79 $result = dbquery("UPDATE ".$db_prefix."configuration SET cfg_value = '".(isset($_POST['news_latest']) ? "1" : "0")."' WHERE cfg_name = 'news_latest'"); 80 53 // compose the query where clause based on the localisation method choosen 54 switch ($settings['news_localisation']) { 55 case "none": 56 $where = ""; 57 $news_locale = ""; 58 break; 59 case "single": 60 $where = ""; 61 $news_locale = ""; 62 break; 63 case "multiple": 64 if (isset($_POST['news_locale'])) $news_locale = stripinput($_POST['news_locale']); 65 if (isset($news_locale)) { 66 $result = dbquery("SELECT * FROM ".$db_prefix."locale WHERE locale_code = '".stripinput($news_locale)."' AND locale_active = '1' LIMIT 1"); 67 if (!dbrows($result)) unset($news_locale); 68 } 69 if (!isset($news_locale)) $news_locale = $settings['locale_code']; 70 $variables['news_locale'] = $news_locale; 71 $where = "news_locale = '".$news_locale."' "; 72 break; 81 73 } 82 74 83 75 // fill the newsitems array for the newsitem selection dropdown 84 $result = dbquery("SELECT * FROM ".$db_prefix."news ORDER BY news_datestamp DESC");76 $result = dbquery("SELECT * FROM ".$db_prefix."news ".($where==""?"":("WHERE ".$where))." ORDER BY news_datestamp DESC"); 85 77 $variables['newsitems'] = array(); 86 78 while ($data = dbarray($result)) { … … 89 81 } 90 82 91 // controle variable to indicate which panel to show 92 $variables['latest_news_selection'] = isset($_POST['latest']) || isset($_POST['save_latest']); 93 94 if ($variables['latest_news_selection']) { 95 96 // build the list of available news cards 97 $newslist = array(); 98 // and an empty first entry 99 $newslist[] = array('news_id' => 0, 'news_subject' => "", 'news_cat_name' => "", 'news_new_cat' => 1, 'selected' => 0); 100 $result = dbquery("SELECT n.news_id, n.news_subject, c.news_cat_name FROM ".$db_prefix."news n, ".$db_prefix."news_cats c WHERE n.news_cat = c.news_cat_id ORDER BY c.news_cat_name, n.news_datestamp DESC"); 101 $current_cat = ""; 102 while ($data = dbarray($result)) { 103 if ($data['news_cat_name'] != $current_cat) { 104 $data['news_new_cat'] = 1; 105 $current_cat = $data['news_cat_name']; 106 } else { 107 $data['news_new_cat'] = 0; 108 } 109 $data['selected'] = 0; 110 $newslist[] = $data; 111 } 112 113 // define the headlines array 114 $headlines = array(); 115 for ($i = 1; $i <= $settings['news_headline']; $i++) { 116 $result = dbquery("SELECT news_id FROM ".$db_prefix."news WHERE news_headline='".($settings['news_headline'] + 1 - $i)."'"); 117 if ($data = dbarray($result)) { 118 $news_id = $data['news_id']; 119 } else { 120 $news_id = 0; 121 } 122 $headlines[$i] = array(); 123 foreach($newslist as $item) { 124 if ($item['news_id'] == $news_id) $item['selected'] = 1; 125 $headlines[$i][] = $item; 126 } 127 } 128 $variables['headlines'] = $headlines; 129 130 // define the latest news items array 131 $newsitems = array(); 132 for ($i = 1; $i <= $settings['news_items']; $i++) { 133 $result = dbquery("SELECT news_id FROM ".$db_prefix."news WHERE news_latest_news='".($settings['news_items'] + 1 - $i)."'"); 134 if ($data = dbarray($result)) { 135 $news_id = $data['news_id']; 136 } else { 137 $news_id = 0; 138 } 139 $newsitems[$i] = array(); 140 foreach($newslist as $item) { 141 if ($item['news_id'] == $news_id) $item['selected'] = 1; 142 $newsitems[$i][] = $item; 143 } 144 } 145 $variables['newsitems'] = $newsitems; 146 147 // get the latest_news_only setting 148 $variables['news_latest'] = $settings['news_latest']; 149 150 // set the panel title 151 $title = $locale['540']; 152 153 } else if (isset($_POST['save'])) { 83 if (isset($_POST['save'])) { 154 84 155 85 // save the news item … … 183 113 redirect(FUSION_SELF.$aidlink."&status=su"); 184 114 } else { 185 $result = dbquery("INSERT INTO ".$db_prefix."news (news_subject, news_cat, news_news, news_extended, news_breaks, news_name, news_ datestamp, news_start, news_end, news_visibility, news_reads, news_allow_comments, news_allow_ratings) VALUES ('$news_subject', '$news_cat', '$body', '$body2', '$news_breaks', '".$userdata['user_id']."', '$news_post_date', '$news_start_date', '$news_end_date', '$news_visibility', '0', '$news_comments', '$news_ratings')");115 $result = dbquery("INSERT INTO ".$db_prefix."news (news_subject, news_cat, news_news, news_extended, news_breaks, news_name, news_locale, news_datestamp, news_start, news_end, news_visibility, news_reads, news_allow_comments, news_allow_ratings) VALUES ('$news_subject', '$news_cat', '$body', '$body2', '$news_breaks', '".$userdata['user_id']."', '$news_locale', '$news_post_date', '$news_start_date', '$news_end_date', '$news_visibility', '0', '$news_comments', '$news_ratings')"); 186 116 redirect(FUSION_SELF.$aidlink."&status=sn"); 187 117 } … … 227 157 "minutes" => isNum($_POST['news_end']['minutes']) ? $_POST['news_end']['minutes'] : "0", 228 158 ); 229 $news_date = array( 230 "mday" => isNum($_POST['news_date']['mday']) ? $_POST['news_date']['mday'] : "--", 231 "mon" => isNum($_POST['news_date']['mon']) ? $_POST['news_date']['mon'] : "--", 232 "year" => isNum($_POST['news_date']['year']) ? $_POST['news_date']['year'] : "----", 233 "hours" => isNum($_POST['news_date']['hours']) ? $_POST['news_date']['hours'] : "0", 234 "minutes" => isNum($_POST['news_date']['minutes']) ? $_POST['news_date']['minutes'] : "0", 235 ); 159 if (isset($_POST['news_date'])) { 160 $news_date = array( 161 "mday" => isNum($_POST['news_date']['mday']) ? $_POST['news_date']['mday'] : "--", 162 "mon" => isNum($_POST['news_date']['mon']) ? $_POST['news_date']['mon'] : "--", 163 "year" => isNum($_POST['news_date']['year']) ? $_POST['news_date']['year'] : "----", 164 "hours" => isNum($_POST['news_date']['hours']) ? $_POST['news_date']['hours'] : "0", 165 "minutes" => isNum($_POST['news_date']['minutes']) ? $_POST['news_date']['minutes'] : "0", 166 ); 167 } 236 168 $news_comments = isset($_POST['news_comments']) ? 1 : 0; 237 169 $news_ratings = isset($_POST['news_ratings']) ? 1 : 0; … … 271 203 } else { 272 204 if (isset($_POST['preview'])) { 273 $action = FUSION_SELF.$aidlink."&news_id=$news_id"; 205 if (isset($news_id) && $news_id) { 206 $action = FUSION_SELF.$aidlink."&news_id=$news_id"; 207 $title = $locale['400']; 208 } else { 209 $action = FUSION_SELF.$aidlink; 210 $title = $locale['404']; 211 } 274 212 } else { 275 213 $news_subject = ""; … … 282 220 $news_visibility = 0; 283 221 $action = FUSION_SELF.$aidlink; 284 }285 $title = $locale['404'];222 $title = $locale['404']; 223 } 286 224 } 287 225 … … 319 257 } 320 258 259 // get the installed locales 260 $variables['locales'] = array(); 261 $result = dbquery("SELECT * FROM ".$db_prefix."locale WHERE locale_active = '1'"); 262 while ($data = dbarray($result)) { 263 $variables['locales'][$data['locale_code']] = $data['locale_name']; 264 } 265 266 321 267 // store the info to generate the panel 322 268 $template_panels[] = array('type' => 'body', 'name' => 'admin.news', 'title' => $title, 'template' => 'admin.news.tpl', 'locale' => "admin.news-articles");
Note: See TracChangeset
for help on using the changeset viewer.
