mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
- Phrasen Modul
- DMS Anzeige der Dokumente in Listenform - History und Diff für CMS Modul
This commit is contained in:
+145
-17
@@ -25,9 +25,11 @@ require_once('../include/template.class.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/sprache.class.php');
|
||||
require_once('../include/gruppe.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/xsdformprinter/xsdformprinter.php');
|
||||
require_once('../include/organisationseinheit.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/DifferenceEngine/DifferenceEngine.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
@@ -57,7 +59,7 @@ if(!$rechte->isBerechtigt('basis/cms'))
|
||||
mode : "textareas",
|
||||
theme : "advanced",
|
||||
file_browser_callback: "FHCFileBrowser",
|
||||
|
||||
|
||||
plugins : "spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,inlinepopups,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras",
|
||||
|
||||
// Theme options
|
||||
@@ -78,7 +80,7 @@ if(!$rechte->isBerechtigt('basis/cms'))
|
||||
tinyMCE.activeEditor.windowManager.open({
|
||||
file: cmsURL,
|
||||
title : "FHComplete File Browser",
|
||||
width: 550,
|
||||
width: 750,
|
||||
height: 550,
|
||||
resizable: "yes",
|
||||
close_previous: "no",
|
||||
@@ -96,11 +98,13 @@ if(!$rechte->isBerechtigt('basis/cms'))
|
||||
<body>
|
||||
<?php
|
||||
|
||||
$sprache = isset($_GET['sprache'])?$_GET['sprache']:'German';
|
||||
$sprache = isset($_GET['sprache'])?$_GET['sprache']:DEFAULT_LANGUAGE;
|
||||
$version = isset($_GET['version'])?$_GET['version']:null;
|
||||
$content_id = isset($_GET['content_id'])?$_GET['content_id']:null;
|
||||
$action = isset($_GET['action'])?$_GET['action']:'';
|
||||
$method = isset($_GET['method'])?$_GET['method']:null;
|
||||
$message = '';
|
||||
$submenu_depth=0;
|
||||
|
||||
//Inhalt Speichern
|
||||
if(isset($_POST['XSDFormPrinter_XML']))
|
||||
@@ -115,9 +119,9 @@ if(isset($_POST['XSDFormPrinter_XML']))
|
||||
$message.= '<span class="error">'.$content->errormsg.'</span>';
|
||||
}
|
||||
|
||||
if(isset($_GET['method']))
|
||||
if(!is_null($method))
|
||||
{
|
||||
switch($_GET['method'])
|
||||
switch($method)
|
||||
{
|
||||
case 'add_new_content':
|
||||
$oe = new organisationseinheit();
|
||||
@@ -269,6 +273,7 @@ if($result = $db->db_query($qry))
|
||||
echo '<td>';
|
||||
drawmenulink($row->content_id, $row->titel);
|
||||
echo '</td>';
|
||||
$submenu_depth=0;
|
||||
drawsubmenu($row->content_id);
|
||||
echo '</tr>';
|
||||
}
|
||||
@@ -282,11 +287,13 @@ echo '</td><td valign="top">';
|
||||
//Editieren
|
||||
if(!is_null($content_id))
|
||||
{
|
||||
echo '<a href="'.$_SERVER['PHP_SELF'].'?action=prefs&content_id='.$content_id.'" '.($action=='prefs'?'class="marked"':'').'>Eigenschaften</a>';
|
||||
echo ' | <a href="'.$_SERVER['PHP_SELF'].'?action=content&content_id='.$content_id.'" '.($action=='content'?'class="marked"':'').'>Inhalt</a>';
|
||||
echo ' | <a href="'.$_SERVER['PHP_SELF'].'?action=preview&content_id='.$content_id.'" '.($action=='preview'?'class="marked"':'').'>Vorschau</a>';
|
||||
echo ' | <a href="'.$_SERVER['PHP_SELF'].'?action=rights&content_id='.$content_id.'" '.($action=='rights'?'class="marked"':'').'>Rechte</a>';
|
||||
echo ' | <a href="'.$_SERVER['PHP_SELF'].'?action=childs&content_id='.$content_id.'" '.($action=='childs'?'class="marked"':'').'>Childs</a>';
|
||||
echo get_content_link('prefs','Eigenschaften').' | ';
|
||||
echo get_content_link('content','Inhalt').' | ';
|
||||
echo get_content_link('preview','Vorschau').' | ';
|
||||
echo get_content_link('rights','Rechte').' | ';
|
||||
echo get_content_link('childs','Childs').' | ';
|
||||
echo get_content_link('history','History');
|
||||
|
||||
echo '<div style="float: right;">'.$message.'</div>';
|
||||
echo '<br><br>';
|
||||
|
||||
@@ -300,7 +307,7 @@ if(!is_null($content_id))
|
||||
print_content();
|
||||
break;
|
||||
case 'preview':
|
||||
echo '<iframe src="content.php?content_id='.$content_id.'&version='.$version.'" style="width: 600px; height: 500px; border: 1px solid black;">';
|
||||
echo '<iframe src="content.php?content_id='.$content_id.'&version='.$version.'&sprache='.$sprache.'" style="width: 600px; height: 500px; border: 1px solid black;">';
|
||||
break;
|
||||
case 'rights':
|
||||
print_rights();
|
||||
@@ -308,6 +315,9 @@ if(!is_null($content_id))
|
||||
case 'childs':
|
||||
print_childs();
|
||||
break;
|
||||
case 'history':
|
||||
print_history();
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
@@ -317,16 +327,33 @@ echo '</body>
|
||||
</html>';
|
||||
|
||||
/******* FUNCTIONS **********/
|
||||
|
||||
/**
|
||||
* Gibt einen Menue Link aus
|
||||
* @param $id
|
||||
* @param $titel
|
||||
*/
|
||||
function drawmenulink($id, $titel)
|
||||
{
|
||||
global $content_id, $action, $sprache, $version;
|
||||
echo '<a href="admin.php?content_id='.$id.'&action='.$action.'&sprache='.$sprache.'&version='.$version.'" '.($content_id==$id?'class="marked"':'').'>'.$titel.'</a> ('.$id.')';
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeichnet ein Submenue unterhalb eines Contents
|
||||
*
|
||||
* @param $content_id Content ID des Parents
|
||||
* @param $einrueckung Einrueckungszeichen fuer den Content
|
||||
*/
|
||||
function drawsubmenu($content_id, $einrueckung=" ")
|
||||
{
|
||||
global $db, $action;
|
||||
|
||||
global $db, $action, $submenu_depth;
|
||||
$submenu_depth++;
|
||||
if($submenu_depth>20)
|
||||
{
|
||||
echo 'Menürekursion?! -> Abbruch';
|
||||
return 0;
|
||||
}
|
||||
$qry = "SELECT
|
||||
tbl_contentchild.content_id,
|
||||
tbl_contentchild.child_content_id,
|
||||
@@ -343,7 +370,6 @@ function drawsubmenu($content_id, $einrueckung=" ")
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
//$vorhanden[]=$row->child_content_id;
|
||||
echo "<tr>\n";
|
||||
echo '<td>';
|
||||
echo $einrueckung;
|
||||
@@ -352,12 +378,24 @@ function drawsubmenu($content_id, $einrueckung=" ")
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
//echo '<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Link zum Anzeigen von Content Modulen
|
||||
* @param $key Action Key
|
||||
* @param $name Name des Links
|
||||
*/
|
||||
function get_content_link($key, $name)
|
||||
{
|
||||
global $action, $content_id;
|
||||
return '<a href="'.$_SERVER['PHP_SELF'].'?action='.$key.'&content_id='.$content_id.'" '.($action==$key?'class="marked"':'').'>'.$name.'</a>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt den Karteireiter zum Verwalten der Kindelemente eines Contents
|
||||
*/
|
||||
function print_childs()
|
||||
{
|
||||
global $content_id, $sprache, $version;
|
||||
@@ -401,7 +439,7 @@ function print_childs()
|
||||
echo '</tbody></table>';
|
||||
|
||||
$content = new content();
|
||||
$content->getAll();
|
||||
$content->getpossibleChilds($content_id);
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?content_id='.$content_id.'&sprache='.$sprache.'&version='.$version.'&action=childs&method=childs_add" method="POST">';
|
||||
|
||||
echo '<select name="child_content_id">';
|
||||
@@ -414,6 +452,10 @@ function print_childs()
|
||||
echo '</form>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt den Karteireiter zum Eintragen der Eigenschaften eines Contents
|
||||
*
|
||||
*/
|
||||
function print_prefs()
|
||||
{
|
||||
global $content_id, $sprache, $version;
|
||||
@@ -482,6 +524,11 @@ function print_prefs()
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt den Karteireiter zum Verwalten der Zugriffsrechte auf einen Content
|
||||
* Zu einem Content können Gruppen zugeteilt werden. Diese haben dann zugriff auf den Content
|
||||
* Wenn keine Gruppen zugeordnet sind, können alle Personen auf den Content zugreifen
|
||||
*/
|
||||
function print_rights()
|
||||
{
|
||||
global $content_id, $sprache, $version;
|
||||
@@ -542,6 +589,13 @@ function print_rights()
|
||||
echo '</form>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt den Karteireiter zum Eintragen des Contents
|
||||
*
|
||||
* Hier wird Aufgrund der XSD Vorlage des Templates ein Formular erstellt und mit den
|
||||
* entsprechenden Werten des XML Files vorausgefuellt.
|
||||
*
|
||||
*/
|
||||
function print_content()
|
||||
{
|
||||
global $content_id, $sprache, $version;
|
||||
@@ -560,4 +614,78 @@ function print_content()
|
||||
$xfp->output($template->xsd,$content->content);
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeigt die Historie eines Contents an.
|
||||
*
|
||||
*/
|
||||
function print_history()
|
||||
{
|
||||
global $content_id, $sprache, $version, $method;
|
||||
if($method=='history_changes')
|
||||
{
|
||||
if(!isset($_GET['v1']) || !isset($_GET['v2']))
|
||||
{
|
||||
echo 'Invalid Parameter';
|
||||
return false;
|
||||
}
|
||||
|
||||
$v1 = $_GET['v1'];
|
||||
$v2 = $_GET['v2'];
|
||||
|
||||
$content_old = new content();
|
||||
$content_old->getContent($content_id, $sprache, $v1);
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($content_old->content);
|
||||
$content_old = $dom->getElementsByTagName('inhalt')->item(0)->nodeValue;
|
||||
|
||||
$content_new = new content();
|
||||
$content_new->getContent($content_id, $sprache, $v2);
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($content_new->content);
|
||||
$content_new = $dom->getElementsByTagName('inhalt')->item(0)->nodeValue;
|
||||
|
||||
$arr_old = explode("\n",trim($content_old));
|
||||
$arr_new = explode("\n",trim($content_new));
|
||||
|
||||
$diff = new Diff($arr_new, $arr_old);
|
||||
$tdf = new TableDiffFormatter();
|
||||
echo '<table>';
|
||||
echo html_entity_decode($tdf->format($diff));
|
||||
echo '</table>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$content = new content();
|
||||
$content->loadVersionen($content_id, $sprache);
|
||||
|
||||
$datum_obj = new datum();
|
||||
echo '<h3>Versionen</h3>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
||||
echo '
|
||||
<input type="hidden" name="action" value="history">
|
||||
<input type="hidden" name="method" value="history_changes">
|
||||
<input type="hidden" name="sprache" value="'.$sprache.'">
|
||||
<input type="hidden" name="version" value="'.$version.'">
|
||||
<input type="hidden" name="content_id" value="'.$content_id.'">';
|
||||
echo 'Änderungen von Version
|
||||
<input type="text" value="1" size="2" name="v1"> zu
|
||||
<input type="text" value="2" size="2" name="v2">
|
||||
<input type="submit" value="Anzeigen">
|
||||
</form>';
|
||||
echo '<ul>';
|
||||
foreach($content->result as $row)
|
||||
{
|
||||
echo '<li>';
|
||||
echo '<b>Version '.$row->version.'</b><br>Erstellt am '.$datum_obj->formatDatum($row->insertamum,'d.m.Y').' von '.$row->insertvon;
|
||||
if($row->updateamum!='' || $row->updatevon!='')
|
||||
echo '<br>Letzte Änderung von '.$row->updatevon.' am '.$datum_obj->formatDatum($row->updateamum,'d.m.Y');
|
||||
if($row->reviewvon!='' || $row->reviewamum!='')
|
||||
echo '<br>Review von '.$row->reviewvon.' am '.$datum_obj->formatDatum($row->reviewamum,'d.m.Y');
|
||||
echo '<br><br>';
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+1
-2
@@ -34,8 +34,7 @@ else
|
||||
die('ContentID muss uebergeben werden');
|
||||
|
||||
$version = (isset($_GET['version'])?$_GET['version']:null);
|
||||
|
||||
$sprache = getSprache();
|
||||
$sprache = (isset($_GET['sprache'])?$_GET['sprache']:getSprache());
|
||||
|
||||
//XML Content laden
|
||||
$content = new content();
|
||||
|
||||
+160
-54
@@ -23,14 +23,17 @@ require_once('../config/cis.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/dms.class.php');
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DE"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>FHComplete Document Management System</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../skin/superfish.css" type="text/css">
|
||||
<link rel="stylesheet" href="../skin/fhcomplete.css" type="text/css">
|
||||
<link rel="stylesheet" href="../skin/style.css.php" type="text/css">
|
||||
<script type="text/javascript" src="../include/js/jquery.js"></script>
|
||||
<script type="text/javascript" src="../include/js/superfish.js"></script>
|
||||
<script type="text/javascript" src="../include/tiny_mce/tiny_mce_popup.js"></script>
|
||||
<script type="text/javascript">
|
||||
var FileBrowserDialog={
|
||||
@@ -59,11 +62,12 @@ require_once('../include/dms.class.php');
|
||||
}
|
||||
};
|
||||
|
||||
tinyMCEPopup.onInit.add(FileBrowserDialog.init, FileBrowserDialog);
|
||||
//tinyMCEPopup.onInit.add(FileBrowserDialog.init, FileBrowserDialog);
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#divupload').hide();
|
||||
jQuery('ul.sf-menu').superfish({speed:'fast', delay:200});
|
||||
});
|
||||
|
||||
function upload(id, name)
|
||||
@@ -88,6 +92,7 @@ require_once('../include/dms.class.php');
|
||||
<?php
|
||||
$user = get_uid();
|
||||
$kategorie_kurzbz = isset($_REQUEST['kategorie_kurzbz'])?$_REQUEST['kategorie_kurzbz']:'';
|
||||
$searchstring = isset($_REQUEST['searchstring'])?$_REQUEST['searchstring']:'';
|
||||
$mimetypes = array(
|
||||
'application/pdf'=>'pdf.ico',
|
||||
'application/vnd.openxmlformats-officedocument.wordprocessingml.document'=>'word2007.jpg',
|
||||
@@ -147,69 +152,40 @@ if(isset($_POST['fileupload']))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<h1>Dokument Auswählen</h1>
|
||||
<table>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<input type="text" name="searchstring" value="'.$searchstring.'">
|
||||
<input type="submit" value="Suchen">
|
||||
</form>
|
||||
<table cellspacing=0>
|
||||
<tr>
|
||||
<td valign="top" nowrap>
|
||||
<b>Kategorie:</b><br>';
|
||||
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
|
||||
<h3>Kategorie:</h3>
|
||||
';
|
||||
//Kategorien anzeigen
|
||||
|
||||
$dms = new dms();
|
||||
$dms->getKategorie();
|
||||
foreach($dms->result as $row)
|
||||
{
|
||||
if($kategorie_kurzbz=='')
|
||||
$kategorie_kurzbz=$row->kategorie_kurzbz;
|
||||
if($kategorie_kurzbz==$row->kategorie_kurzbz)
|
||||
$class='class="marked"';
|
||||
else
|
||||
$class='';
|
||||
|
||||
echo '
|
||||
<a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" '.$class.'>';
|
||||
echo $row->bezeichnung.'</a><br>';
|
||||
}
|
||||
echo '
|
||||
</td>
|
||||
<td valign="top">';
|
||||
drawKategorieMenue($dms->result);
|
||||
|
||||
echo '</td>
|
||||
<td valign="top" style="border-top: 1px solid lightblue; width: 100%;">';
|
||||
//Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
|
||||
$dms = new dms();
|
||||
$dms->getDocuments($kategorie_kurzbz);
|
||||
|
||||
if($searchstring!='')
|
||||
{
|
||||
$dms->search($searchstring);
|
||||
}
|
||||
else
|
||||
{
|
||||
$dms->getDocuments($kategorie_kurzbz);
|
||||
}
|
||||
|
||||
//drawFilesThumb($dms->result);
|
||||
drawFilesList($dms->result);
|
||||
|
||||
echo '
|
||||
<table>
|
||||
<tr>';
|
||||
$anzahl=0;
|
||||
foreach($dms->result as $row)
|
||||
{
|
||||
if($anzahl>2)
|
||||
{
|
||||
echo "
|
||||
</tr>
|
||||
<tr>";
|
||||
$anzahl=0;
|
||||
}
|
||||
echo '
|
||||
<td>';
|
||||
echo '<a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">';
|
||||
echo '<center>';
|
||||
if(array_key_exists($row->mimetype,$mimetypes))
|
||||
echo '<img src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
|
||||
else
|
||||
echo '<img src="dms.php?id='.$row->dms_id.'&notimeupdate" style="max-width: 100px">';
|
||||
|
||||
echo '<br>'.$row->name.'</a><br>';
|
||||
|
||||
//Upload einer neuen Version
|
||||
echo '<a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Upload</a> ';
|
||||
echo '</center></td>';
|
||||
$anzahl++;
|
||||
}
|
||||
echo '
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -229,6 +205,136 @@ echo '
|
||||
<input type="submit" name="fileupload" value="Upload">
|
||||
</form>
|
||||
</div>';
|
||||
|
||||
/************ FUNCTIONS ********************/
|
||||
/**
|
||||
* Zeichnet das Kategorie Menu
|
||||
*
|
||||
* @param $rows DMS Result Object
|
||||
*/
|
||||
function drawKategorieMenue($rows)
|
||||
{
|
||||
global $kategorie_kurzbz;
|
||||
echo '<ul>';
|
||||
foreach($rows as $row)
|
||||
{
|
||||
if($kategorie_kurzbz=='')
|
||||
$kategorie_kurzbz=$row->kategorie_kurzbz;
|
||||
if($kategorie_kurzbz==$row->kategorie_kurzbz)
|
||||
$class='class="marked"';
|
||||
else
|
||||
$class='';
|
||||
|
||||
echo '<li>
|
||||
<a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" '.$class.'>';
|
||||
echo $row->bezeichnung.'</a>';
|
||||
$dms = new dms();
|
||||
$dms->getKategorie($row->kategorie_kurzbz);
|
||||
if(count($dms->result)>0)
|
||||
drawKategorieMenue($dms->result);
|
||||
echo '</li>';
|
||||
}
|
||||
echo '
|
||||
</ul>';
|
||||
}
|
||||
/**
|
||||
* Zeichnet die Files in Listenform
|
||||
*
|
||||
* @param $rows DMS Result Object
|
||||
*/
|
||||
function drawFilesList($rows)
|
||||
{
|
||||
global $mimetypes;
|
||||
echo '
|
||||
<table>
|
||||
';
|
||||
|
||||
foreach($rows as $row)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>';
|
||||
if(array_key_exists($row->mimetype,$mimetypes))
|
||||
echo '<img src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
|
||||
else
|
||||
echo '<img src="../skin/images/blank.png" style="height: 15px">';
|
||||
|
||||
echo'
|
||||
<a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">
|
||||
'.$row->name.'</a>
|
||||
</td>
|
||||
|
||||
<td>';
|
||||
|
||||
//Upload einer neuen Version
|
||||
echo '<ul class="sf-menu">
|
||||
<li><a href="id://'.$row->dms_id.'/Erweitert" style="font-size:small">Erweitert</a>
|
||||
<ul>
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">Auswählen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Neue Version hochladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/ShowAll" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small" >Alle Versionen anzeigen</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>';
|
||||
echo '</td>
|
||||
</tr>';
|
||||
|
||||
}
|
||||
echo '
|
||||
</table>';
|
||||
}
|
||||
/**
|
||||
* Zeichnet die Files mit Vorschau
|
||||
*
|
||||
* @param $rows DMS Result Object
|
||||
*/
|
||||
function drawFilesThumb($rows)
|
||||
{
|
||||
global $mimetypes;
|
||||
echo '
|
||||
<table>
|
||||
<tr>';
|
||||
$anzahl=0;
|
||||
foreach($rows as $row)
|
||||
{
|
||||
if($anzahl>2)
|
||||
{
|
||||
echo "
|
||||
</tr>
|
||||
<tr>";
|
||||
$anzahl=0;
|
||||
}
|
||||
echo '
|
||||
<td>';
|
||||
echo '<center>';
|
||||
echo '<a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">';
|
||||
|
||||
if(array_key_exists($row->mimetype,$mimetypes))
|
||||
echo '<img src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
|
||||
else
|
||||
echo '<img src="dms.php?id='.$row->dms_id.'&notimeupdate" style="max-width: 100px">';
|
||||
echo '</a><br>';
|
||||
//echo '<br>'.$row->name.'</a>';
|
||||
|
||||
//Upload einer neuen Version
|
||||
echo '<ul class="sf-menu">
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">'.$row->name.'</a>
|
||||
<ul>
|
||||
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">Auswählen</a></li>
|
||||
<li><a href="dms.php?id='.$row->dms_id.'" style="font-size:small" target="_blank">Herunterladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Neue Version hochladen</a></li>
|
||||
<li><a href="id://'.$row->dms_id.'/ShowAll" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small" >Alle Versionen anzeigen</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>';
|
||||
echo '</center></td>';
|
||||
$anzahl++;
|
||||
}
|
||||
echo '
|
||||
</tr>
|
||||
</table>';
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -95,6 +95,9 @@ define('DEFAULT_STYLE','tw');
|
||||
//Layout Wechsel im CIS moeglich?
|
||||
define('CHOOSE_LAYOUT',false);
|
||||
|
||||
//Default Sprache
|
||||
define('DEFAULT_LANGUAGE','German');
|
||||
|
||||
// MAIL Adressen
|
||||
define('MAIL_DEBUG','oesi@technikum-wien.at');
|
||||
define('MAIL_GST','pam@technikum-wien.at,oesi@technikum-wien.at');
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -495,6 +495,58 @@ class content extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Content Eintraege die fuer den uebergeben Content als
|
||||
* Childnodes infrage kommen.
|
||||
* Eintraege bei denen es zu einer Rekursion im Tree kommen koennte werden
|
||||
* nicht geliefert
|
||||
*/
|
||||
public function getpossibleChilds($content_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
campus.tbl_content
|
||||
WHERE
|
||||
content_id NOT IN(
|
||||
WITH RECURSIVE parents(content_id, child_content_id) as
|
||||
(
|
||||
SELECT content_id, child_content_id FROM campus.tbl_contentchild
|
||||
WHERE child_content_id='".addslashes($content_id)."'
|
||||
UNION ALL
|
||||
SELECT cc.content_id, cc.child_content_id FROM campus.tbl_contentchild cc, parents
|
||||
WHERE cc.child_content_id=parents.content_id
|
||||
)
|
||||
SELECT content_id
|
||||
FROM parents
|
||||
GROUP BY content_id)
|
||||
AND content_id<>'".addslashes($content_id)."'";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new content();
|
||||
|
||||
$obj->content_id = $row->content_id;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->template_kurzbz = $row->template_kurzbz;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Contents';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Loescht eine Contentzuordnung
|
||||
*
|
||||
@@ -539,5 +591,48 @@ class content extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Versionen des Contents
|
||||
*
|
||||
* @param $content_id
|
||||
*/
|
||||
public function loadVersionen($content_id, $sprache)
|
||||
{
|
||||
$qry = "SELECT
|
||||
contentsprache_id, sprache, content_id, version, sichtbar, reviewamum, reviewvon,
|
||||
updateamum, updatevon, insertamum, insertvon
|
||||
FROM campus.tbl_contentsprache
|
||||
WHERE content_id='".addslashes($content_id)."' AND sprache='".addslashes($sprache)."'
|
||||
ORDER BY version DESC";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new content();
|
||||
|
||||
$obj->contentsprache_id = $row->contentsprache_id;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->content_id = $row->content_id;
|
||||
$obj->version = $row->version;
|
||||
$obj->sichtbar = ($row->sichtbar=='t'?true:false);
|
||||
$obj->reviewvon = $row->reviewvon;
|
||||
$obj->reviewamum = $row->reviewamum;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+52
-2
@@ -220,9 +220,15 @@ class dms extends basis_db
|
||||
* Laedt alle Kategorien
|
||||
* @return boolean
|
||||
*/
|
||||
public function getKategorie()
|
||||
public function getKategorie($parent_kategorie_kurzbz='')
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_dms_kategorie ORDER BY bezeichnung";
|
||||
$qry = "SELECT * FROM campus.tbl_dms_kategorie WHERE ";
|
||||
|
||||
if($parent_kategorie_kurzbz!='')
|
||||
$qry.=" parent_kategorie_kurzbz='".addslashes($parent_kategorie_kurzbz)."'";
|
||||
else
|
||||
$qry.=" parent_kategorie_kurzbz is null";
|
||||
$qry.=" ORDER BY bezeichnung";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -287,5 +293,49 @@ class dms extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Dokumenten
|
||||
*
|
||||
* @param $kategorie_kurzbz
|
||||
*/
|
||||
public function search($suchstring)
|
||||
{
|
||||
$qry = "SELECT * FROM campus.tbl_dms where (dms_id, version) in(
|
||||
SELECT dms_id, max(version)
|
||||
FROM campus.tbl_dms
|
||||
WHERE lower(name) like lower('%".addslashes($suchstring)."%')
|
||||
OR lower(beschreibung) like lower('%".addslashes($suchstring)."%')
|
||||
GROUP BY dms_id)
|
||||
ORDER BY name;";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new dms();
|
||||
|
||||
$obj->dms_id = $row->dms_id;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
$obj->kategorie_kurzbz = $row->kategorie_kurzbz;
|
||||
$obj->filename = $row->filename;
|
||||
$obj->mimetype = $row->mimetype;
|
||||
$obj->name = $row->name;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->letzterzugriff = $row->letzterzugriff;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -843,8 +843,26 @@ function getSprache()
|
||||
}
|
||||
else
|
||||
{
|
||||
$sprache='German';
|
||||
if(isset($_COOKIE['FHC_SPRACHE']))
|
||||
{
|
||||
$sprache=$_COOKIE['FHC_SPRACHE'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$sprache=DEFAULT_LANGUAGE;
|
||||
}
|
||||
setSprache($sprache);
|
||||
}
|
||||
return $sprache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die Sprache in der Session Variable und im Cookie
|
||||
* @param $sprache
|
||||
*/
|
||||
function setSprache($sprache)
|
||||
{
|
||||
$SESSION['FHC_SPRACHE']=$sprache;
|
||||
setcookie('FHC_SPRACHE',$sprache,time()+60*60*24*30,'/');
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
|
||||
/*
|
||||
* Superfish v1.4.8 - jQuery menu widget
|
||||
* Copyright (c) 2008 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
|
||||
*/
|
||||
|
||||
;(function($){
|
||||
$.fn.superfish = function(op){
|
||||
|
||||
var sf = $.fn.superfish,
|
||||
c = sf.c,
|
||||
$arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')),
|
||||
over = function(){
|
||||
var $$ = $(this), menu = getMenu($$);
|
||||
clearTimeout(menu.sfTimer);
|
||||
$$.showSuperfishUl().siblings().hideSuperfishUl();
|
||||
},
|
||||
out = function(){
|
||||
var $$ = $(this), menu = getMenu($$), o = sf.op;
|
||||
clearTimeout(menu.sfTimer);
|
||||
menu.sfTimer=setTimeout(function(){
|
||||
o.retainPath=($.inArray($$[0],o.$path)>-1);
|
||||
$$.hideSuperfishUl();
|
||||
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
|
||||
},o.delay);
|
||||
},
|
||||
getMenu = function($menu){
|
||||
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
|
||||
sf.op = sf.o[menu.serial];
|
||||
return menu;
|
||||
},
|
||||
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
|
||||
|
||||
return this.each(function() {
|
||||
var s = this.serial = sf.o.length;
|
||||
var o = $.extend({},sf.defaults,op);
|
||||
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
|
||||
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
|
||||
.filter('li:has(ul)').removeClass(o.pathClass);
|
||||
});
|
||||
sf.o[s] = sf.op = o;
|
||||
|
||||
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
|
||||
if (o.autoArrows) addArrow( $('>a:first-child',this) );
|
||||
})
|
||||
.not('.'+c.bcClass)
|
||||
.hideSuperfishUl();
|
||||
|
||||
var $a = $('a',this);
|
||||
$a.each(function(i){
|
||||
var $li = $a.eq(i).parents('li');
|
||||
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
|
||||
});
|
||||
o.onInit.call(this);
|
||||
|
||||
}).each(function() {
|
||||
var menuClasses = [c.menuClass];
|
||||
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
|
||||
$(this).addClass(menuClasses.join(' '));
|
||||
});
|
||||
};
|
||||
|
||||
var sf = $.fn.superfish;
|
||||
sf.o = [];
|
||||
sf.op = {};
|
||||
sf.IE7fix = function(){
|
||||
var o = sf.op;
|
||||
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
|
||||
this.toggleClass(sf.c.shadowClass+'-off');
|
||||
};
|
||||
sf.c = {
|
||||
bcClass : 'sf-breadcrumb',
|
||||
menuClass : 'sf-js-enabled',
|
||||
anchorClass : 'sf-with-ul',
|
||||
arrowClass : 'sf-sub-indicator',
|
||||
shadowClass : 'sf-shadow'
|
||||
};
|
||||
sf.defaults = {
|
||||
hoverClass : 'sfHover',
|
||||
pathClass : 'overideThisToUse',
|
||||
pathLevels : 1,
|
||||
delay : 800,
|
||||
animation : {opacity:'show'},
|
||||
speed : 'normal',
|
||||
autoArrows : true,
|
||||
dropShadows : true,
|
||||
disableHI : false, // true disables hoverIntent detection
|
||||
onInit : function(){}, // callback functions
|
||||
onBeforeShow: function(){},
|
||||
onShow : function(){},
|
||||
onHide : function(){}
|
||||
};
|
||||
$.fn.extend({
|
||||
hideSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
not = (o.retainPath===true) ? o.$path : '';
|
||||
o.retainPath = false;
|
||||
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
|
||||
.find('>ul').hide().css('visibility','hidden');
|
||||
o.onHide.call($ul);
|
||||
return this;
|
||||
},
|
||||
showSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
sh = sf.c.shadowClass+'-off',
|
||||
$ul = this.addClass(o.hoverClass)
|
||||
.find('>ul:hidden').css('visibility','visible');
|
||||
sf.IE7fix.call($ul);
|
||||
o.onBeforeShow.call($ul);
|
||||
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/* Copyright (C) 2011 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Phrasen fuer Mehrsprachigkeit
|
||||
*
|
||||
* Diese Klasse liefert Phrasen fuer dynamische Seiten in der ausgewaehlten Sprache.
|
||||
* Die Phrasen werden im Filesystem nach Modulen getrennt abgelegt und bei Bedarf geladen.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
|
||||
class phrasen extends basis_db
|
||||
{
|
||||
public $sprache='';
|
||||
protected $phrasen=array();
|
||||
protected $loadedModules=array();
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
* @param $sprache Wenn keine Sprache uebergeben wird, wird die Default Sprache aus der Config verwendet
|
||||
*/
|
||||
public function __construct($sprache=null)
|
||||
{
|
||||
parent::__construct();
|
||||
if($sprache=='')
|
||||
$sprache=DEFAULT_LANGUAGE;
|
||||
$this->sprache = $sprache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt ein Sprachmodul
|
||||
* Zuerst wird die Default Sprache des Moduls geladen. Danach die zugehoerige Sprache
|
||||
* Dadurch werden die Phrasen die nicht vorhanden sind automatisch in der Default Sprache angezeigt
|
||||
*
|
||||
* @param $module Name des Moduls
|
||||
*/
|
||||
public function loadModule($module)
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$sprache->load(DEFAULT_LANGUAGE);
|
||||
|
||||
//Default Sprache laden
|
||||
$filename = dirname(__FILE__).'/../locale/cms/'.$sprache->locale.'/'.$module.'.php';
|
||||
if(file_exists($filename))
|
||||
include($filename);
|
||||
|
||||
$sprache = new sprache();
|
||||
$sprache->load($this->sprache);
|
||||
//Anzeigesprache laden
|
||||
$filename = dirname(__FILE__).'/../locale/cms/'.$sprache->locale.'/'.$module.'.php';
|
||||
if(file_exists($filename))
|
||||
include($filename);
|
||||
$this->loadedModules[]=$module;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob das Modul des Keys bereits geladen wurde und laedt dieses wenn noetig
|
||||
*
|
||||
* @param $key der Phrase
|
||||
*/
|
||||
public function checkModule($key)
|
||||
{
|
||||
$module = mb_substr($key, 0, mb_strpos($key,'/'));
|
||||
if(!in_array($module, $this->loadedModules))
|
||||
$this->loadModule($module);
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert eine Phrase in der eingestellten Sprache
|
||||
*
|
||||
* Die Phrasen koennen Platzhalter fuer Variablen enthalten. Diese Variablen koennen als Array
|
||||
* mit den 2. Parameter uebergeben werden.
|
||||
*
|
||||
* Um in der Phrase die Reihenfolge der Variablen zu tauschen kann folgendes verwendet werden: "%x$s"
|
||||
* Wobei x durch den Index+1 im Array zu ersetzten ist. zB "%2$s" um die Variable $value[1] auszugeben
|
||||
* naehere Infos siehe sprintf
|
||||
*
|
||||
* @param $key Key der Phrase
|
||||
* @param $value Array mit Parametern fuer die Phrase
|
||||
*/
|
||||
public function t($key, $value=array())
|
||||
{
|
||||
$this->checkModule($key);
|
||||
$string = isset($this->phrasen[$key])?$this->phrasen[$key]:'[[PHRASE:'.$key.']]';
|
||||
return vsprintf($string, $value);
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -55,7 +55,7 @@ class sprache extends basis_db
|
||||
*/
|
||||
public function load($sprache)
|
||||
{
|
||||
$qry = "SELECT * from public.tbl_sprache WHERE sprache = ".addslashes($sprache)."; ";
|
||||
$qry = "SELECT * FROM public.tbl_sprache WHERE sprache = '".addslashes($sprache)."';";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
$this->phrasen['global/Studiengang']='Studiengang';
|
||||
$this->phrasen['global/Institut']='Institut';
|
||||
$this->phrasen['global/Semester']='Semester';
|
||||
$this->phrasen['global/Studienzentrum']='Studienzentrum';
|
||||
$this->phrasen['global/Studiengangsleitung']='Studiengangsleitung';
|
||||
$this->phrasen['global/Lehrveranstaltung']='Lehrveranstaltung';
|
||||
|
||||
$this->phrasen['global/speichern']='Speichern';
|
||||
$this->phrasen['global/loeschen']='Löschen';
|
||||
$this->phrasen['global/editieren']='Editieren';
|
||||
?>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
$this->phrasen['news/verwaltungstools']='Verwaltungstools';
|
||||
$this->phrasen['news/newsverwaltung']='Newsverwaltung';
|
||||
$this->phrasen['news/neuereintrag']='Neuen Eintrag anlegen';
|
||||
$this->phrasen['news/verfasser']='Verfasser';
|
||||
?>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
$this->phrasen['global/Studiengang']='Degree-Programme';
|
||||
$this->phrasen['global/Institut']='Institute';
|
||||
$this->phrasen['global/Semester']='Semester';
|
||||
$this->phrasen['global/Studienzentrum']='Study Center';
|
||||
$this->phrasen['global/Studiengangsleitung']='Head of Department';
|
||||
$this->phrasen['global/Lehrveranstaltung']='Subject';
|
||||
|
||||
$this->phrasen['global/speichern']='Save';
|
||||
$this->phrasen['global/loeschen']='Delete';
|
||||
$this->phrasen['global/editieren']='Edit';
|
||||
?>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
$this->phrasen['news/verwaltungstools']='Managementtools';
|
||||
$this->phrasen['news/newsverwaltung']='Newsmanagement';
|
||||
$this->phrasen['news/neuereintrag']='Create a new Entry';
|
||||
$this->phrasen['news/verfasser']='Author';
|
||||
?>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 244 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
+24
-6
@@ -44,7 +44,7 @@ img
|
||||
height:86%;
|
||||
z-index:1000;
|
||||
}
|
||||
/*Alle außer IE 6*/
|
||||
/*Alle au�er IE 6*/
|
||||
html>body #menue
|
||||
{
|
||||
position:absolute;
|
||||
@@ -56,7 +56,7 @@ html>body #menue
|
||||
height:82%;
|
||||
left:20%;
|
||||
}
|
||||
/*Alle außer IE 6*/
|
||||
/*Alle au�er IE 6*/
|
||||
html>body #content
|
||||
{
|
||||
position:absolute;
|
||||
@@ -270,7 +270,7 @@ TABLE#tabterm
|
||||
}
|
||||
td.ContentHeader
|
||||
{
|
||||
background-color: #008381; /*grün*/
|
||||
background-color: #008381; /*gr�n*/
|
||||
font-weight: bold;
|
||||
height: 19px;
|
||||
}
|
||||
@@ -361,11 +361,11 @@ TR.liste
|
||||
}
|
||||
TR.liste0
|
||||
{
|
||||
background-color: #FFFFFF; /*weiß*/
|
||||
background-color: #FFFFFF; /*wei�*/
|
||||
}
|
||||
TR.liste1
|
||||
{
|
||||
background-color: #EEEEEE; /*grau fast weiß*/
|
||||
background-color: #EEEEEE; /*grau fast wei�*/
|
||||
}
|
||||
TR.tryellow
|
||||
{
|
||||
@@ -397,7 +397,7 @@ TABLE#zeitsperren TD.feiertag
|
||||
}
|
||||
TABLE#zeitsperren TD
|
||||
{
|
||||
background-color: #EEEEEE /*grau fast weiß*/
|
||||
background-color: #EEEEEE /*grau fast wei�*/
|
||||
}
|
||||
|
||||
/* Stundeplan */
|
||||
@@ -641,4 +641,22 @@ img#layout
|
||||
option.inactive
|
||||
{
|
||||
text-decoration:line-through;
|
||||
}
|
||||
|
||||
/* Difference Engine */
|
||||
.diffchange-inline
|
||||
{
|
||||
background-color: yellow;
|
||||
}
|
||||
.diff-deletedline
|
||||
{
|
||||
background-color: lightgray;
|
||||
}
|
||||
.diff-marker
|
||||
{
|
||||
background-color: none;
|
||||
}
|
||||
.diff-addedline
|
||||
{
|
||||
background-color: lightgreen;
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
|
||||
/*** ESSENTIAL STYLES ***/
|
||||
.sf-menu, .sf-menu * {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.sf-menu {
|
||||
line-height: 1.0;
|
||||
}
|
||||
.sf-menu ul {
|
||||
position: absolute;
|
||||
top: -999em;
|
||||
width: 10em; /* left offset of submenus need to match (see below) */
|
||||
}
|
||||
.sf-menu ul li {
|
||||
width: 100%;
|
||||
}
|
||||
.sf-menu li:hover {
|
||||
visibility: inherit; /* fixes IE7 'sticky bug' */
|
||||
}
|
||||
.sf-menu li {
|
||||
float: left;
|
||||
position: relative;
|
||||
}
|
||||
.sf-menu a {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.sf-menu li:hover ul,
|
||||
.sf-menu li.sfHover ul {
|
||||
left: 0;
|
||||
top: 20px;/*2.5em; /* match top ul list item height */
|
||||
z-index: 99;
|
||||
}
|
||||
ul.sf-menu li:hover li ul,
|
||||
ul.sf-menu li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.sf-menu li li:hover ul,
|
||||
ul.sf-menu li li.sfHover ul {
|
||||
left: 10em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
ul.sf-menu li li:hover li ul,
|
||||
ul.sf-menu li li.sfHover li ul {
|
||||
top: -999em;
|
||||
}
|
||||
ul.sf-menu li li li:hover ul,
|
||||
ul.sf-menu li li li.sfHover ul {
|
||||
left: 10em; /* match ul width */
|
||||
top: 0;
|
||||
}
|
||||
|
||||
/*** DEMO SKIN ***/
|
||||
.sf-menu {
|
||||
float: left;
|
||||
/*margin-bottom: 1em;*/
|
||||
}
|
||||
.sf-menu a {
|
||||
border-left: 1px solid #fff;
|
||||
border-top: 1px solid #CFDEFF;
|
||||
padding: 3px 3px;
|
||||
text-decoration:none;
|
||||
}
|
||||
.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
|
||||
color: #13a;
|
||||
}
|
||||
.sf-menu li {
|
||||
/*background: #BDD2FF;*/
|
||||
}
|
||||
.sf-menu li li {
|
||||
background: #AABDE6;
|
||||
}
|
||||
.sf-menu li li li {
|
||||
background: #9AAEDB;
|
||||
}
|
||||
.sf-menu li:hover, .sf-menu li.sfHover,
|
||||
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
|
||||
background: #CFDEFF;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/*** arrows **/
|
||||
.sf-menu a.sf-with-ul {
|
||||
padding-right: 2.25em;
|
||||
min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
|
||||
}
|
||||
.sf-sub-indicator {
|
||||
position: absolute;
|
||||
display: block;
|
||||
right: .75em;
|
||||
top: 1.05em; /* IE6 only */
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
text-indent: -999em;
|
||||
overflow: hidden;
|
||||
background: url('images/superfish-arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
|
||||
}
|
||||
a > .sf-sub-indicator { /* give all except IE6 the correct values */
|
||||
top: 5px;
|
||||
background-position: 0 -100px; /* use translucent arrow for modern browsers*/
|
||||
}
|
||||
/* apply hovers to modern browsers */
|
||||
a:focus > .sf-sub-indicator,
|
||||
a:hover > .sf-sub-indicator,
|
||||
a:active > .sf-sub-indicator,
|
||||
li:hover > a > .sf-sub-indicator,
|
||||
li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: -10px -100px; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/* point right for anchors in subs */
|
||||
.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
|
||||
.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
|
||||
/* apply hovers to modern browsers */
|
||||
.sf-menu ul a:focus > .sf-sub-indicator,
|
||||
.sf-menu ul a:hover > .sf-sub-indicator,
|
||||
.sf-menu ul a:active > .sf-sub-indicator,
|
||||
.sf-menu ul li:hover > a > .sf-sub-indicator,
|
||||
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
|
||||
background-position: -10px 0; /* arrow hovers for modern browsers*/
|
||||
}
|
||||
|
||||
/*** shadows for all but IE6 ***/
|
||||
.sf-shadow ul {
|
||||
background: url('images/superfish-shadow.png') no-repeat bottom right;
|
||||
padding: 0 8px 9px 0;
|
||||
-moz-border-radius-bottomleft: 17px;
|
||||
-moz-border-radius-topright: 17px;
|
||||
-webkit-border-top-right-radius: 17px;
|
||||
-webkit-border-bottom-left-radius: 17px;
|
||||
}
|
||||
.sf-shadow ul.sf-shadow-off {
|
||||
background: transparent;
|
||||
}
|
||||
Reference in New Issue
Block a user