<?php
/**
 * Project:   BeCast WebEngine - 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.becast.at
 * @copyright 2009 becast.at
 * @author Bernhard Jaud <bernhard at becast dot at>
 * @package BeCast WebEngine 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&auml;ndert!',TRUE,'edit_news');
				}else{
						$fail='<span style="text-align: center; color: red;">Du musst alle Felder ausf&uuml;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&ouml;scht!','Die News wurden erfolgreich gel&ouml;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, $db->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&ouml;schen? ")" href="'.$config['path'].'/admin/index.php?panel=edit_news&amp;action=delete&amp;id='.$u['id'].'"><img src="'.$config['path'].'/admin/images/icons/delete.png" /></a> <a href="'.$config['path'].'/admin/index.php?panel=edit_news&amp;action=edit&amp;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;
	}
}
?>
