1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-25 00:41:52 +02:00

Fixes #115 - unused news pref. Added option to set default news page to either standard or list view.

This commit is contained in:
Cameron
2014-06-28 20:32:13 -07:00
parent 8ded7c1fd1
commit cc3469ac59
4 changed files with 46 additions and 35 deletions

View File

@@ -1730,7 +1730,7 @@ class admin_newspost
$temp['news_unstemplate'] = intval($_POST['news_unstemplate']);
$temp['news_editauthor'] = intval($_POST['news_editauthor']);
$temp['news_ping_services'] = explode("\n",$_POST['news_ping_services']);
$temp['news_sefbase'] = preg_replace('#[^\w\pL\-]#u', '', $_POST['news_sefbase']);
$temp['news_default_template'] = preg_replace('#[^\w\pL\-]#u', '', $_POST['news_default_template']);
$temp['news_list_limit'] = intval($_POST['news_list_limit']);
@@ -3020,12 +3020,14 @@ class admin_newspost
$sefbaseDiz = str_replace(array("[br]","[","]"), array("<br />","<a href='".e_ADMIN_ABS."eurl.php'>","</a>"), NWSLAN_128 );
$pingOpt = array('placeholder'=>'eg. blogsearch.google.com/ping/RPC2');
$pingVal = (!empty($pref['news_ping_services'])) ? implode("\n",$pref['news_ping_services']) : '';
$newsTemplates = array('default'=>'Default', 'list'=>'List'); //TODO 'category'=>'Categories'? research 'Use non-standard template for news layout' and integrate here.
$text = "
<form method='post' action='".e_SELF."?pref' id='core-newspost-settings-form'>
<fieldset id='core-newspost-settings'>
<legend class='e-hideme'>".NWSLAN_90."</legend>
<form method='post' action='".e_SELF."?pref' id='core-newspost-settings-form'>";
$tab1 = "
<table class='table adminform'>
<colgroup>
<col class='col-label' />
@@ -3035,14 +3037,14 @@ class admin_newspost
<tr>
<td>".NWSLAN_127."</td>
<td>
".$frm->text('news_sefbase', $pref['news_sefbase'])."
<div class='field-help'>".$sefbaseDiz.'<strong>'.SITEURL.($pref['news_sefbase'] ? $pref['news_sefbase'].'/' : '')."</strong></div>
".$frm->select('news_default_template', $newsTemplates, $pref['news_default_template'])."
<div class='field-help'>Determines how the default news page should appear.</div>
</td>
</tr>
<tr>
<td>Ping Services</td>
<td>
".$frm->textarea('news_ping_services', implode("\n",$pref['news_ping_services']), 4, 100,$pingOpt)."
".$frm->textarea('news_ping_services', $pingVal, 4, 100, $pingOpt)."
<div class='field-help'>Notify these services when you create/update news items. <br />One per line.</div>
</td>
</tr>
@@ -3059,27 +3061,20 @@ class admin_newspost
</td>
</tr>
<tr>
<td>".NWSLAN_88."</td>
<td>
".$frm->select('newsposts', $this->_optrange(50, false), $pref['newsposts'], 'class=tbox')."
</td>
<td>".NWSLAN_88."</td>
<td>
".$frm->select('newsposts', $this->_optrange(50, false), $pref['newsposts'], 'class=tbox')."
</td>
</tr>
<tr>
<td>Limit for News-Listing Pages</td>
<td>
".$frm->select('news_list_limit', $this->_optrange(50, false), $pref['news_list_limit'], 'class=tbox')."
<div class='field-help'>eg. news.php?all or news.php?cat.1 or news.php?tag=xxx</div>
</td>
<td>Limit for News-Listing Pages</td>
<td>
".$frm->select('news_list_limit', $this->_optrange(50, false), $pref['news_list_limit'], 'class=tbox')."
<div class='field-help'>eg. news.php?all or news.php?cat.1 or news.php?tag=xxx</div>
</td>
</tr>
";
// ##### ADDED FOR NEWS ARCHIVE --------------------------------------------------------------------
// the possible archive values are from "0" to "< $pref['newsposts']"
// this should really be made as an onchange event on the selectbox for $pref['newsposts'] ...
//SecretR - Done
$text .= "
<tr>
<td>".NWSLAN_115."</td>
<td id='newsposts-archive-cont'>
@@ -3093,10 +3088,7 @@ class admin_newspost
".$frm->text('newsposts_archive_title', $pref['newsposts_archive_title'])."
</td>
</tr>
";
// ##### END --------------------------------------------------------------------------------------
$text .= "
<tr>
<td>".LAN_NEWS_51."</td>
<td>
@@ -3153,7 +3145,16 @@ class admin_newspost
</td>
</tr>
</tbody>
</table>
</table>";
$text .= $frm->tabs(array(
'general' => array('caption'=>'General', 'text'=>$tab1),
'subnews' => array('caption'=>'Submit News', 'text'=>$tab2)
));
$text .= "
<div class='buttons-bar center'>
".$frm->admin_button('save_prefs', LAN_UPDATE, 'update')."
</div>

View File

@@ -146,7 +146,7 @@
<core name="newsposts">10</core>
<core name="newsposts_archive">0</core>
<core name="newsposts_archive_title"></core>
<core name="news_sefbase">news</core>
<core name="news_default_template">default</core>
<core name="noLanguageSubs">0</core>
<core name="null"></core>
<core name="old_np">0</core>

View File

@@ -126,7 +126,7 @@ define("NWSLAN_123", "Posted");
// define("NWSLAN_125", "Email");
// define("NWSLAN_126", "IP");
define("NWSLAN_127", "URL identifier");
define("NWSLAN_127", "Default template");
define("NWSLAN_128", "Set a string to be used in news pages URL. This will only work proper .htaccess rules and <a href='%s'>eURL config</a><br />Resolved URL based on current value: "); //FIXME HTML
// define("LAN_NEWS_5", "Error! - Was unable to update news item into database!");

View File

@@ -54,6 +54,8 @@ if(!defined("NEWSLIST_LIMIT"))
define("NEWSLIST_LIMIT", varset($pref['news_list_limit'],15));
}
$defTemplate = e107::getPref('news_default_template');
if (e_QUERY) //TODO add support for $_GET['cat'] and $_GET['mode'] and phase-out the x.x.x format.
{
@@ -64,6 +66,12 @@ if (e_QUERY) //TODO add support for $_GET['cat'] and $_GET['mode'] and phase-out
$newsfrom = intval(varset($tmp[2],0)); // Item number for first item on multi-page lists
$cacheString = 'news.php_'.e_QUERY;
}
else
{
$opt = array('default'=>'', 'list'=>'all');
$action = varset($opt[$defTemplate],'');
}
//$newsfrom = (!is_numeric($action) || !e_QUERY ? 0 : ($action ? $action : e_QUERY));
@@ -197,7 +205,7 @@ if ($action == 'cat' || $action == 'all' || vartrue($_GET['tag']))
AND (n.news_end=0 || n.news_end>".time().")
ORDER BY n.news_sticky DESC, n.news_datestamp DESC
LIMIT ".intval($newsfrom).",".deftrue('NEWSALL_LIMIT', NEWSLIST_LIMIT); // NEWSALL_LIMIT just for BC. NEWSLIST_LIMIT is sufficient.
$category_name = "All";
$category_name = ($defTemplate == 'list') ? PAGE_NAME : "All";
}
elseif ($action == 'cat') // show archive of all news items in a particular category using list-style template.
{
@@ -318,8 +326,10 @@ if ($action == 'cat' || $action == 'all' || vartrue($_GET['tag']))
$NEWSLISTTITLE = str_replace("{NEWSCATEGORY}",$tp->toHTML($category_name,FALSE,'TITLE'),$NEWSLISTTITLE);
}
$text .= "<div class='center news-list-footer'><a class='btn btn-default' href='".e107::getUrl()->create('news/list/all')."'>".LAN_NEWS_84."</a></div>";
if($defTemplate != 'list')
{
$text .= "<div class='center news-list-footer'><a class='btn btn-default' href='".e107::getUrl()->create('news/list/all')."'>".LAN_NEWS_84."</a></div>";
}
ob_start();
$ns->tablerender($NEWSLISTTITLE, $text, 'news');