]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl Use /usr/share/bweb/tpl/{en,fr,es,..} instead of /usr/share/bweb/{fr,es,en,...
authorEric Bollengier <eric@eb.homelinux.org>
Sun, 23 Dec 2007 22:42:05 +0000 (22:42 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Sun, 23 Dec 2007 22:42:05 +0000 (22:42 +0000)
     Each user can have his own language

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6123 91ce42f0-d328-0410-95d8-f526ca767f89

30 files changed:
gui/bweb/INSTALL
gui/bweb/UPGRADE
gui/bweb/install_bweb
gui/bweb/lang/en/en.pl [deleted file]
gui/bweb/lang/en/tpl/begin.tpl
gui/bweb/lang/en/tpl/config_edit.tpl
gui/bweb/lang/en/tpl/config_view.tpl
gui/bweb/lang/en/tpl/display_user.tpl
gui/bweb/lang/es/tpl/ach_add.tpl
gui/bweb/lang/es/tpl/begin.tpl
gui/bweb/lang/es/tpl/change_location.tpl
gui/bweb/lang/es/tpl/client_list.tpl
gui/bweb/lang/es/tpl/config_edit.tpl
gui/bweb/lang/es/tpl/config_view.tpl
gui/bweb/lang/es/tpl/display_client_stats.tpl
gui/bweb/lang/fr/tpl/ach_add.tpl
gui/bweb/lang/fr/tpl/begin.tpl
gui/bweb/lang/fr/tpl/change_location.tpl
gui/bweb/lang/fr/tpl/config_edit.tpl
gui/bweb/lang/fr/tpl/config_view.tpl
gui/bweb/lib/Bweb.pm
gui/bweb/technotes-2.3
gui/bweb/tpl/begin.tpl
gui/bweb/tpl/config_edit.tpl
gui/bweb/tpl/config_view.tpl
gui/bweb/tpl/display_user.tpl
gui/debian/bweb.dirs
gui/debian/bweb.postinst
gui/debian/changelog
gui/debian/rules

index b09b04cd6a7b260438b4ad2d68c5374441064c22..587a413a413956c675d71172376f4e2668d7c561 100644 (file)
@@ -45,12 +45,12 @@ Bweb works well with 1.39 release or later.
  # get a config file
  mkdir -m 755 /etc/bacula
  chown root:bacula /etc/bacula
- echo '$VAR1 = { template_dir => "/usr/share/bweb/en/tpl" };' > /etc/bacula/bweb.conf
+ echo '$VAR1 = { template_dir => "/usr/share/bweb/tpl" };' > /etc/bacula/bweb.conf
  chown www-data /etc/bacula/bweb.conf
 
  # copy the bweb template file
- mkdir -p /usr/share/bweb/en/tpl
- install -m 644 -o root -g root  bweb/lang/en/tpl/*.tpl /usr/share/bweb/en/tpl
+ mkdir -p /usr/share/bweb/tpl/en
+ install -m 644 -o root -g root  bweb/lang/tpl/en/*.tpl /usr/share/bweb/tpl/en
 
  # copy the bweb graphics elements (bweb elements must reside in /bweb)
  mkdir /var/www/bweb
@@ -62,9 +62,10 @@ Bweb works well with 1.39 release or later.
            to read the bconsole.conf file!
            You can create an bconsole group for that.
 
-################ USE FRENCH VERSION ############################
+################ USE FRENCH/SPANISH VERSION ####################
 
-Simply use lang/fr/tpl/*.tpl files instead of lang/en/tpl/*.tpl
+Simply copy lang/fr/tpl/*.tpl files to .../tpl/fr/*.tpl and choose
+your language in the configuration panel.
 
 ################ INSTALL PERL LIBRARY ##########################
 
@@ -170,7 +171,8 @@ $VAR1 = bless( {
        }, 'Bweb::Autochanger' )
    },
   'password' => 'xxx',
-  'template_dir' => '/usr/share/bweb/en/tpl',
+  'template_dir' => '/usr/share/bweb/tpl',
+  'lang' => 'en',
   'dbi' => 'DBI:mysql:database=bacula',
   'error' => '',
   'debug' => 0,
@@ -263,7 +265,7 @@ chmod 700 /var/spool/bweb
 chown www-data /var/spool/bweb
 
 You have to remove "<!-- Remove this to activate bfileview" and "-->" from
-tpl/display_job_zoom.tpl.
+tpl/en/display_job_zoom.tpl.
 
 You MUST use brestore.pl -b to initialize the database, and
 you CAN use bfileview.pl mode=batch jobid=xxx where=/ to compute tree size.
index 3c01889dc4e2b1cf5ecb9ed23b79701aea79a2be..d75efde2d14b30de50f814d7b225a93b233edaf3 100644 (file)
@@ -3,10 +3,6 @@
 Upgrade from 2.2.Y to 3.0
 -------------------------
 
- - Change your template_dir from 
-     /path/to/bweb/tpl   ->   /path/to/bweb/en/tpl
-   (french and spanish translation doesn't change)
-
  - Add the Date::Calc package to your perl library
  - Add user, new job overview and bresto tables to your catalog
 
index 97daef2e39359982f03603ca0e61eb709e90efca..c3650fff12a7d2269fc32a7065764e1fad753d8d 100755 (executable)
@@ -90,7 +90,8 @@ cat > ${CONF_DIR}/bweb.conf <<END_OF_DATA
        }, 'Bweb::Autochanger' )
    },
   'password' => '${DB_PW}',
-  'template_dir' => '${SHARE_DIR}/bweb/en/tpl',
+  'template_dir' => '${SHARE_DIR}/bweb/tpl',
+  'lang' => 'en',
   'dbi' => 'DBI:mysql:database=bacula',
   'error' => '',
   'debug' => 0,
@@ -103,10 +104,12 @@ fi
 chown ${HTTP_USER} ${CONF_DIR}/bweb.conf
 
 # copy the bweb template file
-if [ ! -d ${SHARE_DIR}/bweb/en/tpl ] ; then
-   mkdir -p ${SHARE_DIR}/bweb/en/tpl
+if [ ! -d ${SHARE_DIR}/bweb/tpl/en ] ; then
+   mkdir -p ${SHARE_DIR}/bweb/tpl/{en,fr,es}
 fi
-install -m 644 -o root -g root  lang/en/tpl/*.tpl ${SHARE_DIR}/bweb/en/tpl
+install -m 644 -o root -g root  lang/tpl/en/*.tpl ${SHARE_DIR}/bweb/tpl/en
+install -m 644 -o root -g root  lang/tpl/es/*.tpl ${SHARE_DIR}/bweb/tpl/es
+install -m 644 -o root -g root  lang/tpl/fr/*.tpl ${SHARE_DIR}/bweb/tpl/fr
 
 # copy the bweb graphics elements (bweb elements must reside in /bweb)
 if [ ! -d ${WEB_DIR} ] ; then
diff --git a/gui/bweb/lang/en/en.pl b/gui/bweb/lang/en/en.pl
deleted file mode 100644 (file)
index b9d3408..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-s!__!!g;
-print;
index c097390ee495067864fa5fe3954d054ce344209d..9e4e77c69d279cec71ddf5bc4dc8b2710a62eaeb 100644 (file)
@@ -16,6 +16,9 @@
 if (navigator.appName == 'Konqueror') {
         alert("Sorry at this moment, bweb works only with mozilla.");
 }
+if ('Main' == ('_' + '_Main_' + '_')) {
+       document.write("<font color='red'>Update your configuration to use the correct tpl directory (You are using devel tpl)</font>");
+} 
 </script>
 
 <ul id="menu">
@@ -35,6 +38,7 @@ if (navigator.appName == 'Konqueror') {
      <li><a href="bweb.pl?action=running">Running Jobs</a>
      <li><a href="bweb.pl?action=next_job">Next Jobs</a> </li>
      <li><a href="bweb.pl?action=restore" title="Launch brestore">Restore</a> </li>
+     <li><a href="/bweb/bresto.html" title="Try bresto">Web Restore</a> </li>
    </ul>
  </li>
  <li style="padding: 0.25em 2em;">Media
index 43c994d36708a17f1d572b762b6a8b77251f5d3f..5fa029c7c863cab30d4c8c4cd797809c08a48d0c 100644 (file)
@@ -32,9 +32,6 @@
      <tr><td>graph_font:</td> 
          <td> <input class="formulaire" type='text' value='<TMPL_VAR graph_font>' size='64' name='graph_font'> 
          </td></tr>
-     <tr><td>template_dir:</td> 
-         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
-         </td></tr>
      <tr><td>fv_write_path:</td> 
          <td> <input class="formulaire" title="This folder must be writable by apache user and must be accessible on /bweb/fv" type='text' value='<TMPL_VAR fv_write_path>' size='64' name='fv_write_path'> 
      <tr><td>stat_job_table:</td> 
      <tr><td>wiki_url:</td> 
          <td> <input class="formulaire" title="Use a wiki for jobs documentation?" size='64' type='text' name='wiki_url' value='<TMPL_VAR wiki_url>'> 
          </td></tr>
+     <tr><td>template_dir:</td> 
+         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
+         </td></tr>
+     <tr><td>language:</td> 
+     <td> <select name="lang" id='lang' class="formulaire">
+           <option id='lang_en' value='en'>English</option>
+           <option id='lang_fr' value='fr'>French</option>
+           <option id='lang_es' value='es'>Spanish</option>
+          </select>
+     </td></tr>
      <tr><td>display_log_time:</td> 
          <td> <input class="formulaire" title="Display log timestamp" type='checkbox' name='display_log_time' <TMPL_IF display_log_time> checked='checked' value='on' </TMPL_IF> > 
          </td></tr>
@@ -60,3 +67,9 @@
     <button type="submit" class="bp" name='action' value='apply_conf'> <img src='/bweb/save.png' alt=''>Save</button>
    </form>
 </div>
+
+<script type="text/javascript" language='JavaScript'>
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
+</script>
\ No newline at end of file
index e570beb1a7f81cdd7c9cfb474ff11b510d6c6097..80b2e76cfdb45f4af4c160e3623c7af20f14e88d 100644 (file)
     <tr><td>email_media:</td> <td> <TMPL_VAR email_media> </td></tr>
     <tr>  <td><b>Bweb Configuration</b></td>  <td/></tr>
     <tr><td>config_file:</td> <td> <TMPL_VAR config_file> </td></tr>
-    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
     <tr><td title="/path/to/a/font.ttf">graph_font:</td> <td> <TMPL_VAR graph_font> </td></tr>
     <tr><td title="This folder must be writable by apache user and must be accessible on /bweb/fv">fv_write_path:</td> <td> <TMPL_VAR fv_write_path> </td></tr>
     <tr><td title="You can choose the Job table that you want to use to get statistics">stat_job_table:</td> <td> <TMPL_IF stat_job_table><TMPL_VAR stat_job_table><TMPL_ELSE>Job</TMPL_IF> </td></tr>
     <tr><td title="/path/to/bconsole -n -c /path/to/bconsole.conf">bconsole:</td> <td> <TMPL_VAR bconsole> </td></tr>
     <tr><td title="use a wiki for jobs documentation?">wiki_url:</td> <td> <TMPL_VAR wiki_url> </td></tr>
+    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
+    <tr><td title="Default language">language:</td> <td> <TMPL_VAR lang> </td></tr>
     <tr><td title="display timestamp in job log">display_log_time:</td> <td> <TMPL_VAR display_log_time> </td></tr>
     <tr><td title="user managment">security:</td> <td> <TMPL_VAR enable_security> </td></tr>
     <tr><td title="user filter">security acl:</td> <td> <TMPL_VAR enable_security_acl> </td></tr>
index a402d7d3272bb199d21b9ec9e92ac73d9e3a0cfe..7689de305039d747982dda8ce49e247771c47fe9 100644 (file)
  </tr><tr>
   <td>Comment:</td> <td> <input class="formulaire" type="text" name="comment" value='<TMPL_VAR comment>'> </td>
  </tr><tr>
-  <td>Lang:</td> 
+  <td>Language:</td> 
    <td> 
  <select name="lang" id='lang' class="formulaire">
-  <option value='en'>english</option>
-  <option value='fr'>french</option>
-  <option value='es'>spanish</option>
+  <option id='lang_en' value='en'>English</option>
+  <option id='lang_fr' value='fr'>French</option>
+  <option id='lang_es' value='es'>Spanish</option>
  </select>
    </td>
  </tr><tr>
@@ -114,4 +114,7 @@ function set_role(val)
    }
 
 }
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
 </script>
index 0da8b618ee0a70de1893f3717e91e862d4e1db8f..0086c3335b242d6460d325b349f002e03fc7aacb 100644 (file)
@@ -16,7 +16,7 @@
      </tr>
      <tr><td>Pre-comando :</td> 
          <td> <input class="formulaire" type='text' id='precmd' value='sudo'
-           title='can be "sudo" or "ssh storage\@storagehost"...' name='precmd'>
+           title='can be "sudo" or "ssh storage@storagehost"...' name='precmd'>
          </td>
      </tr>
      <tr><td>Comando mtx :</td> 
index 3ab9b02df606af93fceb65d17c209667ca3eb490..cf836acecf6a8d8a97a6a403e4f9404dd3dd811e 100644 (file)
@@ -16,6 +16,9 @@
 if (navigator.appName == 'Konqueror') {
         alert("Sorry at this moment, bweb works only with mozilla.");
 }
+if ('Principal' == ('_' + '_Main_' + '_')) {
+       document.write("<font color='red'>Update your configuration to use the correct tpl directory (You are using devel tpl)</font>");
+} 
 </script>
 
 <ul id="menu">
@@ -35,6 +38,7 @@ if (navigator.appName == 'Konqueror') {
      <li><a href="bweb.pl?action=running">Jobs en Ejecución</a>
      <li><a href="bweb.pl?action=next_job">Próximos Jobs</a> </li>
      <li><a href="bweb.pl?action=restore" title="Launch brestore">Recuperación</a> </li>
+     <li><a href="/bweb/bresto.html" title="Try bresto">Web Restore</a> </li>
    </ul>
  </li>
  <li style="padding: 0.25em 2em;">Medios
index 060e1938fe2c9319f0bd2f075263f5818f2d0aea..5f16145bb415b868b2c9edd657802e519d9a6a34 100644 (file)
 <tr>
 <td><b>Para: </b></td><td><input class='formulaire' name='email' value='<TMPL_VAR email>'></td>
 </tr><tr>
-<td><b>Asunto: </b></td><td><input class='formulaire' name='subject' value='__[BACULA] Move media to__ <TMPL_VAR newlocation>' size='80'></td>
+<td><b>Asunto: </b></td><td><input class='formulaire' name='subject' value='[BACULA] Mover medio a <TMPL_VAR newlocation>' size='80'></td>
 </tr><tr>
 <td></td>
 <td>
 <textarea name='content' class='formulaire' cols='80' rows='32'>
-Hi,
+Estimado,
 
-Could you move these media to <TMPL_VAR newlocation>
+Puede mover este medio a <TMPL_VAR newlocation>
 Media :
 <TMPL_LOOP media>
  - <TMPL_VAR VolumeName>  (<TMPL_VAR location>)
 </TMPL_LOOP>
 
-When it's finish, could you update media location?
-(you can use this link: <TMPL_VAR url>).
+Cuando finalice, puede actualizar la ubicacion del medio ?
+(puede usar este link : <TMPL_VAR url>).
 
-Thanks
+Gracias
 </textarea>
 </td></tr></table>
 <input class='formulaire' type='submit' name='action' value='move_email'>
index ee35e44202805df65f8d0e16476cba2b91aa0a44..9fbb31e6aa6ecccf858a483eec20312acc6c207e 100644 (file)
         </div>
         <div class="otherbox">
 <!--        <h1>Acciones</h1> -->      
-       <button type="submit" class="bp" name='action' value='job' title="Mostrar últimos jobs"> <img src='/bweb/zoom.png' alt=''>Last jobs</button>
-       <button type="submit" class="bp" name='action' value='dsp_cur_job' title='Show current job'> <img src='/bweb/zoom.png' alt=''>Current jobs</button>
+       <button type="submit" class="bp" name='action' value='job' title="Mostrar últimos jobs"> <img src='/bweb/zoom.png' alt=''>Últimos Jobs</button>
+       <button type="submit" class="bp" name='action' value='dsp_cur_job' title='Mostrar job actual'> <img src='/bweb/zoom.png' alt=''>Current jobs</button>
        <button type="submit" class="bp" name='action' value='client_status' title='Mostrar estado del cliente'> <img src='/bweb/zoom.png' alt=''>Estado </button>
-       <button type="submit" class="bp" name='action' value='client_stats' title='Estadísticas del Cliente'> <img src='/bweb/chart.png' alt=''>Stats </button>
+       <button type="submit" class="bp" name='action' value='client_stats' title='Estadísticas del Cliente'> <img src='/bweb/chart.png' alt=''>Estado </button>
         </div>
 
 </form>
index 0e09c4e59ca01f803dcd3c9fd9dcee8d51a0fa18..efc3064b13ab2b60da06fc6744100b87c2ca2d35 100644 (file)
@@ -32,9 +32,6 @@
      <tr><td>graph_font:</td> 
          <td> <input class="formulaire" type='text' value='<TMPL_VAR graph_font>' size='64' name='graph_font'> 
          </td></tr>
-     <tr><td>template_dir:</td> 
-         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
-         </td></tr>
      <tr><td>fv_write_path:</td> 
          <td> <input class="formulaire" title="Este directorio debe tener permisos de escritura para el usuario apache y debe ser accesible en /bweb/fv" type='text' value='<TMPL_VAR fv_write_path>' size='64' name='fv_write_path'> 
      <tr><td>stat_job_table:</td> 
      <tr><td>wiki_url:</td> 
          <td> <input class="formulaire" title="Use a wiki for jobs documentation?" size='64' type='text' name='wiki_url' value='<TMPL_VAR wiki_url>'> 
          </td></tr>
+     <tr><td>template_dir:</td> 
+         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
+         </td></tr>
+     <tr><td>language:</td> 
+     <td> <select name="lang" id='lang' class="formulaire">
+           <option id='lang_en' value='en'>English</option>
+           <option id='lang_fr' value='fr'>French</option>
+           <option id='lang_es' value='es'>Spanish</option>
+          </select>
+     </td></tr>
      <tr><td>display_log_time:</td> 
          <td> <input class="formulaire" title="Display log timestamp" type='checkbox' name='display_log_time' <TMPL_IF display_log_time> checked='checked' value='on' </TMPL_IF> > 
          </td></tr>
@@ -60,3 +67,9 @@
     <button type="submit" class="bp" name='action' value='apply_conf'> <img src='/bweb/save.png' alt=''>Save</button>
    </form>
 </div>
+
+<script type="text/javascript" language='JavaScript'>
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
+</script>
\ No newline at end of file
index 92f9666465329b7f2bfd8e4ec2124cc79a23c12a..25e3b2050737ede8602720313b511b2d5c823fa5 100644 (file)
     <tr><td>email_media:</td> <td> <TMPL_VAR email_media> </td></tr>
     <tr>  <td><b>Configuración Bweb</b></td>  <td/></tr>
     <tr><td>config_file:</td> <td> <TMPL_VAR config_file> </td></tr>
-    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
     <tr><td title="/path/to/a/font.ttf">graph_font:</td> <td> <TMPL_VAR graph_font> </td></tr>
     <tr><td title="Este directorio debe tener permisos de escritura para el usuario apache y debe ser accesible en /bweb/fv">fv_write_path:</td> <td> <TMPL_VAR fv_write_path> </td></tr>
     <tr><td title="You can choose the Job table that you want to use to get statistics">stat_job_table:</td> <td> <TMPL_IF stat_job_table><TMPL_VAR stat_job_table><TMPL_ELSE>Job</TMPL_IF> </td></tr>
     <tr><td title="/path/to/bconsole -n -c /path/to/bconsole.conf">bconsole:</td> <td> <TMPL_VAR bconsole> </td></tr>
     <tr><td title="use a wiki for jobs documentation?">wiki_url:</td> <td> <TMPL_VAR wiki_url> </td></tr>
+    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
+    <tr><td title="Default language">language:</td> <td> <TMPL_VAR lang> </td></tr>
     <tr><td title="display timestamp in job log">display_log_time:</td> <td> <TMPL_VAR display_log_time> </td></tr>
     <tr><td title="user managment">security:</td> <td> <TMPL_VAR enable_security> </td></tr>
     <tr><td title="user filter">security acl:</td> <td> <TMPL_VAR enable_security_acl> </td></tr>
index dc2a65cecc2dd745266f3f81172c315d4f43c7f6..f7d8dc2b4d732d2af240c617c0baaaf0a887dc09 100644 (file)
@@ -14,7 +14,7 @@
         <div class="otherbox">
        <h1>Actions</h1> 
        <button type="submit" class="bp" name='action' value='job' title='Mostrar últimos jobs'> <img src='/bweb/zoom.png' alt=''>View last jobs</button>
-       <button type="submit" class="bp" name='action' value='dsp_cur_job' title='Show current job'> <img src='/bweb/zoom.png' alt=''>View current jobs</button>
+       <button type="submit" class="bp" name='action' value='dsp_cur_job' title='Mostrar job actual'> <img src='/bweb/zoom.png' alt=''>View current jobs</button>
        <button type="submit" class="bp" name='action' value='client_stat' title='Estadísticas del Cliente'> <img src='/bweb/zoom.png' alt=''>Ver estadísticas</button>
         </div>
 -->
index d089349150033efd0b3b792dfb9a990cec103508..7465d012075b4fc91a9bb0ab3bcf73d1f281c86b 100644 (file)
@@ -16,7 +16,7 @@
      </tr>
      <tr><td>Pre-commande :</td> 
          <td> <input class="formulaire" type='text' id='precmd' value='sudo'
-           title='peut être "sudo" ou "ssh storage\@storagehost"...' name='precmd'>
+           title='peut être "sudo" ou "ssh storage@storagehost"...' name='precmd'>
          </td>
      </tr>
      <tr><td>commande mtx :</td> 
index 96cf8ae31bea92b10b6395477986e41fabcbe28d..0ed0935adf2cd665e09396e70201e7b8fe5650a9 100644 (file)
@@ -17,7 +17,7 @@ if (navigator.appName == 'Konqueror') {
         alert("Désolé, bweb fonctionne seulement avec mozilla.");
 }
 if ('Accueil' == ('_' + '_Main_' + '_')) {
-       alert("Update your configuration to use the correct tpl directory (something like /usr/share/bweb/en/tpl instead of /usr/share/bweb/tpl)");
+       document.write("<font color='red'>Update your configuration to use the correct tpl directory (You are using devel tpl)</font>");
 } 
 </script>
 
@@ -38,6 +38,7 @@ if ('Accueil' == ('_' + '_Main_' + '_')) {
      <li><a href="bweb.pl?action=running">Jobs en cours</a>
      <li><a href="bweb.pl?action=next_job">Prochains jobs</a> </li>
      <li><a href="bweb.pl?action=restore" title="Lancer brestore">Restauration</a> </li>
+     <li><a href="/bweb/bresto.html" title="Try bresto">Web Restore</a> </li>
    </ul>
  </li>
  <li style="padding: 0.25em 2em;">Médias
index 9a3b313049f594dfabc4657f8ae468f4c634041a..3f3c76f72760252304d77150143fa4332abf88dc 100644 (file)
@@ -11,7 +11,7 @@
 <tr>
 <td><b>To: </b></td><td><input class='formulaire' name='email' value='<TMPL_VAR email>'></td>
 </tr><tr>
-<td><b>Subject: </b></td><td><input class='formulaire' name='subject' value='__[BACULA] Move media to__ <TMPL_VAR newlocation>' size='80'></td>
+<td><b>Subject: </b></td><td><input class='formulaire' name='subject' value='[BACULA] Déplacer des médias vers <TMPL_VAR newlocation>' size='80'></td>
 </tr><tr>
 <td></td>
 <td>
index f8db73c91bab21b7c698d7fce2f027ed14e806ff..00fc68f512db1cc900beafa0017451670a135836 100644 (file)
@@ -32,9 +32,6 @@
      <tr><td>graph_font:</td> 
          <td> <input class="formulaire" type='text' value='<TMPL_VAR graph_font>' size='64' name='graph_font'> 
          </td></tr>
-     <tr><td>template_dir:</td> 
-         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
-         </td></tr>
      <tr><td>fv_write_path:</td> 
          <td> <input class="formulaire" title="Ce répertoire doit être accessible en ecriture pour apache et être sous /bweb/fv" type='text' value='<TMPL_VAR fv_write_path>' size='64' name='fv_write_path'> 
      <tr><td>stat_job_table:</td> 
      <tr><td>wiki_url:</td> 
          <td> <input class="formulaire" title="Utiliser un wiki pour documenter les jobs ?" size='64' type='text' name='wiki_url' value='<TMPL_VAR wiki_url>'> 
          </td></tr>
+     <tr><td>template_dir:</td> 
+         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
+         </td></tr>
+     <tr><td>language:</td> 
+     <td> <select name="lang" id='lang' class="formulaire">
+           <option id='lang_en' value='en'>English</option>
+           <option id='lang_fr' value='fr'>French</option>
+           <option id='lang_es' value='es'>Spanish</option>
+          </select>
+     </td></tr>
      <tr><td>display_log_time:</td> 
          <td> <input class="formulaire" title="Afficher l'heure des logs" type='checkbox' name='display_log_time' <TMPL_IF display_log_time> checked='checked' value='on' </TMPL_IF> > 
          </td></tr>
@@ -60,3 +67,9 @@
     <button type="submit" class="bp" name='action' value='apply_conf'> <img src='/bweb/save.png' alt=''>Sauver</button>
    </form>
 </div>
+
+<script type="text/javascript" language='JavaScript'>
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
+</script>
\ No newline at end of file
index 3c8813453f45f2de000fe1a0fd68b8ed06d85629..aeb058baa49a2a9ed985e84d5dcf7fbb20edaf31 100644 (file)
     <tr><td>email_media:</td> <td> <TMPL_VAR email_media> </td></tr>
     <tr>  <td><b>Configuration Bweb</b></td>  <td/></tr>
     <tr><td>config_file:</td> <td> <TMPL_VAR config_file> </td></tr>
-    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
     <tr><td title="/path/to/a/font.ttf">graph_font:</td> <td> <TMPL_VAR graph_font> </td></tr>
     <tr><td title="Ce répertoire doit être accessible en ecriture pour apache et être sous /bweb/fv">fv_write_path:</td> <td> <TMPL_VAR fv_write_path> </td></tr>
     <tr><td title="Vous pouvez utiliser une autre table que Job pour vos statistiques">stat_job_table:</td> <td> <TMPL_IF stat_job_table><TMPL_VAR stat_job_table><TMPL_ELSE>Job</TMPL_IF> </td></tr>
     <tr><td title="/path/to/bconsole -n -c /path/to/bconsole.conf">bconsole:</td> <td> <TMPL_VAR bconsole> </td></tr>
     <tr><td title="Utiliser un wiki pour documenter les jobs ?">wiki_url:</td> <td> <TMPL_VAR wiki_url> </td></tr>
+    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
+    <tr><td title="Default language">language:</td> <td> <TMPL_VAR lang> </td></tr>
     <tr><td title="display timestamp in job log">display_log_time:</td> <td> <TMPL_VAR display_log_time> </td></tr>
     <tr><td title="user managment">security:</td> <td> <TMPL_VAR enable_security> </td></tr>
     <tr><td title="user filter">security acl:</td> <td> <TMPL_VAR enable_security_acl> </td></tr>
index 4d0f42b374a8f3207ebfc0729c3442578b1af822..a7e44290985b03736c931f4b1296829b0571d754 100644 (file)
@@ -51,7 +51,7 @@ package Bweb::Gui;
 =cut
 
 use HTML::Template;
-our $template_dir='/usr/share/bweb/en/tpl';
+our $template_dir='/usr/share/bweb/tpl';
 
 =head1 FUNCTION
 
@@ -127,14 +127,15 @@ sub error
     this function is use to render all html codes. it takes an
     ref hash as arg in which all param are usable in template.
 
-    it will use global template_dir to search the template file.
+    it will use user template_dir then global template_dir 
+    to search the template file.
 
     hash keys are not sensitive. See HTML::Template for more
     explanations about the hash ref. (it's can be quiet hard to understand) 
 
 =head2 EXAMPLE
 
-    $ref = { name => 'me', age => 26 };
+    $ref = { name => 'me', age => 26 };
     $self->display($ref, "people.tpl");
 
 =cut
@@ -142,9 +143,11 @@ sub error
 sub display
 {
     my ($self, $hash, $tpl) = @_ ;
-    
+    my $dir = $self->{template_dir} || $template_dir;
+    my $lang = $self->{lang} || 'en';
     my $template = HTML::Template->new(filename => $tpl,
-                                      path =>[$template_dir],
+                                      path =>["$dir/$lang",
+                                              $dir],
                                       die_on_bad_params => 0,
                                       case_sensitive => 0);
 
@@ -210,6 +213,7 @@ our %k_re = ( dbi      => qr/^(dbi:(Pg|mysql):(?:\w+=[\w\d\.-]+;?)+)$/i,
              fv_write_path => qr!^([/\w\d\.-]*)$!,
              template_dir => qr!^([/\w\d\.-]+)$!,
              debug    => qr/^(on)?$/,
+             lang     => qr/^(\w\w)?$/,
              email_media => qr/^([\w\d\.-]+@[\d\w\.-]+)$/,
              graph_font  => qr!^([/\w\d\.-]+.ttf)$!,
              bconsole    => qr!^(.+)?$!,
@@ -1490,7 +1494,8 @@ sub new
 
     $self->{loginname} = CGI::remote_user();
     $self->{debug} = $self->{info}->{debug};
-    $Bweb::Gui::template_dir = $self->{info}->{template_dir};
+    $self->{lang} = $self->{info}->{lang};
+    $self->{template_dir} = $self->{info}->{template_dir};
 
     return $self;
 }
@@ -1498,6 +1503,9 @@ sub new
 sub display_begin
 {
     my ($self) = @_;
+    if ($self->{info}->{enable_security}) {
+       $self->get_roles();     # get lang
+    }
     $self->display($self->{info}, "begin.tpl");
 }
 
@@ -1761,6 +1769,13 @@ sub get_form
        }
     }
 
+    if ($what{lang}) {
+       my $lang = CGI::param('lang') || 'en';
+       if ($lang =~ /^(\w\w)$/) {
+           $ret{lang} = $1;
+       }
+    }
+
     if ($what{db_clients}) {
        my $filter='';
        if ($what{filter}) {
@@ -2907,7 +2922,7 @@ sub get_roles
     my $u = $self->dbh_quote($self->{loginname});
            
     my $query = "
- SELECT use_acl, rolename
+ SELECT use_acl, rolename, tpl
   FROM bweb_user 
        JOIN bweb_role_member USING (userid)
        JOIN bweb_role USING (roleid)
@@ -2923,8 +2938,10 @@ sub get_roles
     foreach my $r (@$rows) {
        $self->{security}->{$r->[1]}=1;
     }
-
     $self->{security}->{use_acl} = $rows->[0]->[0];
+    if ($rows->[0]->[2] =~ /^(\w\w)$/) {
+       $self->{lang} = $1;
+    }
     return 1;
 }
 
@@ -3126,7 +3143,8 @@ sub users_add
     $self->can_do("r_user_mgnt");
 
     # we don't quote username directly to check that it is conform
-    my $arg = $self->get_form(qw/username qpasswd qcomment jrolenames qcreate qcopy_username jclient_groups/) ;
+    my $arg = $self->get_form(qw/username qpasswd qcomment jrolenames qcreate 
+                                lang qcopy_username jclient_groups/) ;
 
     if (not $arg->{qcreate}) {
         $arg = $self->get_form(qw/db_roles db_usernames db_client_groups/);
@@ -3150,13 +3168,14 @@ sub users_add
     ($self->dbh_do("
   UPDATE bweb_user 
      SET passwd=$arg->{qpasswd}, comment=$arg->{qcomment}, 
-         use_acl=$arg->{use_acl}
+         use_acl=$arg->{use_acl}, tpl='$arg->{lang}'
    WHERE username = $u") 
 #     and (! $self->dbh_is_mysql() )
      ) and
     $self->dbh_do("
-  INSERT INTO bweb_user (username, passwd, use_acl, comment) 
-        VALUES ($u, $arg->{qpasswd}, $arg->{use_acl}, $arg->{qcomment})");
+  INSERT INTO bweb_user (username, passwd, use_acl, comment, tpl) 
+        VALUES ($u, $arg->{qpasswd}, $arg->{use_acl}, 
+                $arg->{qcomment}, '$arg->{lang}')");
 
     $self->{dbh}->begin_work();
     {
@@ -3209,7 +3228,7 @@ sub display_user
     my $user = $self->dbh_quote($arg->{username});
 
     my $userp = $self->dbh_selectrow_hashref("
-   SELECT username, passwd, comment, use_acl
+   SELECT username, passwd, comment, use_acl, tpl
      FROM bweb_user
     WHERE username = $user
 ");
@@ -3244,6 +3263,7 @@ ORDER BY rolename
         username => $userp->{username},
         comment => $userp->{comment},
         passwd => $userp->{passwd},
+       lang => $userp->{lang},
        use_acl => $userp->{use_acl},
        db_client_groups => $arg->{db_client_groups},
        client_group => [ values %$scg ],
index 3c1cafb68a4d64100e44c5782a79f2089674df9f..f27be95817bfca1f3047ff43162bb9230ff96a60 100644 (file)
@@ -1,4 +1,5 @@
 23Dec07
+ebl  Each user can have a different template dir (lang).
 ebl  WARNING: now, bweb/tpl contains main tpl files
      for english version, you have to use bweb/lang/en/tpl
 
index 050a3a5c21389028112d83696440f9884587e49e..eb0f7fd85e0f35e1ffd303f81768449da0911187 100644 (file)
@@ -17,7 +17,7 @@ if (navigator.appName == 'Konqueror') {
         alert("__Sorry at this moment, bweb works only with mozilla.__");
 }
 if ('__Main__' == ('_' + '_Main_' + '_')) {
-       document.write("<font color='red'>__Update your configuration to use the correct tpl directory (something like /usr/share/bweb/en/tpl instead of /usr/share/bweb/tpl)__</font>");
+       document.write("<font color='red'>__Update your configuration to use the correct tpl directory (You are using devel tpl)__</font>");
 } 
 </script>
 
index ffd1aadce750bdd4e8edf14ae587db4026a132ec..38a940ea158c2dc048a91080cc074938ee0bd342 100644 (file)
@@ -32,9 +32,6 @@
      <tr><td>graph_font:</td> 
          <td> <input class="formulaire" type='text' value='<TMPL_VAR graph_font>' size='64' name='graph_font'> 
          </td></tr>
-     <tr><td>template_dir:</td> 
-         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
-         </td></tr>
      <tr><td>fv_write_path:</td> 
          <td> <input class="formulaire" title="__This folder must be writable by apache user and must be accessible on /bweb/fv__" type='text' value='<TMPL_VAR fv_write_path>' size='64' name='fv_write_path'> 
      <tr><td>stat_job_table:</td> 
      <tr><td>wiki_url:</td> 
          <td> <input class="formulaire" title="__Use a wiki for jobs documentation?__" size='64' type='text' name='wiki_url' value='<TMPL_VAR wiki_url>'> 
          </td></tr>
+     <tr><td>template_dir:</td> 
+         <td> <input class="formulaire" type='text' value='<TMPL_VAR template_dir>' size='64' name='template_dir'> 
+         </td></tr>
+     <tr><td>__language:__</td> 
+     <td> <select name="lang" id='lang' class="formulaire">
+           <option id='lang_en' value='en'>__English__</option>
+           <option id='lang_fr' value='fr'>__French__</option>
+           <option id='lang_es' value='es'>__Spanish__</option>
+          </select>
+     </td></tr>
      <tr><td>display_log_time:</td> 
          <td> <input class="formulaire" title="__Display log timestamp__" type='checkbox' name='display_log_time' <TMPL_IF display_log_time> checked='checked' value='on' </TMPL_IF> > 
          </td></tr>
@@ -60,3 +67,9 @@
     <button type="submit" class="bp" name='action' value='apply_conf'> <img src='/bweb/save.png' alt=''>__Save__</button>
    </form>
 </div>
+
+<script type="text/javascript" language='JavaScript'>
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
+</script>
\ No newline at end of file
index dcfe3afc98dd47b45e60547549847eadae2b37cd..b784aa75d29f6b9802a4aa5aacd36cf010b5ed83 100644 (file)
     <tr><td>email_media:</td> <td> <TMPL_VAR email_media> </td></tr>
     <tr>  <td><b>__Bweb Configuration__</b></td>  <td/></tr>
     <tr><td>config_file:</td> <td> <TMPL_VAR config_file> </td></tr>
-    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
     <tr><td title="/path/to/a/font.ttf">graph_font:</td> <td> <TMPL_VAR graph_font> </td></tr>
     <tr><td title="__This folder must be writable by apache user and must be accessible on /bweb/fv__">fv_write_path:</td> <td> <TMPL_VAR fv_write_path> </td></tr>
     <tr><td title="__You can choose the Job table that you want to use to get statistics__">stat_job_table:</td> <td> <TMPL_IF stat_job_table><TMPL_VAR stat_job_table><TMPL_ELSE>Job</TMPL_IF> </td></tr>
     <tr><td title="/path/to/bconsole -n -c /path/to/bconsole.conf">bconsole:</td> <td> <TMPL_VAR bconsole> </td></tr>
     <tr><td title="__use a wiki for jobs documentation?__">wiki_url:</td> <td> <TMPL_VAR wiki_url> </td></tr>
+    <tr><td title="/path/to/your/template_dir">template_dir:</td> <td> <TMPL_VAR template_dir> </td></tr>
+    <tr><td title="__Default language__">__language:__</td> <td> <TMPL_VAR lang> </td></tr>
     <tr><td title="__display timestamp in job log__">display_log_time:</td> <td> <TMPL_VAR display_log_time> </td></tr>
     <tr><td title="__user managment__">__security:__</td> <td> <TMPL_VAR enable_security> </td></tr>
     <tr><td title="__user filter__">__security acl:__</td> <td> <TMPL_VAR enable_security_acl> </td></tr>
index 626b97d0b950c3a2721d951e2a444f07b18a614b..a10ec9dee30416806a7865df3d254cf13c0ec287 100644 (file)
  </tr><tr>
   <td>__Comment:__</td> <td> <input class="formulaire" type="text" name="comment" value='<TMPL_VAR comment>'> </td>
  </tr><tr>
-  <td>__Lang:__</td> 
+  <td>__Language:__</td> 
    <td> 
  <select name="lang" id='lang' class="formulaire">
-  <option value='en'>english</option>
-  <option value='fr'>french</option>
-  <option value='es'>spanish</option>
+  <option id='lang_en' value='en'>__English__</option>
+  <option id='lang_fr' value='fr'>__French__</option>
+  <option id='lang_es' value='es'>__Spanish__</option>
  </select>
    </td>
  </tr><tr>
@@ -114,4 +114,7 @@ function set_role(val)
    }
 
 }
+<TMPL_IF lang>
+  document.getElementById('lang_<TMPL_VAR lang>').selected = true;
+</TMPL_IF>
 </script>
index ed212beadbc0afd7de14962f9c5e181de09f9029..50a1225596c42fa4079ec2b0645e878f94980314 100644 (file)
@@ -4,8 +4,9 @@ usr/lib/cgi-bin/bweb
 usr/share/doc/bweb
 usr/share/bweb
 usr/share/bweb/tpl
-usr/share/bweb/fr/tpl
-usr/share/bweb/es/tpl
+usr/share/bweb/tpl/en
+usr/share/bweb/tpl/fr
+usr/share/bweb/tpl/es
 usr/share/bweb/html
 usr/share/perl5
 var/spool/bweb
index 381d083309dedfb084a229ef0c30de2076f6df0e..a62117bf14dae3c25718ceba7164640be2dd88ad 100644 (file)
@@ -42,8 +42,3 @@ if [ "$1" = "configure" ] ; then
  
 fi
 
-if [ "$1" = "upgrade" ] ; then
- echo "If you are using postgresql, you have to load /usr/share/bweb/upgrade-2.0_2.2_postgresql.sql in your database"
- echo "postgres@localhost:~$ psql -U bacula bacula < /usr/share/bweb/upgrade-2.0_2.2_postgresql.sql"
- echo
-fi
index 1fd1b6091e8d7f391625f6f1e0686be128543904..c98a05ad7617df7cb2505ee6ff22b0928ea947f9 100644 (file)
@@ -1,4 +1,8 @@
 bweb (2.2.7-1) stable; urgency=low
+  * Move /usr/share/bweb/fr/tpl to /usr/share/bweb/tpl/fr
+  * Move /usr/share/bweb/es/tpl to /usr/share/bweb/tpl/es
+  * Move default /usr/share/bweb/tpl to /usr/share/bweb/tpl/en
+  * Each user can have his own language
   * Add new balloon view
   * Add new btime module
   * Add a new scheduled view, you MUST have Date::Calc module
index fc7afc372fe5b9e6b893bb8b54a450670de8fa30..6d81b8541493139bc3735b77cb502b3b19194c36 100755 (executable)
@@ -60,9 +60,9 @@ install-indep:
        install -m 755 bweb/cgi/bresto.pl debian/bweb/usr/lib/cgi-bin/bweb
        install -m 755 bweb/cgi/bfileview.pl debian/bweb/usr/lib/cgi-bin/bweb
        install -m 755 bweb/cgi/bconsole.pl debian/bweb/usr/lib/cgi-bin/bweb
-       install -m 644 bweb/tpl/*.tpl debian/bweb/usr/share/bweb/tpl 
-       install -m 644 bweb/lang/fr/tpl/*.tpl debian/bweb/usr/share/bweb/fr/tpl 
-       install -m 644 bweb/lang/es/tpl/*.tpl debian/bweb/usr/share/bweb/es/tpl 
+       install -m 644 bweb/lang/en/tpl/*.tpl debian/bweb/usr/share/bweb/tpl/en 
+       install -m 644 bweb/lang/fr/tpl/*.tpl debian/bweb/usr/share/bweb/tpl/fr 
+       install -m 644 bweb/lang/es/tpl/*.tpl debian/bweb/usr/share/bweb/tpl/es 
        install -m 644 bweb/html/*.js debian/bweb/usr/share/bweb/html
        install -m 644 bweb/html/*.css debian/bweb/usr/share/bweb/html
        install -m 644 bweb/html/*.png debian/bweb/usr/share/bweb/html