*/ /** * Diese Seite dient zum Anlegen und aendern von Newseintraegen */ require_once('../config/cis.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/news.class.php'); require_once('../include/content.class.php'); require_once('../include/phrasen.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/datum.class.php'); require_once('../include/mail.class.php'); require_once('../include/benutzerfunktion.class.php'); $uid = get_uid(); $sprache = getSprache(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); $p = new phrasen($sprache); if(isset($_REQUEST['studiengang_kz'])) $studiengang_kz=$_REQUEST['studiengang_kz']; else $studiengang_kz='0'; if(isset($_REQUEST['semester'])) $semester = $_REQUEST['semester']; else $semester = null; if(check_lektor($uid)) $is_lector=true; else $is_lector=false; if(!$rechte->isBerechtigt('basis/news')) $berechtigt=false; else $berechtigt=true; //Lektoren duerfen nur Studiengangsspezifische und Freifaecher News Eintragen //Fuer allgemeine News wird die berechtigung basis/news benoetigt if(!$is_lector && !$berechtigt) die('Sie haben keine Berechtigung zum Eintragen/Bearbeiten von News'); $news_id = (isset($_REQUEST['news_id'])?$_REQUEST['news_id']:null); if($studiengang_kz=='0' && is_null($semester) && $news_id=='') { if(!$berechtigt) die('Sie haben keine Berechtigung zum Eintragen/Bearbeiten von allgemeinen News'); } $datum_obj = new datum(); $content = new content(); $message = ''; echo ' '.$p->t('news/newsverwaltung').' '; //Uebersetzung anlegen if(isset($_GET['action']) && $_GET['action']=='add_uebersetzung') { $news = new news(); $news->load($_GET['news_id']); $content = new content(); $content->getContent($news->content_id); $content->new = true; $content->sichtbar=false; $content->sprache=$_GET['lang']; $content->insertvon = $uid; $content->insertamum = date('Y-m-d H:i:s'); $content->updatevon = $uid; $content->updateamum = date('Y-m-d H:i:s'); $content->reviewvon=''; $content->reviewamum=''; $content->gesperrt_uid=''; if($content->saveContentSprache()) $message.= ''.$p->t('global/erfolgreichgespeichert').''; else $message.= ''.$content->errormsg.''; } //Eintrag entfernen if(isset($_GET['action']) && $_GET['action']=='delete') { if(!$rechte->isBerechtigt('basis/news',null, 'suid') && !$is_lector) die($p->t('global/keineBerechtigungFuerDieseSeite')); if(isset($_GET['news_id']) && is_numeric($_GET['news_id'])) { $news_id = $_GET['news_id']; $news = new news(); if($news->load($news_id)) { $studiengang_kz=$news->studiengang_kz; $semester = $news->semester; if($news->delete($news_id)) { $message.= ''.$p->t('global/erfolgreichgelöscht').''; $news_id=''; } else { $message.= ''.$news->errormsg.''; } } else { $message.= ''.$p->t('global/fehlerBeimLesenAusDatenbank').''; } } else die($p->t('global/fehlerBeiDerParameteruebergabe')); } //Speichern eines Eintrags if(isset($_POST['save'])) { $save_error=false; $news_id = $_POST['news_id']; $mail = false; $news = new news(); if($news_id!='') { $news->load($news_id); $news->new=false; } else { $news->new = true; $news->uid = $uid; $news->insertamum = date('Y-m-d H:i:s'); $news->insertvon = $uid; $mail = true; } $news->studiengang_kz=$_POST['studiengang_kz']; $news->semester = $_POST['semester']; $news->updateamum=date('Y-m-d H:i:s'); $news->updatevon = $uid; $news->datum = $datum_obj->formatDatum($_POST['datum'],'Y-m-d'); $news->datum_bis = $datum_obj->formatDatum($_POST['datum_bis'],'Y-m-d'); if($news->content_id=='') { $studiengang = new studiengang(); $studiengang->load($_POST['studiengang_kz']); $content = new content(); $content->template_kurzbz='news'; $content->oe_kurzbz=$studiengang->oe_kurzbz; $content->aktiv=true; $content->menu_open=false; $content->insertamum=date('Y-m-d H:i:s'); $content->insertvon = $uid; if(!$content->save(true)) die($content->errormsg); $news->content_id = $content->content_id; } if(!$news->save()) die($news->errormsg); $news_id = $news->news_id; //ContentSprache $sprachen = array(DEFAULT_LANGUAGE); foreach($_POST as $key=>$value) if(mb_strstr($key,'contentsprache_id_')) $sprachen[] = mb_substr($key, strlen('contentsprache_id_')); $sprachen = array_unique($sprachen); foreach($sprachen as $lang) { $content = new content(); if (isset($_POST['sichtbar_'.$lang])) $sichtbar = true; else $sichtbar = false; if(isset($_POST['contentsprache_id_'.$lang]) && $_POST['contentsprache_id_'.$lang]!='') { $content->loadContentSprache($_POST['contentsprache_id_'.$lang]); $content->new = false; } else { $content->insertamum = date('Y-m-d H:i:s'); $content->insertvon = $uid; $content->sichtbar = $sichtbar; $content->version=1; $content->content_id=$news->content_id; $content->new = true; $content->sprache = $lang; } $xml = ''; $xml.=''; $xml.=''; $xml.=''; $xml.=''; $content->content = $xml; $content->sichtbar = $sichtbar; $content->updateamum = date('Y-m-d H:i:s'); $content->updatevon = $uid; $content->titel = $_POST['betreff_'.$lang]; if(!$content->saveContentSprache()) { $message.= ''.$content->errormsg.''; $save_error=true; } if ($sichtbar == true) $message.=''.$p->t('news/eintragVeroeffentlicht',array($lang)).'
'; else $message.=''.$p->t('news/eintragNochNichtVeroeffentlicht',array($lang)).'
'; } if(!$save_error) { $message.= ''.$p->t('global/erfolgreichgespeichert').''; } if ($mail && $_POST['studiengang_kz']=='0' && $_POST['semester']==NULL) { $oe = new studiengang(); $oe->load($_POST['studiengang_kz']); $oe_translate = $oe->oe_kurzbz; $translate = new benutzerfunktion(); $translate->getBenutzerFunktionen('translate', $oe_translate); if(count($translate->result)==0) $translate->getBenutzerFunktionen('translate'); $to=''; foreach($translate->result as $row) { if($to!='') $to.=','; $to .= $row->uid.'@'.DOMAIN; } if($to!='') { $from = 'no-reply@'.DOMAIN; $subject = $p->t('news/neuerNewseintrag'); $text = $p->t('news/mailtext'); $texthtml = $p->t('news/mailtextHTML',array(APP_ROOT."cms/newsverwaltung.php?news_id=".$news_id,$content->titel,$_POST['text_'.DEFAULT_LANGUAGE])) ; $mail = new mail($to, $from, $subject, $text); $mail->setHTMLContent($texthtml); if($mail->send()) { $message.='
'.$p->t('news/uebersetzungsanforderungGesendet',array($to)).''; } else { $message.='
'.$p->t('news/fehlerBeimSenden',array($to)).''; } } else { $message.='
'.$p->t('news/keinUebersetzerVorhanden').''; } } } $sprachen = array(DEFAULT_LANGUAGE); $news = new news(); if($news_id!='') { $news->load($news_id); $sprachen = $content->getLanguages($news->content_id); $studiengang_kz = $news->studiengang_kz; $semester = $news->semester; if($studiengang_kz=='0' && $semester=='' && !$berechtigt) { die($p->t('global/keineBerechtigungFuerDieseSeite')); } } if($studiengang_kz=='0' && $semester=='') $type=$p->t('news/allgemein'); elseif($studiengang_kz=='0' && $semester=='0') $type=$p->t('news/freifach'); else $type=$p->t('news/studiengang'); echo '

'.$p->t('news/newsverwaltung').' - '.$type.'

'; echo '
'.$p->t('news/sichtbarab').'
'.$p->t('news/sichtbarbis').' '.$p->t('news/maximal30Tage').'
'; //DropDown fuer Studiengang und Semester anzeigen if($studiengang_kz!='') { $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz', false); echo ''; echo '
'.$p->t('global/studiengang').'
'.$p->t('global/semester').'
'; } else { echo ' '; } echo '
'.$message.'
'; //Tabs fuer alle vorhandenen Sprachen anlegen echo '
'; $idx=0; foreach($sprachen as $lang) { $sprachindex[$lang]=$idx; $idx++; $verfasser=''; $betreff=''; $text=''; $sichtbar=''; if($news->content_id!='') { $content->getContent($news->content_id, $lang, null, null, false); $xml_inhalt = new DOMDocument(); if($content->content!='') { $xml_inhalt->loadXML($content->content); } if($xml_inhalt->getElementsByTagName('verfasser')->item(0)) $verfasser = $xml_inhalt->getElementsByTagName('verfasser')->item(0)->nodeValue; if($xml_inhalt->getElementsByTagName('betreff')->item(0)) $betreff = $xml_inhalt->getElementsByTagName('betreff')->item(0)->nodeValue; if($xml_inhalt->getElementsByTagName('text')->item(0)) $text = $xml_inhalt->getElementsByTagName('text')->item(0)->nodeValue; $sichtbar = $content->sichtbar; } echo '
'; echo ''; echo '
'.$p->t('news/verfasser').'
'.$p->t('news/betreff').'
'.$p->t('news/text').'
'.$p->t('news/veroeffentlichen').'
'; echo '
'; } //Anlegen von Uebersetzungen if($news->content_id!='') { echo '
'; $content = new content(); if(!$vorhandene_sprachen = $content->getLanguages($news->content_id)) die($content->errormsg); $sprache_obj = new sprache(); $sprache_obj->getAll(true); //Wenn noch nicht alle Uebersetzungen vorhanden sind, //wird ein Link zum Erstellen der Uebersetzung angezeigt. if(count($vorhandene_sprachen)result)) { echo $p->t('news/uebersetzunganlegen'); foreach($sprache_obj->result as $row) { if(!in_array($row->sprache, $vorhandene_sprachen)) echo '
'.$row->bezeichnung_arr[$sprache].''; } } else { echo '
'.$p->t('news/uebersetzungenvorhanden').'
'; } echo '
'; } echo '

'; //Beim Speichern wird der Index des Tabs gespeichert damit nachher der richtige wieder markiert werden kann echo ''; echo ''; echo '
'; if (isset($_POST['tabselect']) && $_POST['tabselect'] != '') { $tabselect = $_POST['tabselect']; } else { if (isset($_GET['lang'])) { $tabselect = $sprachindex[$_GET['lang']]; } else { $tabselect = $sprachindex[DEFAULT_LANGUAGE]; } } echo ' '; // Newseintraege Anzeigen echo '

Nicht veröffentlicht

Veröffentlicht

'; echo ' '; ?>