From 77cc35dfb4207d5110a2ed49487dc0174fd1823a Mon Sep 17 00:00:00 2001 From: Jan Dittberner <jan@dittberner.info> Date: Sun, 2 Dec 2007 21:13:47 +0000 Subject: [PATCH] fixes #9 addresses #18 addresses #17 * create an english translation of the templates * change the template directory for smarty depending on the language * move existing templates to german subdirectory --- admin/common.inc.php | 27 +++++++++- admin/templates/{ => de}/directories.html | 2 +- admin/templates/de/error.html | 36 +++++++++++++ admin/templates/{ => de}/error.xml | 0 admin/templates/{ => de}/footer.html | 0 admin/templates/{ => de}/header.html | 0 admin/templates/{ => de}/start.html | 0 admin/templates/{ => de}/users.html | 2 +- admin/templates/en/directories.html | 66 +++++++++++++++++++++++ admin/templates/{ => en}/error.html | 0 admin/templates/en/error.xml | 28 ++++++++++ admin/templates/en/footer.html | 28 ++++++++++ admin/templates/en/header.html | 37 +++++++++++++ admin/templates/en/start.html | 35 ++++++++++++ admin/templates/en/users.html | 64 ++++++++++++++++++++++ 15 files changed, 322 insertions(+), 3 deletions(-) rename admin/templates/{ => de}/directories.html (97%) create mode 100644 admin/templates/de/error.html rename admin/templates/{ => de}/error.xml (100%) rename admin/templates/{ => de}/footer.html (100%) rename admin/templates/{ => de}/header.html (100%) rename admin/templates/{ => de}/start.html (100%) rename admin/templates/{ => de}/users.html (94%) create mode 100644 admin/templates/en/directories.html rename admin/templates/{ => en}/error.html (100%) create mode 100644 admin/templates/en/error.xml create mode 100644 admin/templates/en/footer.html create mode 100644 admin/templates/en/header.html create mode 100644 admin/templates/en/start.html create mode 100644 admin/templates/en/users.html diff --git a/admin/common.inc.php b/admin/common.inc.php index 0c29f1b..3aba89f 100644 --- a/admin/common.inc.php +++ b/admin/common.inc.php @@ -38,7 +38,32 @@ require_once("smarty/libs/Smarty.class.php"); /** Global Smarty template engine instance. */ $smarty = new Smarty(); -$smarty->compile_dir = $davconfig['compile_dir']; + +// negotiate the correct template_dir +if (is_dir(($dir = realpath(implode(DIRECTORY_SEPARATOR, + array($smarty->template_dir, + $_SESSION["language"])))))) { + $smarty->template_dir = $dir; +} else if (is_dir(($dir = realpath(implode(DIRECTORY_SEPARATOR, + array($smarty->template_dir, + substr($_SESSION["language"], + 0, 2))))))) { + $smarty->template_dir = $dir; +} else { + _server_error(sprintf(_("Could not find one of the language directories!\n%s,\n%s"), + implode(DIRECTORY_SEPARATOR, + array($smarty->template_dir, + $_SESSION["language"])), + implode(DIRECTORY_SEPARATOR, + array($smarty->template_dir, + substr($_SESSION["language"], 0, 2))))); +} +$compile_dir = implode(DIRECTORY_SEPARATOR, array($davconfig['compile_dir'], + $_SESSION["language"])); +if (!is_dir($compile_dir)) { + mkdir($compile_dir); +} +$smarty->compile_dir = $compile_dir; /** Handle invalid requests to the application. */ function invalidCall() { diff --git a/admin/templates/directories.html b/admin/templates/de/directories.html similarity index 97% rename from admin/templates/directories.html rename to admin/templates/de/directories.html index c3a148c..89d61a2 100644 --- a/admin/templates/directories.html +++ b/admin/templates/de/directories.html @@ -56,7 +56,7 @@ <dt><img src="images/groups.png" width="16" height="16" alt="Gruppen" /></dt> <dd>Die Gruppenberechtigungen dieses Verzeichnisses bearbeiten</dd> <dt><img src="images/delete.png" width="16" height="16" alt="löschen" /></dt> - <dd>Diese Verzeichnis löschen</dd> + <dd>Dieses Verzeichnis löschen</dd> <dt><img src="images/newdirectory.png" width="16" height="16" alt="neu" /></dt> <dd>Neues Verzeichnis anlegen</dd> </dl> diff --git a/admin/templates/de/error.html b/admin/templates/de/error.html new file mode 100644 index 0000000..0176033 --- /dev/null +++ b/admin/templates/de/error.html @@ -0,0 +1,36 @@ +{* + * Error page template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +<html> + <head> + <title>DAVAdmin - Ein Fehler ist aufgetreten</title> + </head> + <body> + <h1>DAVAdmin - Ein Fehler ist aufgetreten</h1> + <p>{$errormsg}</p> + </body> +</html> \ No newline at end of file diff --git a/admin/templates/error.xml b/admin/templates/de/error.xml similarity index 100% rename from admin/templates/error.xml rename to admin/templates/de/error.xml diff --git a/admin/templates/footer.html b/admin/templates/de/footer.html similarity index 100% rename from admin/templates/footer.html rename to admin/templates/de/footer.html diff --git a/admin/templates/header.html b/admin/templates/de/header.html similarity index 100% rename from admin/templates/header.html rename to admin/templates/de/header.html diff --git a/admin/templates/start.html b/admin/templates/de/start.html similarity index 100% rename from admin/templates/start.html rename to admin/templates/de/start.html diff --git a/admin/templates/users.html b/admin/templates/de/users.html similarity index 94% rename from admin/templates/users.html rename to admin/templates/de/users.html index 228341c..f48ca6a 100644 --- a/admin/templates/users.html +++ b/admin/templates/de/users.html @@ -41,7 +41,7 @@ <tr id="uid{$user.uid}"> <td>{$user.username}</td> <td>{$user.lastname}, {$user.firstname}</td> - <td><a id="edit{$user.uid}" class="editlink" href="#" title="Die Daten dieses Nutzers bearbeiten"><img class="actionicon" src="images/edit.png" width="16" height="16" alt="bearbeiten"/></a>{if !$user.loggedin}<a id="delete{$user.uid}" class="deletelink" href="#" title="Die Daten dieses Nutzers löschen"><img class="actionicon" src="images/delete.png" width="16" height="16" alt="löschen" /></a>{/if}</td> + <td><a id="edit{$user.uid}" class="editlink" href="#" title="Die Daten dieses Nutzers bearbeiten"><img class="actionicon" src="images/edit.png" width="16" height="16" alt="bearbeiten"/></a>{if !$user.loggedin}<a id="delete{$user.uid}" class="deletelink" href="#" title="Die Daten dieses Nutzers löschen."><img class="actionicon" src="images/delete.png" width="16" height="16" alt="löschen" /></a>{/if}</td> </tr> {/foreach} </tbody> diff --git a/admin/templates/en/directories.html b/admin/templates/en/directories.html new file mode 100644 index 0000000..9c601b5 --- /dev/null +++ b/admin/templates/en/directories.html @@ -0,0 +1,66 @@ +{* + * Directory page template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +{include file="header.html" title="Directory management"} +<script type="text/javascript" src="scripts/helper.js"></script> +<script type="text/javascript" src="scripts/autocomplete.js"></script> +<script type="text/javascript" src="scripts/directories.js"></script><div id="content"> +<h1>WebDAV administration</h1> +<h2>Directory management</h2> +<table id="dirtable"> + <thead> + <tr><th id="hcol-directory">Directory</th><th id="hcol-groups">Groups</th><th id="hcol-files">included files (count and size)</th><th /></tr> + </thead> + <tbody> +{foreach item=dir from=$directories} + <tr id="dir{$dir.name}"> + <td>{$dir.name}</td> + <td>{foreach item=group from=$dir.groups name=dirloop}{$group}{if !$smarty.foreach.dirloop.last}, {/if}{/foreach}</td> + <td>{$dir.filecount}, {$dir.filesize}</td> + <td><a id="edit{$dir.name}" class="editlink" href="#" title="Edit this directory's group assignments."><img class="actionicon" src="images/groups.png" width="16" height="16" alt="Groups"/></a>{if $dir.maydelete}<a id="delete{$dir.name}" class="deletelink" href="#" title="Delete this directory"><img class="actionicon" src="images/delete.png" width="16" height="16" alt="delete" /></a>{/if}</td> + </tr> +{foreachelse} + <tr><td colspan="4">there are no directories</td></tr> +{/foreach} + </tbody> + <tfoot> + <tr><td colspan="4"><a id="newdir" class="newlink" href="#" title="Create new directory"><img class="actionicon" src="images/newdirectory.png" width="16" height="16" alt="new" /></a></td></tr> + </tfoot> +</table> +<h3>Icon description</h3> +<dl> + <dt><img src="images/groups.png" width="16" height="16" alt="groups" /></dt> + <dd>Edit this directory's group assignments.</dd> + <dt><img src="images/delete.png" width="16" height="16" alt="delete" /></dt> + <dd>Delete this directory</dd> + <dt><img src="images/newdirectory.png" width="16" height="16" alt="new" /></dt> + <dd>Create new directory</dd> +</dl> +<div id="footer"><a href="index.php">Back</a></div> +</div> +<div id="direditor"></div> +{include file="footer.html"} \ No newline at end of file diff --git a/admin/templates/error.html b/admin/templates/en/error.html similarity index 100% rename from admin/templates/error.html rename to admin/templates/en/error.html diff --git a/admin/templates/en/error.xml b/admin/templates/en/error.xml new file mode 100644 index 0000000..9434861 --- /dev/null +++ b/admin/templates/en/error.xml @@ -0,0 +1,28 @@ +{* + * Error XML template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +<?xml version="1.0" encoding="UTF-8"?><error><errormsg>{$errormsg}</errormsg></error> \ No newline at end of file diff --git a/admin/templates/en/footer.html b/admin/templates/en/footer.html new file mode 100644 index 0000000..3f5bc68 --- /dev/null +++ b/admin/templates/en/footer.html @@ -0,0 +1,28 @@ +{* + * Page footer template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +</body></html> \ No newline at end of file diff --git a/admin/templates/en/header.html b/admin/templates/en/header.html new file mode 100644 index 0000000..73089fd --- /dev/null +++ b/admin/templates/en/header.html @@ -0,0 +1,37 @@ +{* + * Page header template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> +<head><title>{$smarty.server.SERVER_NAME} - WebDAV administration{if $title} - {$title}{/if}</title></head> +<link rel="stylesheet" type="text/css" href="format.css" /> +<link rel="stylesheet" type="text/css" href="dynaform.css" /> +<script type="text/javascript" src="scripts/jquery.js"></script> +<script type="text/javascript" src="scripts/translate.js"></script> +<script type="text/javascript" src="scripts/i18n.php" ></script> +<body> \ No newline at end of file diff --git a/admin/templates/en/start.html b/admin/templates/en/start.html new file mode 100644 index 0000000..16b91a8 --- /dev/null +++ b/admin/templates/en/start.html @@ -0,0 +1,35 @@ +{* + * Start page template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +{include file="header.html"} +<h1>WebDAV Administration</h1> +<p>Welcome to the WebDAV administration at {$smarty.server.SERVER_NAME}. You have the following options.</p> +<ul> + <li><a href="directories.php">Directory management</a></li> + <li><a href="users.php">User management</a></li> +</ul> +{include file="footer.html"} \ No newline at end of file diff --git a/admin/templates/en/users.html b/admin/templates/en/users.html new file mode 100644 index 0000000..cdc0dc4 --- /dev/null +++ b/admin/templates/en/users.html @@ -0,0 +1,64 @@ +{* + * User page template. + * + * @author Jan Dittberner <jan@dittberner.info> + * @version $Id$ + * @license GPL + * @package DAVAdmin + * + * Copyright (c) 2007 Jan Dittberner + * + * This file is part of DAVAdmin. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + *} +{include file="header.html" title="User management"} +<script type="text/javascript" src="scripts/helper.js"></script> +<script type="text/javascript" src="scripts/autocomplete.js"></script> +<script type="text/javascript" src="scripts/users.js"></script> +<div id="content"> +<h1>WebDAV administration</h1> +<h2>User management</h2> +<table id="usertable"> + <thead> + <tr><th id="hcol-username">User name</th><th id="hcol-name">First name, last name</th><th /></tr> + </thead> + <tbody> +{foreach item=user from=$users} + <tr id="uid{$user.uid}"> + <td>{$user.username}</td> + <td>{$user.lastname}, {$user.firstname}</td> + <td><a id="edit{$user.uid}" class="editlink" href="#" title="Edit this user's data."><img class="actionicon" src="images/edit.png" width="16" height="16" alt="edit"/></a>{if !$user.loggedin}<a id="delete{$user.uid}" class="deletelink" href="#" title="Delete this user's data."><img class="actionicon" src="images/delete.png" width="16" height="16" alt="delete" /></a>{/if}</td> + </tr> +{/foreach} + </tbody> + <tfoot> + <tr><td colspan="3"><a id="newuser" class="newlink" href="#" title="Create new user"><img class="actionicon" src="images/newuser.png" width="16" height="16" alt="new" /></a></td></tr> + </tfoot> +</table> +<h3>Icon description</h3> +<dl> + <dt><img src="images/edit.png" width="16" height="16" alt="edit" /></dt> + <dd>Edit this user's data.</dd> + <dt><img src="images/delete.png" width="16" height="16" alt="delete" /></dt> + <dd>Delete this user's data.</dd> + <dt><img src="images/newuser.png" width="16" height="16" alt="new" /></dt> + <dd>Create new user</dd> +</dl> +<div id="footer"><a href="index.php">Back</a></div> +</div> +<div id="usereditor"></div> +{include file="footer.html"}