227 lines
No EOL
9.2 KiB
PHP
227 lines
No EOL
9.2 KiB
PHP
<?php
|
|
/**
|
|
* Project: astat - simple site engine
|
|
* File: /modules/news/edit.apnl.php
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
* @link http://www.astat.org SVN: $URL: file:///var/local/svn/astat/trunk/modules/news/admin/edit.apnl.php $
|
|
* @copyright 2009 becast.at
|
|
* @author Bernhard Jaud <bernhard at becast dot at>
|
|
* @package astat core
|
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
|
* @version $Id: edit.apnl.php 96 2010-02-17 21:56:41Z genuineparts $
|
|
*/
|
|
If (!defined('in_BL_ADMIN')) {
|
|
die('Dieses Script kann nicht ausserhalb des Frameworks laufen!');
|
|
}
|
|
$session->page_begin('edit News', True);
|
|
|
|
class edit_news_panel extends admin_module{
|
|
|
|
function output(){
|
|
global $config, $db,$panel, $session, $admin;
|
|
$fail=FALSE;
|
|
if(isset($_POST['send'])&& $_POST['send']==1){
|
|
if(isset($_POST['id'])&& $_POST['id']!=''||isset($_POST['text'])&& $_POST['text']!=''||isset($_POST['title'])&& $_POST['title']!=''){
|
|
$id=intval($_POST['id']);
|
|
$title=$db->escape($_POST['title']);
|
|
$db->query("UPDATE `" . $config['prefix'] . "news` SET `text`='".$db->escape($_POST['text'])."',`category`='".intval($_POST['category'])."',`title`='".$title."',`active`='".$_POST['active']."' WHERE `id`='".$id."'");
|
|
$panel->admin_message('Danke', 'News erfolgreich geändert!',TRUE,'edit_news');
|
|
}else{
|
|
$fail='<span style="text-align: center; color: red;">Du musst alle Felder ausfüllen!</span>';
|
|
}
|
|
|
|
}elseif(isset($_GET['id'])&& $_GET['id']!=''){
|
|
if($_GET['action']=='edit'){
|
|
$result = $db->query("SELECT * FROM " . $config['prefix'] . "news WHERE id='".intval($_GET['id'])."'");
|
|
$_POST=$db->fetch_array($result);
|
|
|
|
/*$resultna=$db->query("SELECT id,name FROM " . $config["prefix"] . "menue");
|
|
while($rowa=$db->fetch_array($resultna)){
|
|
$resultn = $db->query("SELECT m_id FROM " . $config["prefix"] . "article_menue WHERE a_id='".intval($_GET['id'])."' and m_id='".$rowa["id"]."'");
|
|
if($db->num_rows($resultn) >= 1){
|
|
$rowa["checked"]="checked=\"checked\"";
|
|
}
|
|
$navs[]=$rowa;
|
|
}*/
|
|
|
|
|
|
$panel->title='News editieren';
|
|
$panel->form(array('action'=>$config['path'].'/admin/index.php?panel=edit_news'));
|
|
if($fail){
|
|
$panel->content.=$fail;
|
|
}
|
|
$panel->content.='<h3>Titel:</h3>';
|
|
$panel->field(array('name'=>'title','typ'=>'text','value'=>$_POST['title']));
|
|
$panel->content.='<h3>Kategorie:</h3>';
|
|
$resultc=$db->query("SELECT `id`,`name` FROM `" . $config['prefix'] . "news_category` WHERE `active`='true'");
|
|
$karray['Keine']='';
|
|
while($row=$db->fetch_array($resultc)){
|
|
$karray[$row['name']]=$row['id'];
|
|
}
|
|
$panel->select($karray,$_POST['category'],'category');
|
|
$panel->content.='<h3>Text:</h3>';
|
|
$panel->textarea(array('name'=>'text','value'=>$_POST['text'],'rows'=>'30','cols'=>'80'),'class="mceEditor"');
|
|
$panel->content.='<h3>Aktiv:</h3>';
|
|
$panel->select(array('Nein'=>'false','Ja'=>'true'),$_POST['active'],'active');
|
|
$panel->content.='<br />';
|
|
$panel->field(array('name'=>'send','typ'=>'hidden','value'=>'1'));
|
|
$panel->field(array('name'=>'id','typ'=>'hidden','value'=>$_GET['id']));
|
|
$panel->content.='<br />';
|
|
$panel->submit();
|
|
$panel->formClose();
|
|
}elseif($_GET['action']=='delete' && $_GET['id']){
|
|
$db->query("DELETE FROM `" . $config['prefix'] . "news` WHERE `id`='".intval($_GET['id'])."'");
|
|
$panel->admin_message('News gelöscht!','Die News wurden erfolgreich gelöscht.',True,'edit_news',3);
|
|
}
|
|
|
|
}else{
|
|
$result = $db->query("SELECT a.`title`,a.`id`,a.`active`,a.`date`,c.`name`,u.`username` FROM `" . $config['prefix'] . "news` a LEFT JOIN `" . $config['prefix'] . "news_category` c ON a.`category`=c.`id` LEFT JOIN `" . $config['prefix'] . "users` u on a.`author`=u.`uid`") or die($db->error());
|
|
while($row=$db->fetch_array($result, MYSQL_ASSOC)){
|
|
$row['dates']=date('d.m.Y',$row['date']);
|
|
$news[]=$row;
|
|
}
|
|
$panel->title='Vorhandene Artikel';
|
|
$panel->content.='<table class="sortable" width="90%" cellspacing="2">
|
|
<tr>
|
|
<th align="center">ID</th>
|
|
<th align="center">Name</th>
|
|
<th align="center">Kategorien</th>
|
|
<th align="center">Aktiv</th>
|
|
<th align="center">User</th>
|
|
<th class="nosort sortcol" align="center" width="18%">Aktionen</th>
|
|
</tr>';
|
|
if(!empty($news)){
|
|
foreach($news as $u){
|
|
if($u['active']=='true'){
|
|
$u['a']='Ja';
|
|
}else{
|
|
$u['a']='Nein';
|
|
}
|
|
$panel->content.='<tr>
|
|
<td align="center">'.$u['id'].'</td>
|
|
<td align="center">'.$u['title'].'</td>
|
|
<td align="center">'.$u['name'].'</td>
|
|
<td align="center">'.$u['a'].'</td>
|
|
<td align="center">'.$u['username'].'</td>';
|
|
$panel->content.='<td align="center"><a onclick="return confirmLink(this, "Willst du wirklich den News '.$u['title'].' löschen? ")" href="'.$config['path'].'/admin/index.php?panel=edit_news&action=delete&id='.$u['id'].'"><img src="'.$config['path'].'/admin/images/icons/delete.png" /></a> <a href="'.$config['path'].'/admin/index.php?panel=edit_news&action=edit&id='.$u['id'].'"><img src="'.$config['path'].'/admin/images/icons/wrench.png" /></a></td>
|
|
</tr>';
|
|
}
|
|
}else{
|
|
$panel->content.='<tr>
|
|
<td align="center" colspan="7">Keine News vorhanden.</td>
|
|
</tr>';
|
|
}
|
|
$panel->content.='</table><br />';
|
|
}
|
|
}
|
|
|
|
function meta(){
|
|
global $config;
|
|
$meta="<script type=\"text/javascript\" src=\"".$config["path"]."/js/jquery/jquery.min.js\"></script>
|
|
<script type=\"text/javascript\">
|
|
$(document).ready(function()
|
|
{
|
|
$(\"#url\").blur(function()
|
|
{
|
|
//remove all the class add the messagebox classes and start fading
|
|
$(\"#msgbox\").removeClass().addClass('messagebox').text('Warten...').fadeIn(\"slow\");
|
|
//check the username exists or not from ajax
|
|
$.post(\"ajax.php\",{ call:'url',url:$(this).val() } ,function(data)
|
|
{
|
|
if(data==1) //if username not avaiable
|
|
{
|
|
$(\"#msgbox\").fadeTo(200,0.1,function() //start fading the messagebox
|
|
{
|
|
//add message and change the class of the box and start fading
|
|
$(this).html('Url vergeben').addClass('messageboxerror').fadeTo(900,1);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$(\"#msgbox\").fadeTo(200,0.1,function() //start fading the messagebox
|
|
{
|
|
//add message and change the class of the box and start fading
|
|
$(this).html('').removeClass().fadeTo(900,1);
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
</script>";
|
|
$meta.='<script type="text/javascript" src="'.$config["path"].'/js/scriptaculous/prototype.js"></script>
|
|
<script src="'.$config["path"].'/js/fastinit.js" type="text/javascript">
|
|
</script>
|
|
<script src="'.$config["path"].'/js/tablesort.js" type="text/javascript">
|
|
</script>';
|
|
$meta.='<script type="text/javascript">
|
|
function confirmLink(theLink, text)
|
|
{
|
|
// Confirmation is not required in the configuration file
|
|
// or browser is Opera (crappy js implementation)
|
|
if (typeof(window.opera) != \'undefined\') {
|
|
return true;
|
|
}
|
|
|
|
var is_confirmed = confirm(text);
|
|
if (is_confirmed) {
|
|
if ( typeof(theLink.href) != \'undefined\' ) {
|
|
theLink.href += \'&is_js_confirmed=1\';
|
|
} else if ( typeof(theLink.form) != \'undefined\' ) {
|
|
theLink.form.action += \'?is_js_confirmed=1\';
|
|
}
|
|
}
|
|
|
|
return is_confirmed;
|
|
}
|
|
</script>';
|
|
$meta.='<script type="text/javascript" src="/thirdparty/tiny/tiny_mce_gzip.js"></script>
|
|
<script type="text/javascript">
|
|
tinyMCE_GZ.init({
|
|
theme : "advanced",
|
|
mode : "textareas",
|
|
language : "de",
|
|
plugins : "table,advhr,advimage,advlink,insertdatetime,searchreplace",
|
|
disk_cache : true,
|
|
debug : false
|
|
});
|
|
</script>
|
|
<script type="text/javascript" src="/thirdparty/tiny/tiny_mce.js"></script>
|
|
<script type="text/javascript">
|
|
tinyMCE.init({
|
|
theme : "advanced",
|
|
mode : "textareas",
|
|
language : "de",
|
|
plugins : "table,advhr,advimage,advlink,insertdatetime,searchreplace",
|
|
theme_advanced_disable : "styleselect,formatselect ",
|
|
theme_advanced_buttons1_add : "fontselect,fontsizeselect",
|
|
theme_advanced_buttons2_add : "seperator,forecolor,removeformat,advhr",
|
|
theme_advanced_buttons3 : "tablecontrols,seperator",
|
|
theme_advanced_toolbar_location : "top",
|
|
theme_advanced_toolbar_align : "center",
|
|
remove_linebreaks : false,
|
|
convert_urls : false,
|
|
editor_selector : "mceEditor",
|
|
editor_deselector : "mceNoEditor"
|
|
});
|
|
</script>';
|
|
return $meta;
|
|
}
|
|
}
|
|
?>
|