Changeset 222
- Timestamp:
- 02/21/06 23:52:15 (7 years ago)
- Location:
- bureau
- Files:
-
- 6 added
- 46 edited
-
admin/adm_doadd.php (modified) (2 diffs)
-
admin/adm_dodel.php (modified) (3 diffs)
-
admin/adm_doedit.php (modified) (2 diffs)
-
admin/adm_edit.php (modified) (7 diffs)
-
admin/adm_list.php (modified) (7 diffs)
-
admin/adm_list2.php (added)
-
admin/adm_login.php (modified) (2 diffs)
-
admin/adm_quotadoedit.php (modified) (4 diffs)
-
admin/adm_quotaedit.php (modified) (2 diffs)
-
admin/bro_main.php (modified) (3 diffs)
-
admin/index.php (modified) (2 diffs)
-
admin/main.php (modified) (2 diffs)
-
admin/mem_cm.php (modified) (2 diffs)
-
admin/mem_cm2.php (modified) (2 diffs)
-
admin/menu.php (modified) (2 diffs)
-
admin/menu_adm.php (modified) (2 diffs)
-
admin/menu_aide.php (modified) (2 diffs)
-
admin/menu_mail.php (modified) (2 diffs)
-
admin/menulist.txt (modified) (1 diff)
-
admin/plugins/procmail_builder/m_procmail.php (modified) (12 diffs)
-
admin/sql_add.php (modified) (2 diffs)
-
class/config.php (modified) (2 diffs)
-
class/config_nochk.php (added)
-
class/config_real.php (added)
-
class/cryptall.php (added)
-
class/export_account.php (added)
-
class/functions.php (modified) (3 diffs)
-
class/m_admin.php (modified) (14 diffs)
-
class/m_bro.php (modified) (19 diffs)
-
class/m_dom.php (modified) (23 diffs)
-
class/m_err.php (modified) (2 diffs)
-
class/m_ftp.php (modified) (18 diffs)
-
class/m_hta.php (modified) (6 diffs)
-
class/m_mail.php (modified) (27 diffs)
-
class/m_mem.php (modified) (25 diffs)
-
class/m_mysql.php (modified) (21 diffs)
-
class/m_quota.php (modified) (13 diffs)
-
class/m_stats.php (modified) (26 diffs)
-
class/reset_stats_conf.php (added)
-
locales/en_US/LC_MESSAGES/mysql.po (modified) (2 diffs)
-
locales/es_ES/LC_MESSAGES/admin.po (modified) (10 diffs)
-
locales/es_ES/LC_MESSAGES/bro.po (modified) (6 diffs)
-
locales/es_ES/LC_MESSAGES/dom.po (modified) (5 diffs)
-
locales/es_ES/LC_MESSAGES/err.po (modified) (1 diff)
-
locales/es_ES/LC_MESSAGES/ftp.po (modified) (3 diffs)
-
locales/es_ES/LC_MESSAGES/hta.po (modified) (4 diffs)
-
locales/es_ES/LC_MESSAGES/mail.po (modified) (6 diffs)
-
locales/es_ES/LC_MESSAGES/main.po (modified) (4 diffs)
-
locales/es_ES/LC_MESSAGES/mem.po (modified) (1 diff)
-
locales/es_ES/LC_MESSAGES/mysql.po (modified) (5 diffs)
-
locales/es_ES/LC_MESSAGES/stats.po (modified) (6 diffs)
-
locales/fr_FR/LC_MESSAGES/mysql.po (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
bureau/admin/adm_doadd.php
r1 r222 1 1 <?php 2 2 /* 3 $Id: adm_doadd.php,v 1. 1.1.1 2003/03/26 17:41:29 rootExp $3 $Id: adm_doadd.php,v 1.2 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 42 42 43 43 // Add here all what you want when an account is created ! 44 $ff=new m_ftp($u); 45 $ff->add_ftp($login,"",$pass,"/"); 46 44 $mem->su($u); 45 $ftp->add_ftp($login,"",$pass,"/"); 46 $mem->unsu(); 47 47 48 $error=_("The new member has been successfully created"); 48 49 -
bureau/admin/adm_dodel.php
r1 r222 1 1 <?php 2 2 /* 3 $Id: adm_dodel.php,v 1. 1.1.1 2003/03/26 17:41:29 rootExp $3 $Id: adm_dodel.php,v 1.2 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 35 35 } 36 36 37 37 38 if (!is_array($d)) { 38 39 $d[]=$d; … … 41 42 reset($d); 42 43 while (list($key,$val)=each($d)) { 44 if (!$admin->checkcreator($val)) { 45 __("This page is restricted to authorized staff"); 46 exit(); 47 } 43 48 if (!($u=$admin->get($val)) || !$admin->del_mem($val)) { 44 49 $error.=sprintf(_("Member '%s' does not exist"),$val)."<br />"; -
bureau/admin/adm_doedit.php
r164 r222 1 1 <?php 2 2 /* 3 $Id: adm_doedit.php,v 1. 2 2003/10/22 08:18:53benjamin Exp $3 $Id: adm_doedit.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 30 30 require_once("../class/config.php"); 31 31 32 if ( $back) {33 include("adm_list.php");34 exit ;32 if (!$admin->enabled) { 33 __("This page is restricted to authorized staff"); 34 exit(); 35 35 } 36 if (!$admin-> enabled) {36 if (!$admin->checkcreator($uid)) { 37 37 __("This page is restricted to authorized staff"); 38 38 exit(); -
bureau/admin/adm_edit.php
r164 r222 1 1 <?php 2 2 /* 3 $Id: adm_edit.php,v 1. 7 2003/10/22 08:18:53benjamin Exp $3 $Id: adm_edit.php,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 34 34 exit(); 35 35 } 36 if (!$admin->checkcreator($uid)) { 37 __("This page is restricted to authorized staff"); 38 exit(); 39 } 36 40 37 41 if (!$r=$admin->get($uid)) { … … 61 65 <?php 62 66 echo "<option"; 63 if ( !$r["enabled"]) echo " selected=\"selected\"";67 if ($r["enabled"]=="0") echo " selected=\"selected\""; 64 68 echo " value=\"0\">"._("No")."</option>"; 65 69 echo "<option"; 66 if ($r["enabled"] ) echo " selected=\"selected\"";70 if ($r["enabled"]=="1") echo " selected=\"selected\""; 67 71 echo " value=\"1\">"._("Yes")."</option>"; 68 72 ?></select></td> … … 71 75 <tr> 72 76 <th><label for="pass"><?php __("Password"); ?></label></th> 73 <td><input type="text" class="int" id="pass" name="pass" value=" <?php echo $r["pass"]; ?>" size="20" maxlength="64" /></td>77 <td><input type="text" class="int" id="pass" name="pass" value="" size="20" maxlength="64" /></td> 74 78 </tr> 75 79 <tr> … … 94 98 </tr> 95 99 <tr> 96 <td colspan="2" align="center"><input type="submit" class="inb" name="submit" value="<?php __("Edit this account"); ?>" /> <input type="submit" class="inb" name="back" value="<?php __("Back to the member list"); ?>" />100 <td colspan="2" align="center"><input type="submit" class="inb" name="submit" value="<?php __("Edit this account"); ?>" /> 97 101 </td> 98 102 </tr> … … 101 105 102 106 <p> 103 <?php 107 <?php 108 if ($mem->user[uid]==2000) { // PATCHBEN only root can change su/nosu :) 104 109 if ($r["su"]) { 105 110 ?> … … 118 123 119 124 <p><?php 125 } 120 126 $c=$admin->get($r["creator"]); 121 127 printf(_("Account created by %s"),$c["login"]); -
bureau/admin/adm_list.php
r108 r222 1 1 <?php 2 2 /* 3 $Id: adm_list.php,v 1. 5 2003/06/10 12:14:09 rootExp $3 $Id: adm_list.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 51 51 <p> 52 52 <?php __("Here is the list of hosted members"); ?> 53 54 <!-- TODO A supprimer en mode "on ne voit que ses comptes" + supprimer le fichier list2 --> 55 <a href="adm_list2.php">Liste de tous les comptes</a> 53 56 </p> 54 57 <p> 55 58 <a href="adm_add.php"><?php __("Create a new member"); ?></a> 56 59 </p> 60 <?php 61 if (!is_array($r)) { 62 echo "<p class=\"error\">"._("No account defined for now")."</p>"; 63 } else { 64 ?> 65 57 66 <form method="post" action="adm_dodel.php"> 58 67 <?php … … 97 106 if ($mem->user["admlist"]==1) { // Short mode TODO : make 3 columns instead of 2 + XHTML compliance instead of 1px img trick ;) 98 107 ?> 108 109 99 110 <table cellspacing="0" cellpadding="0"> 100 111 <tr> … … 102 113 <th width="1" bgcolor="black"><img src="icon/pix.gif" width="1" height="1" border="0" alt=""></th> 103 114 <th colspan="2"> </th><th><?php __("Username"); ?></th> 115 <th width="1" bgcolor="black"><img src="icon/pix.gif" width="1" height="1" border="0" alt=""></th> 116 <th colspan="2"> </th><th><?php __("Username"); ?></th> 104 117 </tr> 105 118 <?php 106 119 reset($r); 107 120 $col=1; 108 for($z=0;$z<round(count($r)/ 2);$z++)121 for($z=0;$z<round(count($r)/3);$z++) 109 122 { 110 123 $col=3-$col; … … 131 144 <td width="1" bgcolor="black"></td> 132 145 <?php 133 $val=$r[$z+round(count($r)/2)]; 134 if (is_array($val)) { 146 $val=$r[$z+round(count($r)/3)]; 135 147 ?> 136 148 <?php if ($val["su"]) { ?> … … 151 163 </td> 152 164 <td <?php if ($val["su"]) echo "style=\"color: red\""; ?>><?php echo $val["login"] ?></td> 165 <td width="1" bgcolor="black"></td> 166 <?php 167 $val=$r[$z+round(2*count($r)/3)+1]; 168 if (is_array($val)) { 169 ?> 170 <?php if ($val["su"]) { ?> 171 <td> </td> 172 <?php } else { ?> 173 <td align="center"><input type="checkbox" class="inc" name="d[]" value="<?php echo $val["uid"]; ?>"></td> 174 <?php } ?> 175 <td align="center"> 176 <a href="adm_edit.php?uid=<?php echo $val["uid"] ?>"><?php __("E"); ?></a> 177 <a href="adm_quotaedit.php?uid=<?php echo $val["uid"] ?>"><?php __("Q"); ?></a> 178 <?php 179 if (!$val["enabled"]) 180 echo "<img src=\"icon/encrypted.png\" width=\"16\" height=\"16\" alt=\""._("Locked Account")."\">"; 181 else { 182 ?> 183 <a href="adm_login.php?id=<?php echo $val["uid"];?>" target="_parent"><?php __("C"); ?></a> 184 <?php } ?> 185 </td> 186 <td <?php if ($val["su"]) echo "style=\"color: red\""; ?>><?php echo $val["login"] ?></td> 153 187 </tr> 154 188 <?php … … 162 196 </table> 163 197 </form> 164 198 <?php } ?> 165 199 </body> 166 200 </html> -
bureau/admin/adm_login.php
r108 r222 1 1 <?php 2 2 /* 3 $Id: adm_login.php,v 1. 2 2003/06/10 12:14:09 rootExp $3 $Id: adm_login.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 34 34 exit(); 35 35 } 36 /* 37 if (!$admin->checkcreator($uid)) { 38 __("This page is restricted to authorized staff"); 39 exit(); 40 } 41 */ 36 42 37 43 if (!$r=$admin->get($id)) { 38 44 $error=$err->errstr(); 39 45 } else { 40 $username=$r["login"]; 41 $password=$r["pass"]; 42 include("login.php"); 46 47 if (!$mem->setid($id)) { 48 $error=$err->errstr(); 49 include("index.php"); 43 50 exit(); 51 } 52 53 ?> 54 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 55 <html> 56 <head> 57 <title><?php __("AlternC Desktop"); ?></title> 58 <link rel="stylesheet" href="styles/style.css" type="text/css" /> 59 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 60 </head> 61 <frameset cols="225px,*"> 62 <frame src="menu.php" name="left" /> 63 <frame src="main.php" name="right" /> 64 <noframes> 65 <body> 66 <p> 67 Votre navigateur doit supporter les cadres.<br /> 68 Your browser must support frames 69 </p> 70 </body> 71 </noframes> 72 </frameset> 73 </html> 74 <?php 75 exit(); 44 76 } 45 77 include("head.php"); -
bureau/admin/adm_quotadoedit.php
r1 r222 1 1 <?php 2 2 /* 3 $Id: adm_quotadoedit.php,v 1. 1.1.1 2003/03/26 17:41:29 rootExp $3 $Id: adm_quotadoedit.php,v 1.2 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 36 36 37 37 if ($submit) { 38 39 $mem->su($uid); 38 40 $qlist=$quota->qlist(); 39 41 reset($qlist); … … 41 43 while (list($key,$val)=each($qlist)) { 42 44 $var="q_".$key; 43 $quota->setquota($key,$$var,0 ,$uid);45 $quota->setquota($key,$$var,0); 44 46 } 47 $mem->unsu(); 45 48 $error=_("The quotas has been successfully edited"); 46 49 include("adm_list.php"); … … 50 53 51 54 if ($recalc) { 52 $quota->checkquota($uid); 55 $mem->su($uid); 56 $quota->checkquota(); 57 $mem->unsu(); 53 58 include("adm_quotaedit.php"); 54 59 } -
bureau/admin/adm_quotaedit.php
r108 r222 1 1 <?php 2 2 /* 3 $Id: adm_quotaedit.php,v 1. 2 2003/06/10 12:14:09 rootExp $3 $Id: adm_quotaedit.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 39 39 } 40 40 41 if (!$r=$quota->getquota("",$uid)) { 41 $mem->su($uid); 42 if (!$r=$quota->getquota()) { 42 43 $error=$err->errstr(); 43 44 } 45 $mem->unsu(); 44 46 include("head.php"); 45 47 ?> -
bureau/admin/bro_main.php
r185 r222 1 1 <?php 2 2 /* 3 $Id: bro_main.php,v 1. 9 2004/04/30 21:05:58 anonymousExp $3 $Id: bro_main.php,v 1.10 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 173 173 echo "\">".$c[$i]["name"]."</a></td>\n"; 174 174 echo " <td>".format_size($c[$i]["size"])."</td>"; 175 #echo "<td>".format_date('%3$d-%2$d-%1$d %4$d:%5$d',date("Y-m-d H:i:s",$c[$i]["date"]))."<br /></td>"; 176 echo "<td>".date("d/m/Y H:i",$c[$i]["date"])."<br /></td>"; 177 175 echo "<td>".format_date('%3$d-%2$d-%1$d %4$d:%5$d',date("Y-m-d H:i:s",$c[$i]["date"]))."<br /></td>"; 178 176 if ($p["showtype"]) { 179 177 echo "<td>".$bro->mime($c[$i]["name"])."</td>"; … … 195 193 echo "\">".$c[$i]["name"]."/</a></b></td>\n"; 196 194 echo " <td>".format_size($c[$i]["size"])."</td>"; 197 #echo "<td>".format_date('%3$d-%2$d-%1$d %4$d:%5$d',date("Y-m-d H:i:s",$c[$i]["date"]))."<br /></td>"; 198 echo "<td>".date("d/m/Y H:i",$c[$i]["date"])."<br /></td>"; 199 195 echo "<td>".format_date('%3$d-%2$d-%1$d %4$d:%5$d',date("Y-m-d h:i:s",$c[$i]["date"]))."<br /></td>"; 200 196 if ($p["showtype"]) { 201 197 echo "<td>Dossier</td>"; -
bureau/admin/index.php
r135 r222 1 1 <?php 2 2 /* 3 $Id: index.php,v 1. 8 2003/08/13 23:52:24 rootExp $3 $Id: index.php,v 1.9 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 28 28 ---------------------------------------------------------------------- 29 29 */ 30 $nocheck="yes"; 31 require_once("../class/config .php");30 31 require_once("../class/config_nochk.php"); 32 32 33 33 if (!$mem->del_session()) { -
bureau/admin/main.php
r101 r222 1 1 <?php 2 2 /* 3 $Id: main.php,v 1. 2 2003/06/10 06:42:25 rootExp $3 $Id: main.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 47 47 $mem->resetlast(); 48 48 49 /* 50 <h3> 51 Le bureau AlternC de ce serveur est en travaux actuellement.<br /> 52 Il se peut que certaines parties du bureau soient inaccessibles ponctuellement.<br /> 53 Si une partie du bureau ne fonctionne pas pendant longtemps, n'hésitez pas, contactez le 54 mainteneur par mail : <a href="mailto:root@heberge.info">root@heberge.info</a> 55 </h3> 56 */ 49 57 ?> 50 58 </body> -
bureau/admin/mem_cm.php
r107 r222 1 1 <?php 2 2 /* 3 $Id: mem_cm.php,v 1. 3 2003/06/10 11:18:27 rootExp $3 $Id: mem_cm.php,v 1.4 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 28 28 ---------------------------------------------------------------------- 29 29 */ 30 $nocheck="yes"; 31 require_once("../class/config .php");30 31 require_once("../class/config_nochk.php"); 32 32 33 33 include("head.php"); -
bureau/admin/mem_cm2.php
r107 r222 1 1 <?php 2 2 /* 3 $Id: mem_cm2.php,v 1. 3 2003/06/10 11:18:27 rootExp $3 $Id: mem_cm2.php,v 1.4 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 28 28 ---------------------------------------------------------------------- 29 29 */ 30 $nocheck="yes"; 31 require_once("../class/config .php");30 31 require_once("../class/config_nochk.php"); 32 32 33 33 if (!$mem->ChangeMail2($cookie,$cle,$cuid)) { -
bureau/admin/menu.php
r135 r222 1 1 <?php 2 2 /* 3 $Id: menu.php,v 1. 4 2003/08/13 23:52:24 rootExp $3 $Id: menu.php,v 1.5 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 54 54 55 55 <p> <a href="http://alternc.org"><img src="alternc.png" width="109" height="62" border="0" alt="AlternC" /></a></p> 56 56 57 </body> 57 58 </html> -
bureau/admin/menu_adm.php
r101 r222 1 1 <?php 2 2 /* 3 $Id: menu_adm.php,v 1. 2 2003/06/10 06:42:25 rootExp $3 $Id: menu_adm.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 32 32 /* ######### SUPER-ADMIN ########## */ 33 33 /* ############################# */ 34 if ($mem->checkRight())35 { ?>36 34 37 38 <tr><td nowrap="nowrap"> 39 <a href="adm_list.php"><font color="red"><?php __("Manage the members"); ?></font></a><br /> 40 <a href="adm_panel.php"><font color="red"><?php __("Admin Control Panel"); ?></font></a><br /> 41 <a href="/admin/sql"><font color="red"><?php __("General SQL Admin"); ?></font></a><br /> 35 if ($mem->checkRight()) 36 { ?> 37 38 <tr><td nowrap> 39 <a href="adm_list.php"><font color="red"><?php __("Manage the members"); ?></font></a><br> 40 <a href="adm_panel.php"><font color="red"><?php __("Admin Control Panel"); ?></font></a><br> 41 <a href="/admin/sql"><font color="red"><?php __("General SQL Admin"); ?></font></a><br> 42 42 43 43 </td></tr> 44 44 <?php 45 }45 } 46 46 ?> -
bureau/admin/menu_aide.php
r101 r222 1 1 <?php 2 2 /* 3 $Id: menu_aide.php,v 1. 2 2003/06/10 06:42:25 rootExp $3 $Id: menu_aide.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 31 31 32 32 <tr><td nowrap="nowrap"> 33 <a href="http:// www.alternc.org/faq/?UtilisationAlternc" target="help"><?php __("Online help"); ?></a><br />33 <a href="http://doc.alternc.org/user/" target="help"><?php __("Online help"); ?></a><br /> 34 34 </td></tr> -
bureau/admin/menu_mail.php
r101 r222 1 1 <?php 2 2 /* 3 $Id: menu_mail.php,v 1. 2 2003/06/10 06:42:25 rootExp $3 $Id: menu_mail.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 45 45 <?php } ?> 46 46 </td></tr> 47 <?php } ?>47 <?php } ?> -
bureau/admin/menulist.txt
r139 r222 2 2 menu_mail.php 3 3 menu_ftp.php 4 menu_mailman.php5 4 menu_brouteur.php 6 5 menu_stats.php -
bureau/admin/plugins/procmail_builder/m_procmail.php
r102 r222 1 1 <?php 2 2 /* 3 $Id: m_procmail.php,v 1. 2 2003/06/10 06:45:19 rootExp $3 $Id: m_procmail.php,v 1.3 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 84 84 *****************************************************************************/ 85 85 function disable($user="") { 86 global $er ;86 global $err; 87 87 if (!$user) $user=$this->user; 88 88 $u=substr($user,0,1); … … 113 113 *****************************************************************************/ 114 114 function enable($user="") { 115 global $er ;115 global $err; 116 116 if (!$user) $user=$this->user; 117 117 if (!$this->_connectldap()) { … … 152 152 *****************************************************************************/ 153 153 function readrules($user="") { 154 global $er ;154 global $err; 155 155 if (!$user) $user=$this->user; 156 156 $u=substr($user,0,1); … … 200 200 *****************************************************************************/ 201 201 function writerules($res,$user="") { 202 global $er ;202 global $err; 203 203 if (!$user) $user=$this->user; 204 204 $u=substr($user,0,1); … … 208 208 } 209 209 $f=fopen("/var/alternc/mail/$u/$user/.procmailrc","wb"); 210 fputs($f,join("",file("/var/alternc/bureau/admin/plugins/procmail_builder/procmailrc.default"))); 210 fputs($f,str_replace("%%HOME%%","/var/alternc/mail/$u/$user",join("",file("/var/alternc/bureau/admin/plugins/procmail_builder/procmailrc.default")))); 211 //fputs($f,join("",file("/var/alternc/bureau/admin/plugins/procmail_builder/procmailrc.default"))); 211 212 for($i=0;$i<count($res);$i++) { 212 213 fputs($f,"# RuleType ".sprintf("%02d",$res[$i]["type"])." -- ".$res[$i]["name"]."\n"); … … 226 227 *****************************************************************************/ 227 228 function addrule($rule,$user="") { 228 global $er ;229 global $err; 229 230 if (!$user) $user=$this->user; 230 231 $u=substr($user,0,1); … … 248 249 *****************************************************************************/ 249 250 function buildrule($rulename,$crit,$crittext,$raction,$foldertogo,$emailto,$autoreplytxt,$user="") { 250 global $er ;251 global $err; 251 252 if (!$user) $user=$this->user; 252 253 $u=substr($user,0,1); … … 350 351 *****************************************************************************/ 351 352 function uprule($res,$i) { 352 global $er ;353 global $err; 353 354 $i=intval($i); 354 355 if (count($res)<$i || $i==0) { … … 367 368 *****************************************************************************/ 368 369 function downrule($res,$i) { 369 global $er ;370 global $err; 370 371 $i=intval($i); 371 372 if ((count($res)-1)<$i) { … … 378 379 return $res; 379 380 } 381 382 function myst($str) { 383 return str_replace("\\","",str_replace("<","<",str_replace(">",">",$str))); 384 } 380 385 381 386 /***************************************************************************** … … 411 416 if ($i) $s.=" et "; 412 417 if (ereg("^\\* \\^Subject\\.\\*(.*)$",$cond[$i],$t)) { 413 $s.=_("procmail_crit_0")." <code>". str_replace("\\","",$t[1])."</code>";418 $s.=_("procmail_crit_0")." <code>".$this->myst($t[1])."</code>"; 414 419 } 415 420 if (ereg("^\\* \\^From\\.\\*(.*)$",$cond[$i],$t)) { 416 $s.=_("procmail_crit_1")." <code>". str_replace("\\","",$t[1])."</code>";421 $s.=_("procmail_crit_1")." <code>".$this->myst($t[1])."</code>"; 417 422 } 418 423 if (ereg("^\\* \\^TO_\\.\\*(.*)$",$cond[$i],$t)) { 419 $s.=_("procmail_crit_2")." <code>". str_replace("\\","",$t[1])."</code>";424 $s.=_("procmail_crit_2")." <code>".$this->myst($t[1])."</code>"; 420 425 } 421 426 if (ereg("^\\* \\^List-Post: (.*)$",$cond[$i],$t)) { 422 $s.=_("procmail_crit_3")." <code>". str_replace("\\","",$t[1])."</code>";427 $s.=_("procmail_crit_3")." <code>".$this->myst($t[1])."</code>"; 423 428 } 424 429 if (ereg("^\\* \\^List-Id: (.*)$",$cond[$i],$t)) { 425 $s.=_("procmail_crit_4")." <code>". str_replace("\\","",$t[1])."</code>";430 $s.=_("procmail_crit_4")." <code>".$this->myst($t[1])."</code>"; 426 431 } 427 432 if (ereg("^\\* \\^X-Spam-Status: Yes$",$cond[$i])) { -
bureau/admin/sql_add.php
r186 r222 1 1 <?php 2 2 /* 3 $Id: sql_add.php,v 1. 4 2004/05/01 17:30:27 anonymousExp $3 $Id: sql_add.php,v 1.5 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 51 51 <form method="post" action="sql_doadd.php" id="main"> 52 52 <table border="1" cellspacing="0" cellpadding="4"> 53 <tr><th><label for="dbn"><?php __("Database name"); ?></label></th><td>53 <tr><th><label for="dbn"><?php __("Database"); ?></label></th><td> 54 54 <?php echo $mem->user["login"]; ?> <b>_</b> <input type="text" class="int" name="dbn" id="dbn" value="<?php echo $dbn; ?>" size="20" maxlength="30" /> 55 55 </td></tr> -
bureau/class/config.php
r61 r222 1 1 <?php 2 2 /* 3 $Id: config.php,v 1. 5 2003/05/01 11:37:38benjamin Exp $3 $Id: config.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 29 29 */ 30 30 31 /* Toutes les pages du bureau passent ici. On utilise une sémaphore pour 32 s'assurer que personne ne pourra accéder à 2 pages du bureau en même temps. 33 */ 34 // 1. Get a semaphore id for the alternc magic number (18577) 35 $alternc_sem = sem_get ( 18577 ); 36 // 2. Declare the shutdown function, that release the semaphore 37 function alternc_shutdown() { 38 global $alternc_sem; 39 sem_release( $alternc_sem ); 40 } 41 // 3. Register the shutdown function 42 register_shutdown_function("alternc_shutdown"); 43 // 4. Acquire the semaphore : with that process, 44 sem_acquire( $alternc_sem ); 45 46 47 48 /* PHPLIB inclusions : */ 49 $root="/var/alternc/bureau/"; 50 /* Server Domain Name */ 51 $host=getenv("HTTP_HOST"); 52 53 /* Global variables (AlternC configuration) */ 54 require_once($root."class/local.php"); 55 56 require_once($root."class/db_mysql.php"); 57 require_once($root."class/functions.php"); 58 59 // Classe héritée de la classe db de la phplib. 60 class DB_system extends DB_Sql { 61 var $Host,$Database,$User,$Password; 62 function DB_system() { 63 global $L_MYSQL_HOST,$L_MYSQL_DATABASE,$L_MYSQL_LOGIN,$L_MYSQL_PWD; 64 $this->Host = $L_MYSQL_HOST; 65 $this->Database = $L_MYSQL_DATABASE; 66 $this->User = $L_MYSQL_LOGIN; 67 $this->Password = $L_MYSQL_PWD; 68 } 69 } 70 71 $db= new DB_system(); 72 73 $classes=array(); 74 /* CLASSES PHP4 : automatic include : */ 75 $c=opendir($root."class/"); 76 while ($di=readdir($c)) { 77 if (ereg("^m_(.*)\\.php$",$di,$match)) { // $ 78 $name1="m_".$match[1]; 79 $name2=$match[1]; 80 $classes[]=$name2; 81 require_once($root."class/".$name1.".php"); 82 } 83 } 84 closedir($c); 85 /* THE DEFAULT CLASSES ARE : 86 dom, ftp, mail, quota, bro, admin, mem, mysql, err 87 */ 88 89 90 /* Language */ 91 bindtextdomain("alternc", "/var/alternc/bureau/locales"); 92 93 if (!$do_not_set_lang_env) { 94 // setlang is on the link at the login page 95 if ($setlang) { 96 $lang=$setlang; 97 } 98 // default language (can be changed here) 99 $language="fr_FR"; 100 if (!$lang) { 101 // Use the browser first preferred language 102 $lang=strtolower(substr(trim($HTTP_ACCEPT_LANGUAGE),0,5)); 103 } 104 // treat special cases such as en_UK or fr_BF : 105 if (substr($lang,0,2)=="en") { 106 $language ='en_US'; 107 } 108 if (substr($lang,0,2)=="fr") { 109 $language ='fr_FR'; 110 } 111 if (substr($lang,0,5)=="fr_LU") { 112 $language ='fr_LU'; 113 } 114 if (substr($lang,0,2)=="es") { 115 $language ='es_ES'; 116 } 117 if ($setlang && $language) { 118 setcookie("lang",$lang); 119 } 120 /* Language*/ 121 putenv("LC_MESSAGES=$language"); 122 putenv("LANG=$language"); 123 putenv("LANGUAGE=$language"); 124 // this locale MUST be selected in "dpkg-reconfigure locales" 125 setlocale(LC_ALL,$language); 126 textdomain("alternc"); 127 } 128 129 $mem=new m_mem(); 130 $err=new m_err(); 131 132 /* Check the User identity (if required) */ 133 if (!$nocheck) { 134 if (!$mem->checkid()) { 135 $error=$err->errstr(); 136 include("index.php"); 137 exit(); 138 } 139 } 140 141 for($i=0;$i<count($classes);$i++) { 142 if ($classes[$i]!="mem" && $classes[$i]!="err") { 143 $name2=$classes[$i]; 144 $name1="m_".$name2; 145 $$name2= new $name1($mem->uid); 146 } 147 } 148 31 $nocheck=0; 32 require_once("config_real.php"); 149 33 150 34 ?> -
bureau/class/functions.php
r168 r222 1 1 <?php 2 2 /* 3 $Id: functions.php,v 1. 5 2004/02/10 00:28:02 remiExp $3 $Id: functions.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 127 127 /* Check a login mail */ 128 128 function checkloginmail($mail) { 129 if (!ereg("^[a-zA-Z0-9_.:- \+]+$",$mail)) {129 if (!ereg("^[a-zA-Z0-9_.:-]+$",$mail)) { 130 130 return false; 131 131 } else { … … 286 286 } 287 287 288 /* ----------------------------------------------------------------- */ 289 /** Crypte un mot de passe en clair en MD5 avec un salt aléatoire 290 * @param string $pass Mot de passe à crypter (max 32 caractères) 291 * @return string Retourne le mot de passe crypté 292 * @access private 293 */ 294 function _md5cr($pass,$salt="") { 295 if (!$salt) { 296 $chars="./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 297 for ($i=0;$i<12;$i++) { 298 $salt.=substr($chars,(mt_rand(0,strlen($chars))),1); 299 } 300 $salt="$1$".$salt; 301 } 302 return crypt($pass,$salt); 303 } 304 305 288 306 ?> -
bureau/class/m_admin.php
r153 r222 1 1 <?php 2 2 /* 3 $Id: m_admin.php,v 1. 5 2003/09/20 19:41:08 rootExp $3 $Id: m_admin.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 36 36 /* ----------------------------------------------------------------- */ 37 37 /** 38 * $uid contient l'uid du membre actuellement connecté.39 */40 var $uid=0;41 42 /* ----------------------------------------------------------------- */43 /**44 38 * $enabled précise si l'utilisateur actuellement connecté est super-admin ou non 45 39 */ … … 67 61 * Constructeur 68 62 */ 69 function m_admin($membre=0) { 70 global $db; 71 $this->uid=$membre; 72 $db->query("SELECT su FROM membres WHERE uid=".$this->uid.";"); 63 function m_admin() { 64 global $db,$cuid; 65 $db->query("SELECT su FROM membres WHERE uid='$cuid';"); 73 66 $db->next_record(); 74 67 $this->enabled=$db->f("su"); … … 88 81 function get($uid) { 89 82 global $err,$db; 90 $err->log("admin","get",$uid);83 // $err->log("admin","get",$uid); 91 84 if (!$this->enabled) { 92 85 $err->raise("admin",1); 93 86 return false; 94 87 } 95 $db->query("SELECT * FROM membres WHERE uid= $uid;");88 $db->query("SELECT * FROM membres WHERE uid='$uid';"); 96 89 if ($db->num_rows()) { 97 90 $db->next_record(); … … 101 94 return false; 102 95 } 103 $db->query("SELECT * FROM local WHERE uid= $uid;");96 $db->query("SELECT * FROM local WHERE uid='$uid';"); 104 97 if ($db->num_rows()) { 105 98 $db->next_record(); … … 134 127 * 135 128 */ 136 function get_list() { 137 global $err; 129 function get_list($all=0) { 130 // PATCHBEN pour ne voir que les comptes que l'on a créé (sauf root) 131 global $err,$mem,$cuid; 138 132 $err->log("admin","get_list"); 139 133 if (!$this->enabled) { … … 142 136 } 143 137 $db=new DB_System(); 144 $db->query("SELECT uid FROM membres ORDER BY login;"); 138 if ($mem->user[uid]==2000 || $all) { 139 $db->query("SELECT uid FROM membres ORDER BY login;"); 140 } else { 141 $db->query("SELECT uid FROM membres WHERE creator='".$cuid."' ORDER BY login;"); 142 } 145 143 if ($db->num_rows()) { 146 144 while ($db->next_record()) { … … 156 154 /* ----------------------------------------------------------------- */ 157 155 /** 156 * Check if I am the creator of the member $uid 157 */ 158 function checkcreator($uid) { 159 global $err,$mem,$db,$cuid; 160 // DONE PATCHBEN Check that the current user is editing one of it's own account ! 161 // but ROOT (always uid 2000) is almighty 162 if ($cuid==2000) { 163 return true; 164 } 165 $db->query("SELECT creator FROM membres WHERE uid='$uid';"); 166 $db->next_record(); 167 if ($db->Record[creator]!=$cuid) { 168 $err->raise("admin",1); 169 return false; 170 } 171 return true; 172 } 173 174 /* ----------------------------------------------------------------- */ 175 /** 158 176 * Crée un nouveau membre hébergé 159 177 * … … 170 188 */ 171 189 function add_mem($login, $pass, $nom, $prenom, $mail, $canpass=1) { 172 global $err,$quota,$classes ;190 global $err,$quota,$classes,$cuid,$mem; 173 191 $err->log("admin","add_mem",$login."/".$mail); 174 192 if (!$this->enabled) { … … 189 207 $err->raise("admin",10); 190 208 } 209 $pass=_md5cr($pass); 191 210 $db=new DB_System(); 192 211 // vérification de l'inexistence du membre dans system.membres … … 202 221 } 203 222 // on le créé ensuite dans system.membres et system.local 204 $db->query("INSERT INTO membres (uid,login,pass,mail,creator,canpass) VALUES ( $uid,'$login','$pass','$mail','".$this->uid."','$canpass');");223 $db->query("INSERT INTO membres (uid,login,pass,mail,creator,canpass) VALUES ('$uid','$login','$pass','$mail','$cuid','$canpass');"); 205 224 $db->query("INSERT INTO local(uid,nom,prenom) VALUES('$uid','$nom','$prenom');"); 206 225 exec("/usr/lib/alternc/mem_add ".$login." ".$uid); 207 226 // Declenchons les autres classes. 227 $mem->su($uid); 208 228 for($i=0;$i<count($classes);$i++) { 209 229 if (method_exists($GLOBALS[$classes[$i]],"alternc_add_member")) { 210 $GLOBALS[$classes[$i]]->alternc_add_member( $uid);230 $GLOBALS[$classes[$i]]->alternc_add_member(); 211 231 } 212 232 } 233 $mem->unsu(); 213 234 return $uid; 214 235 } else { … … 241 262 } 242 263 $db=new DB_System(); 264 if ($pass) { 265 // on modifie aussi le password : 266 $pass=_md5cr($pass); 267 $ssq=" ,pass='$pass' "; 268 } else { 269 $ssq=""; 270 } 243 271 if (($db->query("UPDATE local SET nom='$nom', prenom='$prenom' WHERE uid='$uid';")) 244 &&($db->query("UPDATE membres SET mail='$mail', pass='$pass', canpass='$canpass', enabled='$enabled'WHERE uid='$uid';"))){272 &&($db->query("UPDATE membres SET mail='$mail', canpass='$canpass', enabled='$enabled' $ssq WHERE uid='$uid';"))){ 245 273 return true; 246 274 } … … 261 289 */ 262 290 function del_mem($uid) { 263 global $err,$quota,$classes ;291 global $err,$quota,$classes,$cuid,$mem,$dom; 264 292 $err->log("admin","del_mem",$uid); 293 265 294 if (!$this->enabled) { 266 295 $err->raise("admin",1); 267 296 return false; 268 297 } 269 $dm=new m_dom($uid);270 298 $db=new DB_System(); 271 299 $tt=$this->get($uid); 272 $db->query("SELECT domaine FROM domaines WHERE compte='$uid';"); 273 if ($db->num_rows()) { 274 while ($db->next_record()) { 275 $dm->del_domain($db->f("domaine")); 300 301 // On devient l'utilisateur : 302 $mem->su($uid); 303 304 // WE MUST call m_dom before all others because of conflicts ... 305 $dom->alternc_del_member(); 306 307 // Send the event to the other classes : 308 for($i=0;$i<count($classes);$i++) { 309 if (method_exists($GLOBALS[$classes[$i]],"alternc_del_member") && $classes[$i]!="dom") { 310 $GLOBALS[$classes[$i]]->alternc_del_member(); 311 } 276 312 } 277 }278 313 if (($db->query("DELETE FROM membres WHERE uid='$uid';")) && 279 314 ($db->query("DELETE FROM local WHERE uid='$uid';"))) { 280 315 exec("/usr/lib/alternc/mem_del ".$tt["login"]); 281 // Declenchons les autres classes. 282 for($i=0;$i<count($classes);$i++) { 283 if (method_exists($GLOBALS[$classes[$i]],"alternc_del_member")) { 284 $GLOBALS[$classes[$i]]->alternc_del_member($uid); 285 } 286 } 316 $mem->unsu(); 287 317 return true; 288 318 } else { 289 319 $err->raise("admin",2); 320 $mem->unsu(); 290 321 return false; 291 322 } … … 502 533 $mode=intval($mode); 503 534 if ($mode==0) $mode="0"; 504 $db->query("UPDATE tld SET mode=$mode WHERE tld='$tld';"); 505 return true; 506 } 507 535 $db->query("UPDATE tld SET mode='$mode' WHERE tld='$tld';"); 536 return true; 537 } 508 538 509 539 } /* Classe ADMIN */ -
bureau/class/m_bro.php
r143 r222 1 1 <?php 2 2 /* 3 $Id: m_bro.php,v 1. 7 2003/08/19 20:00:39 rootExp $3 $Id: m_bro.php,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 33 33 class m_bro { 34 34 35 /** Membre dont on gère les domaines */36 var $uid=0;37 38 35 /** Taille totale du dossier après appel à FileList */ 39 36 var $sizetot=0; … … 74 71 /* ----------------------------------------------------------------- */ 75 72 /** Constructeur */ 76 function m_bro($membre=0) { 77 $this->uid=$membre; 73 function m_bro() { 78 74 } 79 75 … … 114 110 */ 115 111 function filelist($dir="") { 116 global $db ;117 $db->query("UPDATE browser SET lastdir='$dir' WHERE uid= ".$this->uid.";");112 global $db,$cuid; 113 $db->query("UPDATE browser SET lastdir='$dir' WHERE uid='$cuid';"); 118 114 $absolute=$this->convertabsolute($dir,0); 119 115 $this->sizetot=0; … … 143 139 */ 144 140 function GetPrefs() { 145 global $db ;146 $db->query("SELECT * FROM browser WHERE uid= ".$this->uid.";");141 global $db,$cuid; 142 $db->query("SELECT * FROM browser WHERE uid='$cuid';"); 147 143 if ($db->num_rows()==0) { 148 $db->query("INSERT INTO browser (editsizex, editsizey, listmode, showicons, downfmt, createfile, showtype, uid, editor_font, editor_size) VALUES (70, 21, 0, 0, 0, 0, 0, ".$this->uid.",'Arial, Helvetica, Sans-serif','12px');");149 $db->query("SELECT * FROM browser WHERE uid= ".$this->uid.";");144 $db->query("INSERT INTO browser (editsizex, editsizey, listmode, showicons, downfmt, createfile, showtype, uid, editor_font, editor_size) VALUES (70, 21, 0, 0, 0, 0, 0, '$cuid','Arial, Helvetica, Sans-serif','12px');"); 145 $db->query("SELECT * FROM browser WHERE uid='$cuid';"); 150 146 } 151 147 $db->next_record(); … … 169 165 */ 170 166 function SetPrefs($editsizex, $editsizey, $listmode, $showicons, $downfmt, $createfile, $showtype, $editor_font, $editor_size, $golastdir) { 171 global $db ;167 global $db,$cuid; 172 168 $editsizex=intval($editsizex); $editsizey=intval($editsizey); 173 169 $listmode=intval($listmode); $showicons=intval($showicons); 174 170 $showtype=intval($showtype); $downfmt=intval($downfmt); 175 171 $createfile=intval($createfile); $golastdir=intval($golastdir); 176 $db->query("SELECT * FROM browser WHERE uid= ".$this->uid.";");172 $db->query("SELECT * FROM browser WHERE uid='$cuid';"); 177 173 if ($db->num_rows()==0) { 178 $db->query("INSERT INTO browser (editsizex, editsizey, listmode, showicons, downfmt, createfile, showtype, uid, editor_font, editor_size, golastdir) VALUES (70, 21, 0, 0, 0, 0, 0, ".$this->uid.",'Arial, Helvetica, Sans-serif','12px',1);");179 } 180 $db->query("UPDATE browser SET editsizex= $editsizex, editsizey=$editsizey, listmode=$listmode, showicons=$showicons, downfmt=$downfmt, createfile=$createfile, showtype=$showtype, editor_font='$editor_font', editor_size='$editor_size', golastdir='$golastdir' WHERE uid=".$this->uid.";");174 $db->query("INSERT INTO browser (editsizex, editsizey, listmode, showicons, downfmt, createfile, showtype, uid, editor_font, editor_size, golastdir) VALUES (70, 21, 0, 0, 0, 0, 0, '".$this->uid."','Arial, Helvetica, Sans-serif','12px',1);"); 175 } 176 $db->query("UPDATE browser SET editsizex='$editsizex', editsizey='$editsizey', listmode='$listmode', showicons='$showicons', downfmt='$downfmt', createfile='$createfile', showtype='$showtype', editor_font='$editor_font', editor_size='$editor_size', golastdir='$golastdir' WHERE uid='$cuid';"); 181 177 return true; 182 178 } … … 257 253 * @param string $file Fichier dont on souhaite connaitre la taille 258 254 * @return integer Taille du fichier en octets. 255 * TODO : create a du cache ... 259 256 */ 260 257 function fsize($file) { … … 273 270 */ 274 271 function CreateDir($dir,$file) { 275 global $db ;272 global $db,$cuid; 276 273 $absolute=$this->convertabsolute($dir,0); 277 274 $file=ssla($file); … … 279 276 mkdir($absolute."/".$file,00777); 280 277 } 281 $db->query("UPDATE browser SET crff=1 WHERE uid= ".$this->uid.";");278 $db->query("UPDATE browser SET crff=1 WHERE uid='$cuid';"); 282 279 } 283 280 … … 289 286 */ 290 287 function CreateFile($dir,$file) { 291 global $db,$err ;288 global $db,$err,$cuid; 292 289 $absolute=$this->convertabsolute($dir,0); 293 290 if (!$absolute) { … … 299 296 touch($absolute."/".$file); 300 297 } 301 $db->query("UPDATE browser SET crff=0 WHERE uid= ".$this->uid.";");298 $db->query("UPDATE browser SET crff=0 WHERE uid='$cuid';"); 302 299 } 303 300 … … 479 476 */ 480 477 function viewurl($dir,$name) { 481 global $db ;478 global $db,$cuid; 482 479 // Is it in cache ? 483 480 if (substr($dir,0,1)=="/") $dir=substr($dir,1); … … 487 484 $end=""; $beg=$dir; $tofind=true; 488 485 while ($tofind) { 489 $db->query("SELECT sub,domaine FROM sub_domaines WHERE compte= ".$this->uid."486 $db->query("SELECT sub,domaine FROM sub_domaines WHERE compte='$cuid' 490 487 AND type=0 AND (valeur='/$beg/' or valeur='/$beg');"); 491 488 $db->next_record(); … … 515 512 } 516 513 517 // Is it still in use ? TODO : Check if this function is still used :)518 /* ----------------------------------------------------------------- */519 514 function content_send($R,$file) { 520 515 global $err; … … 573 568 header("Content-Transfer-Encoding: binary"); 574 569 $d=escapeshellarg(substr($this->convertabsolute($dir,0),1)); 570 settimelimit(0); 575 571 passthru("/bin/tar -cZ -C /var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]."/ $d"); 576 572 } … … 587 583 header("Content-Transfer-Encoding: binary"); 588 584 $d=escapeshellarg(substr($this->convertabsolute($dir,0),1)); 585 settimelimit(0); 589 586 passthru("/bin/tar -cz -C /var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]."/ $d"); 590 587 } … … 602 599 header("Content-Transfer-Encoding: binary"); 603 600 $d=escapeshellarg(substr($this->convertabsolute($dir,0),1)); 601 settimelimit(0); 604 602 passthru("/bin/tar -cj -C /var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]."/ $d"); 605 603 } … … 616 614 header("Content-Transfer-Encoding: binary"); 617 615 $d=escapeshellarg($this->convertabsolute("/var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]."/".$dir,0)); 616 settimelimit(0); 618 617 passthru("/usr/bin/zip -r - /var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]."/$d"); 619 618 } … … 637 636 function _delete($file) { 638 637 // permet d'effacer de nombreux fichiers 639 //settimelimit(0);638 @set_time_limit(0); 640 639 //chmod($file,0777); 641 640 if (is_dir($file)) { -
bureau/class/m_dom.php
r178 r222 1 1 <?php 2 2 /* 3 $Id: m_dom.php,v 1. 5 2004/04/21 04:39:23 anarcatExp $3 $Id: m_dom.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 33 33 class m_dom { 34 34 35 /** Membre dont on gère les domaines */36 var $uid=0;37 38 var $alternc_quota_name="dom";39 40 35 /** $domains : Cache des domaines du membre 41 36 * @access private … … 82 77 * Constructeur 83 78 */ 84 function m_dom($membre=0) { 85 $this->uid=$membre; 79 function m_dom() { 80 } 81 82 /* ----------------------------------------------------------------- */ 83 /** 84 * Quota name 85 */ 86 function alternc_quota_names() { 87 return "dom"; 86 88 } 87 89 … … 95 97 */ 96 98 function enum_domains() { 97 global $db,$err ;99 global $db,$err,$cuid; 98 100 $err->log("dom","enum_domains"); 99 if (!is_array($this->domains)) { 100 $db->query("select * from domaines where compte=".$this->uid.";"); 101 $this->domains=array(); 102 if ($db->num_rows()>0) { 103 while ($db->next_record()) { 104 $this->domains[]=$db->f("domaine"); 105 } 101 $db->query("select * from domaines where compte='$cuid';"); 102 $this->domains=array(); 103 if ($db->num_rows()>0) { 104 while ($db->next_record()) { 105 $this->domains[]=$db->f("domaine"); 106 106 } 107 107 } … … 122 122 */ 123 123 function del_domain($dom) { 124 global $db,$err,$quota,$classes ;124 global $db,$err,$quota,$classes,$cuid; 125 125 $err->log("dom","del_domain",$dom); 126 126 $dom=strtolower($dom); … … 131 131 } 132 132 $db->next_record(); 133 if ($db->f("compte")!=$ this->uid) {133 if ($db->f("compte")!=$cuid) { 134 134 $err->raise("dom",2,$dom); 135 135 return false; … … 173 173 */ 174 174 function add_domain($domain,$dns,$unerase=0,$force=0) { 175 global $db,$err,$quota,$classes,$L_MX,$L_FQDN,$tld ;175 global $db,$err,$quota,$classes,$L_MX,$L_FQDN,$tld,$cuid; 176 176 $err->log("dom","add_domain",$domain); 177 177 $mx="1"; … … 243 243 } 244 244 if ($noerase) $noerase="1"; else $noerase="0"; 245 $db->query("insert into domaines (compte,domaine,mx,gesdns,gesmx,noerase) values ( ".$this->uid.",'$domain','$L_MX',$dns,$mx,$noerase);");246 $db->query("insert into domaines_standby (compte,domaine,mx,gesdns,gesmx,action) values ( ".$this->uid.",'$domain','$L_MX',$dns,$mx,0);"); // INSERT245 $db->query("insert into domaines (compte,domaine,mx,gesdns,gesmx,noerase) values ('$cuid','$domain','$L_MX','$dns','$mx','$noerase');"); 246 $db->query("insert into domaines_standby (compte,domaine,mx,gesdns,gesmx,action) values ('$cuid','$domain','$L_MX','$dns','$mx',0);"); // INSERT 247 247 // Creation des 3 sous-domaines par défaut : Vide, www et mail 248 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ( ".$this->uid.",'$domain','','/',0);");249 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ( ".$this->uid.",'$domain','www','/',0);");250 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ( ".$this->uid.",'$domain','mail','',3);");248 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ('$cuid','$domain','','/',0);"); 249 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ('$cuid','$domain','www','/',0);"); 250 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ('$cuid','$domain','mail','',3);"); 251 251 $quota->inc("dom"); 252 252 // DEPENDANCE : 253 253 // Lancement de add_dom sur les classes domain_sensitive : 254 // TODO : creer des instances de ces classes plutôt que d'utiliser les globals car : 255 // 1. c'est plus propre :) 256 // 2. ca permettra aux admins d'insaller un domaine sur un autre compte, en mode NOERASE+FORCE 257 // Declenchons les autres classes. 254 // Declenchons les autres classes. 258 255 for($i=0;$i<count($classes);$i++) { 259 256 if (method_exists($GLOBALS[$classes[$i]],"alternc_add_domain")) { … … 429 426 */ 430 427 function get_domain_all($dom) { 431 global $db,$err ;428 global $db,$err,$cuid; 432 429 $err->log("dom","get_domain_all",$dom); 433 430 // Locked ? … … 442 439 } 443 440 $r["name"]=$dom; 444 $db->query("select * from domaines_standby where compte= ".$this->uid."and domaine='$dom'");441 $db->query("select * from domaines_standby where compte='$cuid' and domaine='$dom'"); 445 442 if ($db->num_rows()>0) { 446 443 $err->raise("dom",13); 447 444 return false; 448 445 } 449 $db->query("select * from domaines where compte= ".$this->uid."and domaine='$dom'");446 $db->query("select * from domaines where compte='$cuid' and domaine='$dom'"); 450 447 if ($db->num_rows()==0) { 451 448 $err->raise("dom",1,$dom); … … 458 455 $r[noerase]=$db->Record[noerase]; 459 456 $db->free(); 460 $db->query("select count(*) as cnt from sub_domaines where compte= ".$this->uid."and domaine='$dom'");457 $db->query("select count(*) as cnt from sub_domaines where compte='$cuid' and domaine='$dom'"); 461 458 $db->next_record(); 462 459 $r["nsub"]=$db->Record["cnt"]; 463 460 $db->free(); 464 $db->query("select * from sub_domaines where compte= ".$this->uid."and domaine='$dom'");461 $db->query("select * from sub_domaines where compte='$cuid' and domaine='$dom'"); 465 462 // Pas de webmail, on le cochera si on le trouve. 466 463 $this->webmail=0; … … 495 492 */ 496 493 function get_sub_domain_all($dom,$sub) { 497 global $db,$err ;494 global $db,$err,$cuid; 498 495 $err->log("dom","get_sub_domain_all",$dom."/".$sub); 499 496 // Locked ? … … 507 504 return false; 508 505 } 509 $db->query("select * from sub_domaines where compte= ".$this->uid."and domaine='$dom' and sub='$sub'");506 $db->query("select * from sub_domaines where compte='$cuid' and domaine='$dom' and sub='$sub'"); 510 507 if ($db->num_rows()==0) { 511 508 $err->raise("dom",14); … … 538 535 */ 539 536 function set_sub_domain($dom,$sub,$type,$action,$dest) { 540 global $db,$err ;537 global $db,$err,$cuid; 541 538 $err->log("dom","set_sub_domain",$dom."/".$sub); 542 539 // Locked ? … … 576 573 // Le sous-domaine n'existe pas, on le crée seulement si $action vaut add 577 574 if ($action=="add") { 578 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ( ".$this->uid.",'$dom','$sub','$dest',$type);");575 $db->query("insert into sub_domaines (compte,domaine,sub,valeur,type) values ('$cuid','$dom','$sub','$dest',$type);"); 579 576 $db->query("delete from sub_domaines_standby where domaine='$dom' and sub='$sub';"); 580 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ( ".$this->uid.",'$dom','$sub','$dest',$type,0);"); // INSERT577 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ('$cuid','$dom','$sub','$dest','$type',0);"); // INSERT 581 578 } else { 582 579 $err->raise("dom",14); … … 591 588 } 592 589 // OK, des modifs ont été faites, on valide : 593 $db->query("update sub_domaines set type= $type, valeur='$dest' where domaine='$dom' and sub='$sub'");590 $db->query("update sub_domaines set type='$type', valeur='$dest' where domaine='$dom' and sub='$sub'"); 594 591 $db->query("delete from sub_domaines_standby where domaine='$dom' and sub='$sub'"); 595 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ( ".$this->uid.",'$dom','$sub','$dest',$type,1);"); // UPDATE592 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ('$cuid','$dom','$sub','$dest','$type',1);"); // UPDATE 596 593 } else { 597 594 $err->raise("dom",16); … … 612 609 */ 613 610 function del_sub_domain($dom,$sub) { 614 global $db,$err ;611 global $db,$err,$cuid; 615 612 $err->log("dom","del_sub_domain",$dom."/".$sub); 616 613 // Locked ? … … 632 629 $db->query("delete from sub_domaines where domaine='$dom' and sub='$sub'"); 633 630 $db->query("delete from sub_domaines_standby where domaine='$dom' and sub='$sub'"); 634 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ( ".$this->uid.",'$dom','$sub','".$r["dest"]."',".$r["type"].",2);"); // DELETE631 $db->query("insert into sub_domaines_standby (compte,domaine,sub,valeur,type,action) values ('$cuid','$dom','$sub','".$r["dest"]."','".$r["type"]."',2);"); // DELETE 635 632 } 636 633 return true; … … 651 648 */ 652 649 function edit_domain($dom,$dns,$mx) { 653 global $db,$err,$L_MX,$classes ;650 global $db,$err,$L_MX,$classes,$cuid; 654 651 $err->log("dom","edit_domain",$dom); 655 652 // Locked ? … … 685 682 for($i=0;$i<count($classes);$i++) { 686 683 if (method_exists($GLOBALS[$classes[$i]],"alternc_add_mx_domain")) { 687 $GLOBALS[$classes[$i]]->alternc_add_mx_domain($dom );684 $GLOBALS[$classes[$i]]->alternc_add_mx_domain($domain); 688 685 } 689 686 } 690 /* 687 /* TODO : if it work, delete this code... 691 688 if (is_object($GLOBALS["ma"])) { 692 689 // Comptes MAILS, destruction du domaine : … … 708 705 for($i=0;$i<count($classes);$i++) { 709 706 if (method_exists($GLOBALS[$classes[$i]],"alternc_del_mx_domain")) { 710 $GLOBALS[$classes[$i]]->alternc_del_mx_domain($dom );707 $GLOBALS[$classes[$i]]->alternc_del_mx_domain($domain); 711 708 } 712 709 } 713 /* 710 /* TODO : if it work, delete this code... 714 711 if (is_object($GLOBALS["ma"])) { 715 712 // Comptes MAILS, destruction du domaine : … … 727 724 } 728 725 729 $db->query("update domaines set gesdns=$dns, mx='$mx', gesmx=$gesmx where domaine='$dom'"); 730 $db->query("insert into domaines_standby (compte,domaine,mx,gesdns,gesmx,action) values (".$this->uid.",'$dom','$mx',$dns,$gesmx,1);"); // UPDATE 726 $db->query("update domaines set gesdns='$dns', mx='$mx', gesmx='$gesmx' where domaine='$dom'"); 727 $db->query("insert into domaines_standby (compte,domaine,mx,gesdns,gesmx,action) values ('$cuid','$dom','$mx','$dns','$gesmx',1);"); 728 // UPDATE 731 729 return true; 732 730 } // edit_domain … … 776 774 /* ----------------------------------------------------------------- */ 777 775 /** 776 * Efface un compte (tous ses domaines) 777 */ 778 function alternc_del_member() { 779 global $err; 780 $err->log("dom","alternc_del_member"); 781 $li=$this->enum_domains(); 782 foreach($li as $dom) { 783 $this->del_domain($dom); 784 } 785 return true; 786 } 787 788 789 /* ----------------------------------------------------------------- */ 790 /** 778 791 * Recalcule le quota domaine de l'utilisateur courant, 779 792 * ou celui de $id, si spécifié. 780 793 * @access private 781 794 */ 782 function alternc_quota_check( $id=-1) {783 global $db,$err,$quota ;795 function alternc_quota_check() { 796 global $db,$err,$quota,$cuid; 784 797 $err->log("dom","checkquota"); 785 if (!$id==-1) $id=$this->uid; 786 $db->query("SELECT COUNT(*) AS cnt FROM domaines WHERE compte=$id"); 798 $db->query("SELECT COUNT(*) AS cnt FROM domaines WHERE compte='$cuid'"); 787 799 $db->next_record(); 788 $quota->setquota("dom",$db->f("cnt"),1 ,$id);800 $quota->setquota("dom",$db->f("cnt"),1); 789 801 return true; 790 802 } 791 803 804 /* ----------------------------------------------------------------- */ 805 /** 806 * Exporte toutes les informations domaine du compte. 807 * @access private 808 * EXPERIMENTAL 'sid' function ;) 809 */ 810 function alternc_export() { 811 global $db,$err; 812 $err->log("dom","export"); 813 $this->enum_domains(); 814 $str="<dom>\n"; 815 foreach ($this->domains as $d) { 816 $str.=" <domain>\n <name>$d</name>\n"; 817 $s=$this->get_domain_all($d); 818 $str.=" <hasdns>$s[dns]</hasdns>\n"; 819 $str.=" <hasmx>$s[mx]</hasmx>\n"; 820 $str.=" <mx>$s[mail]</mx>\n"; 821 if (is_array($s[sub])) { 822 foreach ($s[sub] as $sub) { 823 $str.=" <subdomain>"; 824 $str.="<name>".$sub[name]."</name>"; 825 $str.="<dest>".$sub[dest]."</dest>"; 826 $str.="<type>".$sub[type]."</type>"; 827 $str.="</subdomain>\n"; 828 } 829 } 830 $str.=" </domain>\n"; 831 } 832 $str.="</dom>\n"; 833 return $str; 834 } 835 836 792 837 } /* Class m_domains */ 793 838 -
bureau/class/m_err.php
r92 r222 1 1 <?php 2 2 /* 3 $Id: m_err.php,v 1. 3 2003/06/09 19:46:31 rootExp $3 $Id: m_err.php,v 1.4 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 123 123 */ 124 124 function log($clsid,$function,$param="") { 125 global $mem ;125 global $mem,$cuid; 126 126 $f=@fopen($this->logfile,"ab"); 127 127 if ($f) { 128 fputs($f,date("d/m/Y h:i:s")." - CALL - ");128 fputs($f,date("d/m/Y H:i:s")." - CALL - "); 129 129 fputs($f,$mem->user["login"]." - "); 130 130 fputs($f,$clsid." - ".$function." - ".$param."\n"); -
bureau/class/m_ftp.php
r105 r222 1 1 <?php 2 2 /* 3 $Id: m_ftp.php,v 1. 5 2003/06/10 07:31:36 rootExp $3 $Id: m_ftp.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 32 32 class m_ftp { 33 33 34 /** Membre dont on gère les Comptes FTP */35 var $uid;36 var $alternc_quota_name="ftp";37 38 34 /* ----------------------------------------------------------------- */ 39 35 /** 40 36 * Constructeur 41 37 */ 42 function m_ftp($membre=0) { 43 $this->uid=$membre; 38 function m_ftp() { 39 } 40 41 /* ----------------------------------------------------------------- */ 42 /** 43 * Quota name 44 */ 45 function alternc_quota_names() { 46 return "ftp"; 44 47 } 45 48 … … 55 58 */ 56 59 function get_list() { 57 global $db,$err ;60 global $db,$err,$cuid; 58 61 $err->log("ftp","get_list"); 59 62 $r=array(); 60 $db->query("SELECT id, name, password, homedir FROM ftpusers WHERE uid= ".$this->uid."ORDER BY homedir;");63 $db->query("SELECT id, name, password, homedir FROM ftpusers WHERE uid='$cuid' ORDER BY homedir;"); 61 64 if ($db->num_rows()) { 62 65 while ($db->next_record()) { … … 84 87 */ 85 88 function get_ftp_details($id) { 86 global $db,$err ;89 global $db,$err,$cuid; 87 90 $err->log("ftp","get_ftp_details",$id); 88 91 $r=array(); 89 $db->query("SELECT id, name, password, homedir FROM ftpusers WHERE uid= ".$this->uid." AND id=$id;");92 $db->query("SELECT id, name, password, homedir FROM ftpusers WHERE uid='$cuid' AND id='$id';"); 90 93 if ($db->num_rows()) { 91 94 $db->next_record(); … … 115 118 */ 116 119 function prefix_list() { 117 global $db,$mem ;120 global $db,$mem,$cuid; 118 121 $r=array(); 119 122 $r[]=$mem->user["login"]; 120 $db->query("SELECT domaine FROM domaines WHERE compte= ".$this->uid."ORDER BY domaine;");123 $db->query("SELECT domaine FROM domaines WHERE compte='$cuid' ORDER BY domaine;"); 121 124 while ($db->next_record()) { 122 125 $r[]=$db->f("domaine"); … … 133 136 */ 134 137 function select_prefix_list($current) { 135 global $db;136 138 $r=$this->prefix_list(); 137 139 reset($r); … … 153 155 */ 154 156 function put_ftp_details($id,$prefixe,$login,$pass,$dir) { 155 global $mem,$db,$err,$bro ;157 global $mem,$db,$err,$bro,$cuid; 156 158 $err->log("ftp","put_ftp_details",$id); 157 $db->query("SELECT count(*) AS cnt FROM ftpusers WHERE id= $id and uid=".$this->uid.";");159 $db->query("SELECT count(*) AS cnt FROM ftpusers WHERE id='$id' and uid='$cuid';"); 158 160 $db->next_record(); 159 161 if (!$db->f("cnt")) { … … 173 175 $l=substr($lo,0,1); 174 176 if ($login) $login="_".$login; 175 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE id!= $idAND name='$prefixe$login';");177 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE id!='$id' AND name='$prefixe$login';"); 176 178 $db->next_record(); 177 179 if ($db->f("cnt")) { … … 187 189 return false; 188 190 } 189 $db->query("UPDATE ftpusers SET name='".$prefixe.$login."', password='$pass', homedir='/var/alternc/html/$l/$lo/$dir', uid= ".$this->uid." WHERE id=$id;");191 $db->query("UPDATE ftpusers SET name='".$prefixe.$login."', password='$pass', homedir='/var/alternc/html/$l/$lo/$dir', uid='$cuid' WHERE id='$id';"); 190 192 return true; 191 193 } … … 197 199 */ 198 200 function delete_ftp($id) { 199 global $db,$err,$quota ;201 global $db,$err,$quota,$cuid; 200 202 $err->log("ftp","delete_ftp",$id); 201 $db->query("SELECT name FROM ftpusers WHERE id= $id and uid=".$this->uid.";");203 $db->query("SELECT name FROM ftpusers WHERE id='$id' and uid='$cuid';"); 202 204 $db->next_record(); 203 205 $name=$db->f("name"); … … 206 208 return false; 207 209 } 208 $db->query("DELETE FROM ftpusers WHERE id= $id");210 $db->query("DELETE FROM ftpusers WHERE id='$id'"); 209 211 $quota->dec("ftp"); 210 212 return $name; … … 221 223 */ 222 224 function add_ftp($prefixe,$login,$pass,$dir) { 223 global $mem,$db,$err,$quota,$bro ;225 global $mem,$db,$err,$quota,$bro,$cuid; 224 226 $err->log("ftp","add_ftp",$prefixe."_".$login); 225 227 $dir=$bro->convertabsolute($dir); … … 239 241 return false; 240 242 } 241 $db->query("SELECT login FROM membres WHERE uid= ".$this->uid.";");243 $db->query("SELECT login FROM membres WHERE uid='$cuid';"); 242 244 $db->next_record(); 243 245 $lo=$db->f("login"); … … 253 255 if ($quota->cancreate("ftp")) { 254 256 $quota->inc("ftp"); 255 $db->query("INSERT INTO ftpusers (name,password,homedir,uid) VALUES ('".$prefixe.$login."','$pass','/var/alternc/html/$l/$lo/$dir', ".$this->uid.")");257 $db->query("INSERT INTO ftpusers (name,password,homedir,uid) VALUES ('".$prefixe.$login."','$pass','/var/alternc/html/$l/$lo/$dir','$cuid')"); 256 258 return true; 257 259 } else { … … 269 271 global $mem,$db,$err; 270 272 $err->log("ftp","is_ftp",$dir); 271 $lo=$mem->user ;273 $lo=$mem->user["login"]; 272 274 $l=substr($lo,0,1); 273 275 if (substr($dir,0,1)=="/") $dir=substr($dir,1); … … 287 289 */ 288 290 function alternc_del_domain($dom) { 289 global $db,$quota,$err ;291 global $db,$quota,$err,$cuid; 290 292 $err->log("ftp","del_dom",$dom); 291 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE uid= ".$this->uid."AND name LIKE '$dom%'");293 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE uid='$cuid' AND name LIKE '$dom%'"); 292 294 $db->next_record(); 293 295 $cnt=$db->Record["cnt"]; 294 296 $r=$quota->getquota("ftp"); 295 297 $quota->setquota("ftp",$r["u"]-$cnt,1); 296 $db->query("DELETE FROM ftpusers WHERE uid= ".$this->uid."AND name LIKE '$dom%'");298 $db->query("DELETE FROM ftpusers WHERE uid='$cuid' AND name LIKE '$dom%'"); 297 299 return true; 298 300 } … … 303 305 * @access private 304 306 */ 305 function deluser($uid) { 306 global $db,$quota,$err; 307 $err->log("ftp","del_user",$uid); 308 // on détruit les comptes ftp associés au membre correspondant 309 $db->query("DELETE FROM ftpusers WHERE uid=$uid"); 307 function alternc_del_member() { 308 global $db,$quota,$err,$cuid; 309 $err->log("ftp","del_member"); 310 $db->query("DELETE FROM ftpusers WHERE uid='$cuid'"); 310 311 return true; 311 312 } … … 316 317 * @access private 317 318 */ 318 function alternc_quota_check( $id=-1) {319 function alternc_quota_check() { 319 320 global $db,$err,$quota; 320 321 $err->log("ftp","checkquota"); 321 if (!$id==-1) $id=$this->uid; 322 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE uid=$id"); 323 $db->next_record(); 324 $quota->setquota("ftp",$db->f("cnt"),1,$id); 322 $db->query("SELECT COUNT(*) AS cnt FROM ftpusers WHERE uid='$cuid'"); 323 $db->next_record(); 324 $quota->setquota("ftp",$db->f("cnt"),1); 325 325 return true; 326 326 } -
bureau/class/m_hta.php
r137 r222 1 1 <?php 2 2 /* 3 $Id: m_hta.php,v 1. 3 2003/08/19 18:11:40 rootExp $3 $Id: m_hta.php,v 1.4 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 40 40 class m_hta { 41 41 42 /** Membre dont on souhaite gérer les accès restreints */43 var $mid=0;44 45 42 /*---------------------------------------------------------------------------*/ 46 43 /** 47 44 * Constructeur de la classe m_webaccess, initialise le membre 48 * @param integer $membre Numéro du membre courant 49 */ 50 function m_webaccess($membre=0) { 51 $this->mid=$membre; 45 */ 46 function m_webaccess() { 52 47 } 53 48 … … 191 186 */ 192 187 function add_user($user,$password,$dir) { 193 global $err, $bro , $mail; // mail class give md5crypt password function188 global $err, $bro; 194 189 $err->log("hta","add_user",$user."/".$dir); 195 190 $absolute=$bro->convertabsolute($dir,0); … … 213 208 fwrite($file,"\n"); 214 209 } 215 fwrite($file, "$user:". $mail->_md5cr($password)."\n");210 fwrite($file, "$user:"._md5cr($password)."\n"); 216 211 fclose($file); 217 212 return true; … … 266 261 */ 267 262 function change_pass($user,$newpass,$dir) { 268 global $bro,$err ,$mail;263 global $bro,$err; 269 264 $err->log("hta","change_pass",$user."/".$dir); 270 265 $absolute=$bro->convertabsolute($dir,0); … … 283 278 } 284 279 } 285 fwrite($newf, "$user:". $mail->_md5cr($newpass)."\n");280 fwrite($newf, "$user:"._md5cr($newpass)."\n"); 286 281 fclose($file); 287 282 fclose($newf); -
bureau/class/m_mail.php
r174 r222 1 1 <?php 2 2 /* 3 $Id: m_mail.php,v 1. 9 2004/02/17 15:38:26 remiExp $3 $Id: m_mail.php,v 1.10 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 33 33 class m_mail { 34 34 35 /** Membre dont on gère les mails */36 var $uid=0;37 38 var $alternc_quota_name="mail";39 40 35 /** Connexion ldap 41 36 * @access private … … 58 53 * Constructeur 59 54 */ 60 function m_mail( $membre=0) {55 function m_mail() { 61 56 global $L_LDAP_HOST,$L_LDAP_ROOT,$L_LDAP_ROOTPWD,$L_LDAP_POSTFIX; 62 $this->uid=$membre;63 57 $this->ldap=array( 64 58 "server" => $L_LDAP_HOST, … … 70 64 71 65 /* ----------------------------------------------------------------- */ 66 /** 67 * Liste des quotas 68 */ 69 function alternc_quota_names() { 70 return "mail"; 71 } 72 73 /* ----------------------------------------------------------------- */ 72 74 /** Retourne la liste des domaines hébergés en mails sur le compte. 73 75 * @return array Tableau indexé des domaines hébergés en mail. 74 76 */ 75 77 function enum_domains() { 76 global $db,$err ;78 global $db,$err,$cuid; 77 79 $err->log("mail","enum_domains"); 78 80 if (!is_array($this->domains)) { 79 $db->query("select * from domaines where compte= ".$this->uid."AND gesmx=1;");81 $db->query("select * from domaines where compte='$cuid' AND gesmx=1;"); 80 82 $this->domains=array(); 81 83 if ($db->num_rows()>0) { … … 100 102 */ 101 103 function enum_doms_mails($dom,$sort=0) { 102 global $err ;104 global $err,$cuid; 103 105 $err->log("mail","enum_doms_mails",$dom); 104 106 if (!$this->_connectldap()) { … … 106 108 return false; 107 109 } 108 $sr=ldap_search($this->ds,"dc=domains,".$this->ldap["basedn"],"(&(uid= ".$this->uid.")(type=mail)(mail=*@".$dom."))",array("mail","pop"));110 $sr=ldap_search($this->ds,"dc=domains,".$this->ldap["basedn"],"(&(uid=$cuid)(type=mail)(mail=*@".$dom."))",array("mail","pop")); 109 111 $info = ldap_get_entries($this->ds, $sr); 110 112 if ($info["count"]==0) { … … 115 117 for($i=0;$i<$info["count"];$i++) { 116 118 if ($info[$i]["pop"][0]) { 119 /* 117 120 $size=exec("/usr/lib/alternc/du.pl /var/alternc/mail/".substr($info[$i]["mail"][0],0,1)."/".str_replace("@","_",$info[$i]["mail"][0])); 118 121 $size=$size*1024; 122 */ 123 $size=0; 119 124 } else { 120 125 $size=0; … … 218 223 */ 219 224 function add_wrapper($login,$domain,$command,$type) { 220 global $err ;225 global $err,$cuid; 221 226 if (!$this->_connectldap()) { 222 227 $err->raise("mail",1); … … 227 232 return false; 228 233 } 229 $res=array("mail" => $login."@".$domain, "uid" => $ this->uid, "type" => $type, "objectclass" => "mail", "pop" => "0", "account"=>$login."_".$domain );234 $res=array("mail" => $login."@".$domain, "uid" => $cuid, "type" => $type, "objectclass" => "mail", "pop" => "0", "account"=>$login."_".$domain ); 230 235 if (!ldap_add($this->ds,"mail=".$res["mail"].",dc=domains,".$this->ldap["basedn"],$res)) { 231 236 $err->raise("mail",5,ldap_error($this->ds)); … … 304 309 */ 305 310 function put_mail_details($mail,$pop,$pass,$alias) { 306 global $err ;311 global $err,$cuid; 307 312 $err->log("mail","put_mail_details",$mail); 308 313 $account=array(); … … 355 360 } 356 361 if ($pop) $pop="1"; else $pop="0"; 357 $res=array("mail" => $mail."@".$dom, "uid" => $ this->uid, "type" => "mail", "objectclass" => "mail", "pop"=> $pop);362 $res=array("mail" => $mail."@".$dom, "uid" => $cuid, "type" => "mail", "objectclass" => "mail", "pop"=> $pop); 358 363 $res["account"]=$account; 359 364 //modification du mail dans ldap-domains … … 389 394 */ 390 395 function add_mail($dom,$mail,$pop,$pass,$alias) { 391 global $quota,$err ;396 global $quota,$err,$cuid; 392 397 $err->log("mail","add_mail",$dom."/".$mail); 393 398 $account=array(); … … 446 451 } 447 452 if ($pop!="1" && $pop!="0") $pop="0"; 448 $res=array("mail" => $mail."@".$dom, "uid" => $ this->uid, "type" => "mail", "objectclass" => "mail", "pop" => $pop);453 $res=array("mail" => $mail."@".$dom, "uid" => $cuid, "type" => "mail", "objectclass" => "mail", "pop" => $pop); 449 454 $res["account"]=$account; 450 455 /* QuotaCheck */ … … 512 517 */ 513 518 function _createpop($mail,$dom,$pass) { 514 global $err ;519 global $err,$cuid; 515 520 $err->log("mail","_createpop",$mail."@".$dom); 516 521 $m=substr($mail,0,1); … … 523 528 $res=array( 524 529 "uid" => $mail."_".$dom, 525 "gidnumber" => $ this->uid,530 "gidnumber" => $cuid, 526 531 "uidnumber" => 33, 527 532 "objectclass" => array("posixAccount","shadowAccount"), … … 529 534 "gecos" => $gecos, 530 535 "status" => "y", 531 "userpassword" => "{CRYPT}". $this->_md5cr($pass)536 "userpassword" => "{CRYPT}"._md5cr($pass) 532 537 ); 533 538 @ldap_add($this->ds,"uid=".$mail."_".$dom.",dc=users,".$this->ldap["basedn"],$res); … … 535 540 $res=array( 536 541 "uid" => $mail."@".$dom, 537 "gidnumber" => $ this->uid,542 "gidnumber" => $cuid, 538 543 "uidnumber" => 33, 539 544 "objectclass" => array("posixAccount","shadowAccount"), … … 541 546 "gecos" => $gecos, 542 547 "status" => "y", 543 "userpassword" => "{CRYPT}". $this->_md5cr($pass)548 "userpassword" => "{CRYPT}"._md5cr($pass) 544 549 ); 545 550 if (!ldap_add($this->ds,"uid=".$mail."@".$dom.",dc=users,".$this->ldap["basedn"],$res)) { … … 563 568 return false; 564 569 } else { 565 exec("/usr/lib/alternc/mail_add ".$mail."_".$dom." ".$ this->uid);570 exec("/usr/lib/alternc/mail_add ".$mail."_".$dom." ".$cuid); 566 571 exec("/bin/echo ".escapeshellarg($pass)." | /usr/sbin/saslpasswd -u postfix -c -p ".$mail."@".$dom); 567 572 exec("/bin/echo ".escapeshellarg($pass)." | /usr/sbin/saslpasswd -u postfix -c -p ".$mail."_".$dom); … … 580 585 */ 581 586 function _updatepop($mail,$dom,$pass) { 582 global $err ;587 global $err,$cuid; 583 588 $err->log("mail","_updatepop",$mail."@".$dom); 584 589 $m=substr($mail,0,1); … … 586 591 $res=array( 587 592 "uid" => $mail."_".$dom, 588 "gidnumber" => $ this->uid,593 "gidnumber" => $cuid, 589 594 "uidnumber" => 33, 590 595 "objectclass" => array("posixAccount","shadowAccount"), … … 592 597 "gecos" => $mail, 593 598 "status" => "y", 594 "userpassword" => "{CRYPT}". $this->_md5cr($pass)599 "userpassword" => "{CRYPT}"._md5cr($pass) 595 600 ); 596 601 @ldap_modify($this->ds,"uid=".$mail."_".$dom.",dc=users,".$this->ldap["basedn"],$res); 597 602 $res=array( 598 603 "uid" => $mail."@".$dom, 599 "gidnumber" => $ this->uid,604 "gidnumber" => $cuid, 600 605 "uidnumber" => 33, 601 606 "objectclass" => array("posixAccount","shadowAccount"), … … 603 608 "gecos" => $mail, 604 609 "status" => "y", 605 "userpassword" => "{CRYPT}". $this->_md5cr($pass)610 "userpassword" => "{CRYPT}"._md5cr($pass) 606 611 ); 607 612 if (!ldap_modify($this->ds,"uid=".$mail."@".$dom.",dc=users,".$this->ldap["basedn"],$res)) { … … 705 710 * @return boolean TRUE si le domaine a bien été créé, FALSE si une erreur s'est produite. 706 711 * @access private 712 * TODO : ne créer les entrées que si le MX est à true ! (déplacer a alternc_add_mx_domain 707 713 */ 708 714 function alternc_add_domain($dom) { 709 global $err ;715 global $err,$cuid; 710 716 $err->log("mail","add_dom",$dom); 711 717 if (!$this->_connectldap()) { … … 719 725 return false; 720 726 } 721 $res=array("mail" => $dom, "uid" => $ this->uid, "type" => "domain", "objectclass" => "mail", "account"=> $dom);727 $res=array("mail" => $dom, "uid" => $cuid, "type" => "domain", "objectclass" => "mail", "account"=> $dom); 722 728 if (!ldap_add($this->ds,"mail=$dom,dc=domains,".$this->ldap["basedn"],$res)) { 723 729 $err->raise("mail",5,ldap_error($this->ds)); … … 730 736 function alternc_quota_check($id=-1) { 731 737 global $quota,$err; 732 $err->log("mail","checkquota"); 733 if ($id==-1) $id=$this->uid; 734 if (!$this->_connectldap()) { 735 $err->raise("mail",1); 736 return false; 737 } 738 $sr=ldap_search($this->ds,"dc=domains,".$this->ldap["basedn"],"(&(uid=".$this->uid.")(type=mail))",array("")); 739 $info = ldap_get_entries($this->ds, $sr); 740 $quota->setquota("mail",$info[count],1,$id); 741 738 if ($id==-1) $id=$cuid; 742 739 return true; 743 740 } … … 771 768 } 772 769 773 /* ----------------------------------------------------------------- */774 /** Crypte un mot de passe en clair en MD5 avec un salt aléatoire775 * @param string $pass Mot de passe à crypter (max 32 caractères)776 * @return string Retourne le mot de passe crypté777 * @access private778 */779 function _md5cr($pass) {780 $salt=""; //generate a salt using characters [A-Z][a-z][0-9]./781 $chars="./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";782 for ($i=0;$i<16;$i++) {783 $salt.=substr($chars,(mt_rand(0,strlen($chars))),1);784 }785 return crypt($pass,"$1$".$salt);786 /* " */787 }788 789 770 } /* Class m_mail */ 790 771 -
bureau/class/m_mem.php
r125 r222 1 1 <?php 2 2 /* 3 $Id: m_mem.php,v 1. 7 2003/07/24 07:44:11 rootExp $3 $Id: m_mem.php,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 LICENSE … … 35 35 class m_mem { 36 36 37 /** Membre dont on gère les domaines*/38 var $ uid=0;39 37 /** Original uid for the temporary uid swapping (for administrators) */ 38 var $olduid=0; 39 40 40 /** Tableau contenant les champs de la table "membres" du membre courant 41 41 * Ce tableau est utilisable globalement par toutes les classes filles. … … 52 52 * Constructeur 53 53 */ 54 function m_mem($membre=0) { 55 $this->uid=$membre; 54 function m_mem() { 56 55 } 57 56 … … 73 72 */ 74 73 function login($username,$password) { 75 global $db,$session,$err ;74 global $db,$session,$err,$cuid; 76 75 $err->log("mem","login",$username); 77 76 // $username=addslashes($username); … … 84 83 } 85 84 $db->next_record(); 86 if ( $db->f("pass")!=$password) {87 $db->query("UPDATE membres SET lastfail=lastfail+1 WHERE uid= ".$db->f("uid").";");85 if (_md5cr($password,$db->f("pass"))!=$db->f("pass")) { 86 $db->query("UPDATE membres SET lastfail=lastfail+1 WHERE uid='".$db->f("uid")."';"); 88 87 $err->raise("mem",1); 89 88 return false; … … 94 93 } 95 94 $this->user=$db->Record; 96 $ this->uid=$db->f("uid");95 $cuid=$db->f("uid"); 97 96 $ip=getenv("REMOTE_ADDR"); 98 97 /* Fermeture des sessions de cet utilisateur : */ 99 // $db->query("delete from sessions where uid= ".$this->uid.";");98 // $db->query("delete from sessions where uid='".$this->uid."';"); 100 99 /* Ouverture de la session : */ 101 100 $session=md5(uniqid(mt_rand())); 102 $db->query("insert into sessions (sid,ip,uid) values ('$session',INET_ATON('$ip'), ".$this->uid.");");101 $db->query("insert into sessions (sid,ip,uid) values ('$session',INET_ATON('$ip'),'$cuid');"); 103 102 setcookie("session",$session,0,"/"); 104 103 $err->error=0; 105 104 /* Remplissage de $local */ 106 $db->query("SELECT * FROM local WHERE uid= ".$this->uid.";");105 $db->query("SELECT * FROM local WHERE uid='$cuid';"); 107 106 if ($db->num_rows()) { 108 107 $db->next_record(); … … 113 112 114 113 /* ----------------------------------------------------------------- */ 114 /** Démare une session pour username/password sur le bureau depuis l'admin 115 * ne pas confondre avec su : setid permet de se CONNECTER a un compte (definitivement) 116 * tandis que su permet de changer de compte pour quelques commandes (del_user, add_user ...) 117 * et permet de revenir avec unsu. 118 * @param integer $id uid de l'utilisateur sur lequel l'admin se connecte. 119 * @return boolean TRUE si l'utilisateur a été connecté avec succès, FALSE sinon. 120 */ 121 function setid($id) { 122 global $db,$session,$err,$cuid; 123 $err->log("mem","setid",$username); 124 $db->query("select * from membres where uid='$id';"); 125 if ($db->num_rows()==0) { 126 $err->raise("mem",1); 127 return false; 128 } 129 $db->next_record(); 130 131 $this->user=$db->Record; 132 $cuid=$db->f("uid"); 133 $ip=getenv("REMOTE_ADDR"); 134 $session=md5(uniqid(mt_rand())); 135 $db->query("insert into sessions (sid,ip,uid) values ('$session',INET_ATON('$ip'),'$cuid');"); 136 setcookie("session",$session,0,"/"); 137 $err->error=0; 138 /* Remplissage de $local */ 139 $db->query("SELECT * FROM local WHERE uid='$cuid';"); 140 if ($db->num_rows()) { 141 $db->next_record(); 142 $this->local=$db->Record; 143 } 144 return true; 145 } 146 147 /* ----------------------------------------------------------------- */ 115 148 /** Suite à la connexion de l'utilisateur, réinitialise ses paramètres de dernière connexion 116 149 */ 117 150 function resetlast() { 118 global $db ;119 $db->query("UPDATE membres SET lastlogin=NOW(), lastfail=0, lastip='".getenv("REMOTE_HOST")."' WHERE uid= ".$this->user["uid"].";");151 global $db,$cuid; 152 $db->query("UPDATE membres SET lastlogin=NOW(), lastfail=0, lastip='".getenv("REMOTE_HOST")."' WHERE uid='$cuid';"); 120 153 } 121 154 … … 131 164 */ 132 165 function checkid() { 133 global $db,$err,$session,$username,$password ;166 global $db,$err,$session,$username,$password,$cuid; 134 167 if ($username && $password) { 135 168 return $this->login($username,$password); … … 151 184 return false; 152 185 } 153 $ this->uid=$db->f("uid");154 $db->query("select * from membres where uid= ".$this->uid.";");186 $cuid=$db->f("uid"); 187 $db->query("select * from membres where uid='$cuid';"); 155 188 $db->next_record(); 156 189 $this->user=$db->Record; 157 190 $err->error=0; 158 191 /* Remplissage de $local */ 159 $db->query("SELECT * FROM local WHERE uid= ".$this->uid.";");192 $db->query("SELECT * FROM local WHERE uid='$cuid';"); 160 193 if ($db->num_rows()) { 161 194 $db->next_record(); … … 166 199 167 200 /* ----------------------------------------------------------------- */ 168 /** Change l'identité d'un utilisateur. 169 * Note : ne tiens pas compte du paramètre uid. 201 /** Change l'identité d'un utilisateur temporairement. 170 202 * @global string $uid Utilisateur dont on prends l'identité 171 203 * @return TRUE si la session est correcte, FALSE sinon. 172 204 */ 173 205 function su($uid) { 174 global $db,$err; 175 $err->log("mem","su",$uid); 206 global $cuid,$db; 207 if (!$this->olduid) 208 $this->olduid=$cuid; 176 209 $db->query("select * from membres where uid='$uid';"); 177 210 if ($db->num_rows()==0) { … … 181 214 $db->next_record(); 182 215 $this->user=$db->Record; 183 $this->uid=$db->f("uid"); 184 $ip=getenv("REMOTE_ADDR"); 185 /* Fermeture des sessions de cet utilisateur : */ 186 // $db->query("delete from sessions where uid=".$this->uid.";"); 187 $db->query("SELECT * FROM local WHERE uid=".$this->uid.";"); 188 if ($db->num_rows()) { 189 $db->next_record(); 190 $this->local=$db->Record; 191 } 192 return true; 193 } 216 $cuid=$db->f("uid"); 217 return true; 218 } 219 220 /* ----------------------------------------------------------------- */ 221 /** Retourne a l'identite d'origine de l'utilisateur apres su. 222 * @return TRUE si la session est correcte, FALSE sinon. 223 */ 224 function unsu() { 225 global $cuid; 226 if (!$this->olduid) 227 return false; 228 $this->su($this->olduid); 229 $this->olduid=0; 230 return true; 231 } 232 194 233 195 234 /* ----------------------------------------------------------------- */ … … 198 237 */ 199 238 function del_session() { 200 global $db,$session,$user,$err ;239 global $db,$session,$user,$err,$cuid; 201 240 $err->log("mem","del_session"); 202 241 $session=addslashes($session); … … 221 260 return false; 222 261 } 223 $ this->uid=$db->f("uid");262 $cuid=$db->f("uid"); 224 263 $db->query("delete from sessions where sid='$session';"); 225 264 $err->error=0; … … 235 274 */ 236 275 function passwd($oldpass,$newpass,$newpass2) { 237 global $db,$err ;276 global $db,$err,$cuid; 238 277 $err->log("mem","passwd"); 239 278 $oldpass=stripslashes($oldpass); … … 244 283 return false; 245 284 } 246 if ($this->user["pass"]!= $oldpass) {285 if ($this->user["pass"]!=_md5cr($oldpass,$this->user["pass"])) { 247 286 $err->raise("mem",6); 248 287 return false; … … 256 295 return false; 257 296 } 258 $newpass= addslashes($newpass);259 $db->query("UPDATE membres SET pass='$newpass' WHERE uid= ".$this->uid.";");297 $newpass=_md5cr($newpass); 298 $db->query("UPDATE membres SET pass='$newpass' WHERE uid='$cuid';"); 260 299 $err->error=0; 261 300 return true; … … 268 307 */ 269 308 function adminpref($admlist) { 270 global $db,$err ;309 global $db,$err,$cuid; 271 310 $err->log("mem","admlist"); 272 311 if (!$this->user["su"]) { … … 274 313 return false; 275 314 } 276 $db->query("UPDATE membres SET admlist='$admlist' WHERE uid= ".$this->uid.";");315 $db->query("UPDATE membres SET admlist='$admlist' WHERE uid='$cuid';"); 277 316 $err->error=0; 278 317 return true; … … 283 322 * <b>Note : </b>On ne peut demander le mot de passe qu'une seule fois par jour. 284 323 * TODO : Translate this mail into the localization program. 324 * TODO : Check this function's ! 285 325 * @return boolean TRUE si le mot de passe a été envoyé avec succès, FALSE sinon. 286 326 */ 287 function send_pass( ) {327 function send_pass($login) { 288 328 global $err,$db,$L_HOSTING,$L_FQDN; 289 329 $err->log("mem","send_pass"); 290 $uid=$this->uid; 291 $db->query("SELECT * FROM membres WHERE uid='$uid';"); 330 $db->query("SELECT * FROM membres WHERE login='$login';"); 292 331 if (!$db->num_rows()) { 293 332 $err->raise("mem",2); … … 301 340 $txt="Bonjour, 302 341 Il semblerait que vous ayez demandé à recevoir le mot de passe du 303 compte ".$ db->f("login")." sur $L_HOSTING342 compte ".$login." sur $L_HOSTING 304 343 Voici donc le nom d'utilisateur et le mot de passe qui vous 305 344 permettront de rentrer sur le bureau virtuel : … … 321 360 "; 322 361 mail($db->f("mail"),"Votre mot de passe sur $L_HOSTING",$txt,"From: root@$L_FQDN\nReply-to: root@$L_FQDN"); 323 $db->query("UPDATE membres SET lastaskpass=".time()." WHERE uid='$uid';");362 $db->query("UPDATE membres SET lastaskpass=".time()." WHERE login='$login';"); 324 363 return true; 325 364 } … … 332 371 */ 333 372 function ChangeMail1($newmail) { 334 global $err,$db,$L_HOSTING,$L_FQDN ;373 global $err,$db,$L_HOSTING,$L_FQDN,$cuid; 335 374 $err->log("mem","changemail1",$newmail); 336 $uid=$this->uid; 337 $db->query("SELECT * FROM membres WHERE uid='$uid';"); 375 $db->query("SELECT * FROM membres WHERE uid='$cuid';"); 338 376 if (!$db->num_rows()) { 339 377 $err->raise("mem",2); … … 366 404 mail($newmail,"Changement d'email sur $L_HOSTING",$txt,"From: root@$L_FQDN\nReply-to: root@$L_FQDN"); 367 405 // Supprime les demandes précédentes de ce compte ! 368 $db->query("DELETE FROM chgmail WHERE uid='$ uid';");369 $db->query("INSERT INTO chgmail (cookie,ckey,uid,mail,ts) VALUES ('$COOKIE','$KEY','$ uid','$newmail',".time().");");406 $db->query("DELETE FROM chgmail WHERE uid='$cuid';"); 407 $db->query("INSERT INTO chgmail (cookie,ckey,uid,mail,ts) VALUES ('$COOKIE','$KEY','$cuid','$newmail',".time().");"); 370 408 // Supprime les cookies de la veille :) 371 409 $lts=time()-86400; 372 $db->query("DELETE FROM chgmail WHERE ts< $lts;");410 $db->query("DELETE FROM chgmail WHERE ts<'$lts';"); 373 411 return $KEY; 374 412 } … … 397 435 // Supprime les cookies de la veille :) 398 436 $lts=time()-86400; 399 $db->query("DELETE FROM chgmail WHERE ts< $lts;");437 $db->query("DELETE FROM chgmail WHERE ts<'$lts';"); 400 438 return true; 401 439 } … … 406 444 */ 407 445 function set_help_param($show) { 408 global $db,$err ;446 global $db,$err,$cuid; 409 447 $err->log("mem","set_help_param",$show); 410 $db->query("UPDATE membres SET show_help='$show' WHERE uid= ".$this->uid.";");448 $db->query("UPDATE membres SET show_help='$show' WHERE uid='$cuid';"); 411 449 } 412 450 -
bureau/class/m_mysql.php
r167 r222 1 1 <?php 2 2 /* 3 $Id: m_mysql.php,v 1.1 3 2003/12/12 09:21:36 guillaumeExp $3 $Id: m_mysql.php,v 1.14 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 39 39 class m_mysql { 40 40 41 /** Membre dont on gère les bases de données */42 var $uid=0;43 44 var $alternc_quota_name="mysql";45 46 41 var $server="localhost"; 47 42 … … 50 45 * m_mysql([$mid]) Constructeur de la classe m_mysql, initialise le membre concerne 51 46 */ 52 function m_mysql($membre=0) { 53 $this->uid=$membre; 47 function m_mysql() { 48 } 49 50 /* ----------------------------------------------------------------- */ 51 /** 52 * Quota name 53 */ 54 function alternc_quota_names() { 55 return "mysql"; 54 56 } 55 57 … … 62 64 * retourne false si l'utilisateur n'a aucune base de données 63 65 */ 64 function get_dblist($uid=0) { 65 global $db,$err,$bro; 66 if (!$uid) $uid=$this->uid; 66 function get_dblist() { 67 global $db,$err,$bro,$cuid; 67 68 $err->log("mysql","get_dblist"); 68 $db->query("SELECT pass,db, bck_mode, bck_dir FROM db WHERE uid='$ uid';");69 $db->query("SELECT pass,db, bck_mode, bck_dir FROM db WHERE uid='$cuid';"); 69 70 if (!$db->num_rows()) { 70 71 $err->raise("mysql",11); … … 91 92 */ 92 93 function get_mysql_details($dbn) { 93 global $db,$err,$bro,$mem ;94 global $db,$err,$bro,$mem,$cuid; 94 95 $root="/var/alternc/html/".substr($mem->user["login"],0,1)."/".$mem->user["login"]; 95 96 $err->log("mysql","get_mysql_details"); 96 97 $dbname=$mem->user["login"].($dbn?"_":"").$dbn; 97 $db->query("SELECT login,pass,db, bck_mode, bck_gzip, bck_dir, bck_history FROM db WHERE uid= ".$this->uid."AND db='$dbname';");98 $db->query("SELECT login,pass,db, bck_mode, bck_gzip, bck_dir, bck_history FROM db WHERE uid='$cuid' AND db='$dbname';"); 98 99 if (!$db->num_rows()) { 99 100 $err->raise("mysql",4); … … 115 116 */ 116 117 function add_db($dbn) { 117 global $db,$err,$quota,$mem ;118 global $db,$err,$quota,$mem,$cuid; 118 119 $err->log("mysql","add_db",$dbn); 119 120 if (!$quota->cancreate("mysql")) { … … 132 133 } 133 134 // find the login/pass for this user : 134 $db->query("SELECT login,pass FROM db WHERE uid=' ".$this->uid."' LIMIT 0,1;");135 $db->query("SELECT login,pass FROM db WHERE uid='$cuid' LIMIT 0,1;"); 135 136 if (!$db->num_rows()) { 136 137 $lo=$mem->user["login"]; … … 142 143 } 143 144 // Ok, database does not exist, quota is ok and dbname is compliant. Let's proceed 144 $db->query("INSERT INTO db (uid,login,pass,db,bck_mode) VALUES (' ".$this->uid."','$lo','$pa','$dbname',0);");145 $db->query("INSERT INTO db (uid,login,pass,db,bck_mode) VALUES ('$cuid','$lo','$pa','$dbname',0);"); 145 146 $db->query("INSERT INTO mysql.db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost','$dbname','$lo','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');"); 146 $db->query("CREATE DATABASE `$dbname;`"); 147 exec("/usr/lib/alternc/db_create ".$this->uid." /var/alternc/db/$dbname"); 147 $db->query("INSERT INTO mysql.db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('%','$dbname','$lo','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');"); 148 $db->query("CREATE DATABASE $dbname;"); 149 exec("/usr/lib/alternc/db_create $cuid /var/alternc/db/$dbname"); 148 150 $db->query("FLUSH PRIVILEGES;"); 149 151 $quota->inc("mysql"); … … 158 160 * an error occured, such as db does not exist. 159 161 */ 160 function del_db($dbn,$uid=0) { 161 global $db,$err,$quota,$mem; 162 if ($uid) { 163 $db->query("SELECT login FROM membres WHERE uid='$uid';"); 164 $db->next_record(); 165 $login=$db->f("login"); 166 } else { 167 $uid=$this->uid; 168 $login=$mem->user["login"]; 169 } 162 function del_db($dbn) { 163 global $db,$err,$quota,$mem,$cuid; 164 $login=$mem->user["login"]; 170 165 $err->log("mysql","del_db",$dbn); 171 166 if (!ereg("^[0-9a-z]*$",$dbn)) { … … 173 168 return false; 174 169 } 175 $dbname=$ login.($dbn?"_":"").$dbn;170 $dbname=$mem->user["login"].($dbn?"_":"").$dbn; 176 171 $db->query("SELECT * FROM db WHERE db='$dbname';"); 177 172 if (!$db->num_rows()) { … … 180 175 } 181 176 // Ok, database exists and dbname is compliant. Let's proceed 182 $db->query("DELETE FROM db WHERE uid='$ uid' AND db='$dbname';");177 $db->query("DELETE FROM db WHERE uid='$cuid' AND db='$dbname';"); 183 178 $db->query("DELETE FROM mysql.db WHERE db='$dbname';"); 184 $db->query("DROP DATABASE `".$dbname."`;");185 $quota->dec("mysql" ,$uid);186 $db->query("SELECT COUNT(*) AS cnt FROM db WHERE uid='$ uid';");179 $db->query("DROP DATABASE $dbname;"); 180 $quota->dec("mysql"); 181 $db->query("SELECT COUNT(*) AS cnt FROM db WHERE uid='$cuid';"); 187 182 $db->next_record(); 188 183 if ($db->f("cnt")==0) { 189 $db->query("DELETE FROM mysql.user WHERE User=' $login';");184 $db->query("DELETE FROM mysql.user WHERE User='".$mem->user["login"]."';"); 190 185 } 191 186 $db->query("FLUSH PRIVILEGES;"); … … 203 198 */ 204 199 function put_mysql_backup($dbn,$bck_mode,$bck_history,$bck_gzip,$bck_dir) { 205 global $db,$err,$mem,$bro ;200 global $db,$err,$mem,$bro,$cuid; 206 201 $err->log("mysql","put_mysql_backup"); 207 202 if (!ereg("^[0-9a-z]*$",$dbn)) { … … 210 205 } 211 206 $dbname=$mem->user["login"].($dbn?"_":"").$dbn; 212 $db->query("SELECT * FROM db WHERE uid= ".$this->uid."AND db='$dbname';");207 $db->query("SELECT * FROM db WHERE uid='$cuid' AND db='$dbname';"); 213 208 if (!$db->num_rows()) { 214 209 $err->raise("mysql",4); … … 233 228 return false; 234 229 } 235 $db->query("UPDATE db SET bck_mode= $bck_mode, bck_history=$bck_history, bck_gzip=$bck_gzip, bck_dir='$bck_dir' WHERE uid=".$this->uid."AND db='$dbname';");230 $db->query("UPDATE db SET bck_mode='$bck_mode', bck_history='$bck_history', bck_gzip='$bck_gzip', bck_dir='$bck_dir' WHERE uid='$cuid' AND db='$dbname';"); 236 231 return true; 237 232 } … … 243 238 */ 244 239 function put_mysql_details($password) { 245 global $db,$err,$mem ;240 global $db,$err,$mem,$cuid; 246 241 $err->log("mysql","put_mysql_details"); 247 $db->query("SELECT * FROM db WHERE uid= ".$this->uid.";");242 $db->query("SELECT * FROM db WHERE uid='$cuid';"); 248 243 if (!$db->num_rows()) { 249 244 $err->raise("mysql",7); … … 256 251 $login=$mem->user["login"]; 257 252 // Update all the "pass" fields for this user : 258 $db->query("UPDATE db SET pass='$password' WHERE uid= ".$this->uid.";");253 $db->query("UPDATE db SET pass='$password' WHERE uid='$cuid';"); 259 254 $db->query("UPDATE mysql.user SET password=PASSWORD('$password') WHERE User='$login';"); 260 255 $db->query("FLUSH PRIVILEGES;"); … … 262 257 } 263 258 264 /* **************************************************************************** 265 new_mysql($password) Cree un nouveau compte mysql au membre 266 $password est le mot de passe (en clair) 267 *****************************************************************************/ 259 /* ----------------------------------------------------------------- */ 260 /** 261 * Create a new mysql account for this user 262 * @param string cleartext password for the new account 263 */ 268 264 function new_mysql($password) { 269 global $db,$err,$mem,$quota ;265 global $db,$err,$mem,$quota,$cuid; 270 266 $err->log("mysql","new_mysql"); 271 267 if (strlen($password)>16) { … … 273 269 return false; 274 270 } 275 $db->query("SELECT * FROM db WHERE uid= ".$this->uid.";");271 $db->query("SELECT * FROM db WHERE uid='$cuid';"); 276 272 if ($db->num_rows()) { 277 273 $err->raise("mysql",10); … … 280 276 $login=$mem->user["login"]; 281 277 // OK, creation now... 282 $db->query("INSERT INTO db (uid,login,pass,db) VALUES (' ".$this->uid."','".$mem->user["login"]."','$password','".$mem->user["login"]."');");278 $db->query("INSERT INTO db (uid,login,pass,db) VALUES ('$cuid','".$mem->user["login"]."','$password','".$mem->user["login"]."');"); 283 279 $db->query("INSERT INTO mysql.user (Host,User,Password) VALUES ('localhost','".$mem->user["login"]."',PASSWORD('$password'));"); 280 $db->query("INSERT INTO mysql.user (Host,User,Password) VALUES ('%','".$mem->user["login"]."',PASSWORD('$password'));"); 284 281 $db->query("INSERT INTO mysql.db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost','".$mem->user["login"]."','".$mem->user["login"]."','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');"); 285 $db->query("CREATE DATABASE `".$mem->user["login"]."`;"); 286 exec("/usr/lib/alternc/db_create ".$this->uid." /var/alternc/db/".$mem->user["login"]); 282 $db->query("INSERT INTO mysql.db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('%','".$mem->user["login"]."','".$mem->user["login"]."','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');"); 283 $db->query("CREATE DATABASE ".$mem->user["login"].";"); 284 exec("/usr/lib/alternc/db_create $cuid /var/alternc/db/".$mem->user["login"]); 287 285 $db->query("FLUSH PRIVILEGES;"); 288 286 $quota->inc("mysql"); … … 291 289 292 290 291 /* ----------------------------------------------------------------- */ 292 /** 293 * Restore a sql script on a user's database. 294 */ 293 295 function restore($file,$stdout,$r) { 294 global $err,$bro,$mem ;296 global $err,$bro,$mem,$L_MYSQL_HOST; 295 297 if (!($fi=$bro->convertabsolute($file,0))) { 296 298 $err->raise("mysql",9); 297 299 } 298 300 if (substr($fi,-3)==".gz") { 299 $exe="/bin/gzip -d -c <\"$fi\" | /usr/bin/mysql - u".$r["login"]." -p".$r["pass"]." ".$r["db"];300 } else { 301 $exe="/usr/bin/mysql - u".$r["login"]." -p".$r["pass"]." ".$r["db"]." <".$fi;301 $exe="/bin/gzip -d -c <\"$fi\" | /usr/bin/mysql -h".$L_MYSQL_HOST." -u".$r["login"]." -p".$r["pass"]." ".$r["db"]; 302 } else { 303 $exe="/usr/bin/mysql -h".$L_MYSQL_HOST." -u".$r["login"]." -p".$r["pass"]." ".$r["db"]." <".$fi; 302 304 } 303 305 … … 316 318 } 317 319 318 function alternc_quota_check($id) { 320 /* ----------------------------------------------------------------- */ 321 /** 322 * AlternC's standard function that check a user's qutoa 323 */ 324 function alternc_quota_check() { 319 325 global $err,$quota; 320 326 $err->log("mysql","alternc_quota_check"); 321 $c=$this->get_dblist( $id);327 $c=$this->get_dblist(); 322 328 if (is_array($c)) { 323 $quota->setquota("mysql",count($c),1,$id); 324 } else { 325 $quota->setquota("mysql",0,1,$id); 326 } 327 return true; 328 } 329 330 function alternc_del_member($id) { 331 global $db,$err; 329 $quota->setquota("mysql",count($c),1); 330 } else { 331 $quota->setquota("mysql",0,1); 332 } 333 return true; 334 } 335 336 /* ----------------------------------------------------------------- */ 337 /** 338 * AlternC's standard function that delete a member 339 */ 340 function alternc_del_member() { 341 global $db,$err,$cuid; 332 342 $err->log("mysql","alternc_del_member"); 333 $c=$this->get_dblist( $id);343 $c=$this->get_dblist(); 334 344 if (is_array($c)) { 335 345 for($i=0;$i<count($c);$i++) { 336 $this->del_db($c[$i]["name"] ,$id);346 $this->del_db($c[$i]["name"]); 337 347 } 338 348 } -
bureau/class/m_quota.php
r96 r222 1 1 <?php 2 2 /* 3 $Id: m_quota.php,v 1. 5 2003/06/09 20:19:32 rootExp $3 $Id: m_quota.php,v 1.6 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 46 46 class m_quota { 47 47 48 var $uid=0; /* Membre dont on souhaite gérer les quotas DISQUE DUR */49 50 48 var $disk=Array( /* Liste des ressources disque soumises a quota */ 51 49 "web"=>"web"); … … 53 51 var $quotas; 54 52 55 /***************************************************************************** 56 m_quota([$uid]) Constructeur de la classe m_quota, initialise le membre 57 *****************************************************************************/ 58 function m_quota($membre=0) { 59 $this->uid=$membre; 60 } 61 62 /*****************************************************************************/ 53 54 /* ----------------------------------------------------------------- */ 55 /** 56 * Constructeur 57 */ 58 function m_quota() { 59 } 60 61 /* ----------------------------------------------------------------- */ 62 /** 63 * @Return true if the user can create a ressource (= is there any quota left ?) 64 */ 63 65 function cancreate($ressource="") { 64 66 $t=$this->getquota($ressource); … … 66 68 } 67 69 68 /** Retourne la liste des quotas possibles. **/ 70 /* ----------------------------------------------------------------- */ 71 /** 72 * @Return an array with the list of quota-managed services in the server 73 */ 69 74 function qlist() { 70 75 global $classes; … … 75 80 } 76 81 for($i=0;$i<count($classes);$i++) { 77 if ($GLOBALS[$classes[$i]]->alternc_quota_name) { 78 $qlist[$GLOBALS[$classes[$i]]->alternc_quota_name]=_("quota_".$GLOBALS[$classes[$i]]->alternc_quota_name); 82 if (method_exists($GLOBALS[$classes[$i]],"alternc_quota_names")) { 83 $res=$GLOBALS[$classes[$i]]->alternc_quota_names(); 84 if (is_array($res)) { 85 foreach($res as $k) { 86 $qlist[$k]=_("quota_".$k); 87 } 88 } else { 89 $qlist[$res]=_("quota_".$res); 90 } 79 91 } 80 92 } … … 82 94 } 83 95 84 /*****************************************************************************/ 85 function getquota($ressource="",$uid=-1) { 86 global $db,$err; 96 /* ----------------------------------------------------------------- */ 97 /** 98 * @param string ressource to get quota of 99 * @Return the quota used and total for this ressource (or for all ressource if unspecified) 100 */ 101 function getquota($ressource="") { 102 global $db,$err,$cuid; 87 103 $err->log("quota","getquota",$ressource); 88 if ($uid==-1) $uid=$this->uid; 89 if (!is_array($this->quotas)) { /* First time, read the quotas */ 90 $db->query("select * from quotas where uid=$uid;"); 91 if ($db->num_rows()==0) { 92 return array("t"=>0, "u"=>0); 93 } else { 94 while ($db->next_record()) { 95 $this->quotas[$db->Record["name"]]=array("t"=>$db->Record["total"],"u"=>$db->Record["used"]); 96 } 104 $db->query("select * from quotas where uid='$cuid';"); 105 if ($db->num_rows()==0) { 106 return array("t"=>0, "u"=>0); 107 } else { 108 while ($db->next_record()) { 109 $this->quotas[$db->Record["name"]]=array("t"=>$db->Record["total"],"u"=>$db->Record["used"]); 97 110 } 98 111 } … … 100 113 while (list($key,$val)=each($this->disk)) { 101 114 $a=array(); 102 exec("/usr/lib/alternc/quota_get ".$ uid." ".$val,$a);115 exec("/usr/lib/alternc/quota_get ".$cuid." ".$val,$a); 103 116 $this->quotas[$val]=array("t"=>$a[1],"u"=>$a[0]); 104 117 } 105 118 106 119 if ($ressource) { 107 120 return $this->quotas[$ressource]; … … 110 123 } 111 124 } 112 113 /*****************************************************************************/ 114 function setquota($ressource,$size,$used=0,$uid=-1) { 115 global $err,$db; 125 126 /* ----------------------------------------------------------------- */ 127 /** 128 * @param string ressource to set quota of 129 * @param integer size of the quota (available or used) 130 * @param integer 0 for total quota, 1 for used quota 131 */ 132 function setquota($ressource,$size,$used=0) { 133 global $err,$db,$cuid; 116 134 $err->log("quota","setquota",$ressource."/".$size); 117 if ($uid==-1) $uid=$this->uid;118 135 if (intval($size)==0) $size="0"; 119 136 if ($this->disk[$ressource]) { 120 // C'est une ressource disque : exec121 exec("/usr/lib/alternc/quota_edit $ uid $size");137 // It's a disk resource, update it with shell cmd 138 exec("/usr/lib/alternc/quota_edit $cuid $size"); 122 139 return true; 123 140 } 124 // 1. on vérifie que ce quota existe pour le membre, sinon, on le crée avec 2 valeurs à 0.125 $db->query("SELECT * FROM quotas WHERE uid= $uidAND name='$ressource'");141 // We check that this resurce exists for this client : 142 $db->query("SELECT * FROM quotas WHERE uid='$cuid' AND name='$ressource'"); 126 143 if ($db->num_rows()) { 127 // Existe : on update128 144 if ($used) { 129 $db->query("UPDATE quotas SET used= $size WHERE uid=$uidAND name='$ressource';");145 $db->query("UPDATE quotas SET used='$size' WHERE uid='$cuid' AND name='$ressource';"); 130 146 } else { 131 $db->query("UPDATE quotas SET total=$size WHERE uid=$uid AND name='$ressource';"); 132 } 133 } else { 134 // N'existe pas, on crée. 147 $db->query("UPDATE quotas SET total='$size' WHERE uid='$cuid' AND name='$ressource';"); 148 } 149 } else { 135 150 if ($used) { 136 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ( $uid,'$ressource',$size,0);");151 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ('$cuid','$ressource','$size',0);"); 137 152 } else { 138 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ( $uid,'$ressource',0,$size);");153 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ('$cuid','$ressource',0,'$size');"); 139 154 } 140 155 } … … 142 157 } 143 158 144 /*****************************************************************************/ 159 /* ----------------------------------------------------------------- */ 160 /** 161 * Increment the resource usage for the named resource 162 */ 145 163 function inc($ressource) { 146 global $db,$err ;164 global $db,$err,$cuid; 147 165 $err->log("quota","inc",$ressource); 148 // 1. on vérifie que ce quota existe pour le membre, sinon, on le crée avec 2 valeurs à 0. 149 $db->query("SELECT * FROM quotas WHERE uid=".$this->uid." AND name='$ressource'"); 166 $db->query("SELECT * FROM quotas WHERE uid='$cuid' AND name='$ressource'"); 150 167 if ($db->num_rows()) { 151 // Existe : on update 152 $db->query("UPDATE quotas SET used=used+1 WHERE uid=".$this->uid." AND name='$ressource';"); 153 } else { 154 // N'Existe pas, on crée. 155 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES (".$this->uid.",'$ressource',1,0);"); 156 } 157 } 158 159 /*****************************************************************************/ 160 function dec($ressource,$uid=0) { 161 global $db,$err; 168 $db->query("UPDATE quotas SET used=used+1 WHERE uid='$cuid' AND name='$ressource';"); 169 } else { 170 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ('$cuid','$ressource',1,0);"); 171 } 172 } 173 174 /* ----------------------------------------------------------------- */ 175 /** 176 * Decrement the resource usage for the named resource 177 */ 178 function dec($ressource) { 179 global $db,$err,$cuid; 162 180 $err->log("quota","dec",$ressource); 163 if (!$uid) $uid=$this->uid; 164 // 1. on vérifie que ce quota existe pour le membre, sinon, on le crée avec 2 valeurs à 0. 165 $db->query("SELECT * FROM quotas WHERE uid='$uid' AND name='$ressource'"); 181 $db->query("SELECT * FROM quotas WHERE uid='$cuid' AND name='$ressource'"); 166 182 if ($db->num_rows()) { 167 // Existe : on update 168 $db->query("UPDATE quotas SET used=used-1 WHERE uid='$uid' AND name='$ressource';"); 169 } else { 170 // N'Existe pas, on crée. 171 $db->query("INSERT INTO quotas (uid,name,used,total) VALUES ('$uid','$ressource',-1,0);"); 172 } 173 } 174 175 /*****************************************************************************/ 176 function checkquota($id=-1) { 177 global $err,$classes; 183 $db->query("UPDATE quotas SET used=used-1 WHERE uid='$cuid' AND name='$ressource';"); 184 } else { 185 // TODO : raise an error here ;) 186 } 187 } 188 189 /* ----------------------------------------------------------------- */ 190 /** 191 * Check a user's quota: call a function for each class. 192 */ 193 function checkquota() { 194 global $err,$classes,$cuid; 178 195 $err->log("quota","checkquota",$id); 179 if ($id==-1) $id=$this->uid;180 // Check quotas for all classes :181 196 for($i=0;$i<count($classes);$i++) { 182 197 if (method_exists($GLOBALS[$classes[$i]],"alternc_quota_check")) { 183 $GLOBALS[$classes[$i]]->alternc_quota_check( $id);198 $GLOBALS[$classes[$i]]->alternc_quota_check(); 184 199 } 185 200 } 186 201 } 187 202 188 /*****************************************************************************/ 189 function delquotas($uid) { 190 global $db,$err; 191 $err->log("quota","delquota",$id); 192 $db->query("DELETE FROM quotas WHERE uid='$uid';"); 203 /* ----------------------------------------------------------------- */ 204 /** 205 * Erase all quota information about the user. 206 */ 207 function delquotas() { 208 global $db,$err,$cuid; 209 $err->log("quota","delquota"); 210 $db->query("DELETE FROM quotas WHERE uid='$cuid';"); 193 211 return true; 194 212 } 195 213 196 /*****************************************************************************/ 214 /* ----------------------------------------------------------------- */ 215 /** 216 * Get the defaul quotas as an array 217 */ 197 218 function getdefaults() { 198 219 global $db; … … 208 229 } 209 230 210 /*****************************************************************************/ 231 /* ----------------------------------------------------------------- */ 232 /** 233 * Set the default quotas 234 * @param array array of quota key=>val 235 */ 211 236 function setdefaults($newq) { 212 237 global $db; … … 224 249 } 225 250 226 /*****************************************************************************/ 227 function addquotas($uid) { 228 global $db,$err; 229 $err->log("quota","addquota",$id); 251 /* ----------------------------------------------------------------- */ 252 /** 253 * Create default quotas entries for the user 254 */ 255 function addquotas() { 256 global $db,$err,$cuid; 257 $err->log("quota","addquota"); 230 258 $ql=$this->qlist(); 231 259 reset($ql); … … 239 267 $tot=0; 240 268 } 241 $db->query("INSERT INTO quotas(uid,name,total) VALUES('$ uid','$key','$tot');");269 $db->query("INSERT INTO quotas(uid,name,total) VALUES('$cuid','$key','$tot');"); 242 270 } 243 271 } … … 251 279 $tot=0; 252 280 } 253 exec("/usr/lib/alternc/quota_edit $ uid ".($tot));281 exec("/usr/lib/alternc/quota_edit $cuid ".($tot)); 254 282 } 255 283 return true; 256 284 } 257 285 258 function alternc_del_member($uid) { 259 $this->delquotas($uid); 260 } 261 262 function alternc_add_member($uid) { 263 $this->addquotas($uid); 286 /* ----------------------------------------------------------------- */ 287 /** 288 * AlternC's standard function called when a member is created 289 */ 290 function alternc_del_member() { 291 $this->delquotas(); 292 } 293 294 /* ----------------------------------------------------------------- */ 295 /** 296 * AlternC's standard function called when a member is deleted 297 */ 298 function alternc_add_member() { 299 $this->addquotas(); 264 300 } 265 301 -
bureau/class/m_stats.php
r157 r222 1 1 <?php 2 2 /* 3 $Id: m_stats.php,v 1. 9 2003/10/09 00:07:21 rootExp $3 $Id: m_stats.php,v 1.10 2004/05/19 14:23:06 benjamin Exp $ 4 4 ---------------------------------------------------------------------- 5 5 AlternC - Web Hosting System … … 40 40 class m_stats { 41 41 42 /** Membre actuellement connecté */43 var $uid=0;44 45 var $alternc_quota_name="stats";46 47 42 /** Emplacement des fichiers de conf webalizer 48 43 * @access private … … 67 62 * Constructeur 68 63 */ 69 function m_stats($membre=0) { 70 $this->uid=$membre; 71 } 72 64 function m_stats() { 65 } 66 67 /* ----------------------------------------------------------------- */ 68 /** 69 * Nom du quota 70 */ 71 function alternc_quota_names() { 72 return "stats"; 73 } 74 73 75 /* ----------------------------------------------------------------- */ 74 76 /** … … 83 85 */ 84 86 function get_list() { 85 global $db,$err ;87 global $db,$err,$cuid; 86 88 $err->log("stats","get_list"); 87 89 $r=array(); 88 $db->query("SELECT id, hostname, dir, lang FROM stats WHERE uid= ".$this->uid."ORDER BY hostname;");90 $db->query("SELECT id, hostname, dir, lang FROM stats WHERE uid='$cuid' ORDER BY hostname;"); 89 91 if ($db->num_rows()) { 90 92 while ($db->next_record()) { … … 118 120 */ 119 121 function get_stats_details($id) { 120 global $db,$err ;122 global $db,$err,$cuid; 121 123 $err->log("stats","get_stats_details",$id); 122 124 $r=array(); 123 $db->query("SELECT id, hostname, dir, lang FROM stats WHERE uid= ".$this->uid." AND id=$id;");125 $db->query("SELECT id, hostname, dir, lang FROM stats WHERE uid='$cuid' AND id='$id';"); 124 126 if ($db->num_rows()) { 125 127 $db->next_record(); … … 145 147 */ 146 148 function host_list() { 147 global $db,$err ;149 global $db,$err,$cuid; 148 150 $r=array(); 149 $db->query("SELECT domaine,sub FROM sub_domaines WHERE compte= ".$this->uid."ORDER BY domaine,sub;");151 $db->query("SELECT domaine,sub FROM sub_domaines WHERE compte='$cuid' ORDER BY domaine,sub;"); 150 152 while ($db->next_record()) { 151 153 if ($db->f("sub")) { … … 164 166 */ 165 167 function select_host_list($current) { 166 global $db,$err;167 168 $r=$this->host_list(); 168 169 reset($r); … … 196 197 */ 197 198 function put_stats_details($id,$dir,$stlang) { 198 global $db,$err,$bro,$mem ;199 global $db,$err,$bro,$mem,$cuid; 199 200 $err->log("stats","put_stats_details",$id); 200 $db->query("SELECT count(*) AS cnt FROM stats WHERE id= $id and uid=".$this->uid.";");201 $db->query("SELECT count(*) AS cnt FROM stats WHERE id='$id' and uid='$cuid';"); 201 202 $db->next_record(); 202 203 if (!$db->f("cnt")) { … … 215 216 $lo=$mem->user["login"]; 216 217 $l=substr($lo,0,1); 217 $db->query("UPDATE stats SET lang='$stlang', dir='/var/alternc/html/$l/$lo/$dir', uid= ".$this->uid." WHERE id=$id;");218 $db->query("UPDATE stats SET lang='$stlang', dir='/var/alternc/html/$l/$lo/$dir', uid='$cuid' WHERE id='$id';"); 218 219 $this->_createconf($id); 219 220 return true; … … 227 228 */ 228 229 function delete_stats($id) { 229 global $db,$err,$quota ;230 global $db,$err,$quota,$cuid; 230 231 $err->log("stats","delete_stats",$id); 231 $db->query("SELECT hostname FROM stats WHERE id= $id and uid=".$this->uid.";");232 $db->query("SELECT hostname FROM stats WHERE id='$id' and uid='$cuid';"); 232 233 if (!$db->num_rows()) { 233 234 $err->raise("stats",2); … … 236 237 $db->next_record(); 237 238 $this->_delconf($db->f("hostname")); 238 $db->query("DELETE FROM stats WHERE id= $id");239 $db->query("DELETE FROM stats WHERE id='$id'"); 239 240 $quota->dec("stats"); 240 241 return $name; … … 250 251 */ 251 252 function add_stats($hostname,$dir,$lang) { 252 global $db,$err,$quota,$bro,$mem ;253 global $db,$err,$quota,$bro,$mem,$cuid; 253 254 $err->log("stats","add_stats",$hostname); 254 255 $dir=$bro->convertabsolute($dir); … … 271 272 if ($quota->cancreate("stats")) { 272 273 $quota->inc("stats"); 273 $db->query("INSERT INTO stats (hostname,lang,dir,uid) VALUES ('$hostname','$lang','/var/alternc/html/$l/$lo/$dir', ".$this->uid.")");274 $db->query("INSERT INTO stats (hostname,lang,dir,uid) VALUES ('$hostname','$lang','/var/alternc/html/$l/$lo/$dir','$cuid')"); 274 275 $this->_createconf($db->lastid()); 275 276 return true; … … 280 281 } 281 282 282 /* ----------------------------------------------------------------- */ 283 /** 284 * Fonction appellée par m_dom lorsqu'un domaine est supprimé. 285 * @param string $dom est le domaine à supprimer. 286 */ 287 function alternc_del_domain($dom) { 288 global $db,$quota,$err; 289 $err->log("stats","del_dom",$dom); 290 // on remonte les quotas ;) 291 $db=new DB_System(); 292 $db->query("SELECT * FROM stats WHERE uid=".$this->uid." AND hostname like '%$dom'"); 283 function alternc_del_member() { 284 global $db,$quota,$err,$cuid; 285 $err->log("stats","del_member"); 286 $db->query("SELECT * FROM stats WHERE uid='$cuid';"); 293 287 $cnt=0; 294 288 $t=array(); … … 297 291 $t[]=$db->f("hostname"); 298 292 } 299 $r=$quota->getquota("stats"); 300 $quota->setquota("stats",$r["u"]-$cnt,1); 301 // on détruit les jeux de stats associés au préfixe correspondant : 293 $db->query("DELETE FROM stats WHERE uid='$cuid';"); 302 294 for($i=0;$i<cnt;$i++) { 303 $db->query("DELETE FROM stats WHERE uid=".$this->uid." AND hostname='".$t[$i]."';");304 295 $this->_delconf($t[$i]); 305 296 } 306 // Suppression des stats apache brutes : 307 $db->query("SELECT * FROM stats2 WHERE mid=".$this->uid." AND hostname like '%$dom'"); 297 $db->query("DELETE FROM stats2 WHERE mid='$cuid';"); 298 return true; 299 } 300 301 /* ----------------------------------------------------------------- */ 302 /** 303 * Fonction appellée par m_dom lorsqu'un domaine est supprimé. 304 * @param string $dom est le domaine à supprimer. 305 */ 306 function alternc_del_domain($dom) { 307 global $db,$quota,$err,$cuid; 308 $err->log("stats","del_dom",$dom); 309 // on remonte les quotas ;) 310 $db=new DB_System(); 311 $db->query("SELECT * FROM stats WHERE uid='$cuid' AND hostname like '%$dom'"); 308 312 $cnt=0; 309 313 $t=array(); … … 316 320 // on détruit les jeux de stats associés au préfixe correspondant : 317 321 for($i=0;$i<cnt;$i++) { 318 $db->query("DELETE FROM stats2 WHERE uid=".$this->uid." AND hostname='".$t[$i]."';"); 322 $db->query("DELETE FROM stats WHERE uid='$cuid' AND hostname='".$t[$i]."';"); 323 $this->_delconf($t[$i]); 324 } 325 // Suppression des stats apache brutes : 326 $db->query("SELECT * FROM stats2 WHERE mid='$cuid' AND hostname like '%$dom'"); 327 $cnt=0; 328 $t=array(); 329 while ($db->next_record()) { 330 $cnt++; 331 $t[]=$db->f("hostname"); 332 } 333 $r=$quota->getquota("stats"); 334 $quota->setquota("stats",$r["u"]-$cnt,1); 335 // on détruit les jeux de stats associés au préfixe correspondant : 336 for($i=0;$i<cnt;$i++) { 337 $db->query("DELETE FROM stats2 WHERE mid='$cuid' AND hostname='".$t[$i]."';"); 319 338 } 320 339 return true; … … 326 345 * @param integer $id Numéro de l'utilisateur (facultatif) 327 346 */ 328 function alternc_quota_check( $id=-1) {329 global $db,$err,$quota ;347 function alternc_quota_check() { 348 global $db,$err,$quota,$cuid; 330 349 $err->log("stats","checkquota"); 331 if (!$id==-1) $id=$this->uid; 332 $db->query("SELECT COUNT(*) AS cnt FROM stats WHERE uid=$id"); 350 $db->query("SELECT COUNT(*) AS cnt FROM stats WHERE uid='$cuid'"); 333 351 $db->next_record(); 334 352 $ss=intval($db->f("cnt")); 335 $db->query("SELECT COUNT(*) AS cnt FROM stats2 WHERE mid= $id");353 $db->query("SELECT COUNT(*) AS cnt FROM stats2 WHERE mid='$cuid'"); 336 354 $db->next_record(); 337 355 $ss+=intval($db->f("cnt")); 338 $quota->setquota("stats",$ss,1 ,$id);356 $quota->setquota("stats",$ss,1); 339 357 return true; 340 358 } … … 350 368 */ 351 369 function get_list_raw() { 352 global $db,$err ;370 global $db,$err,$cuid; 353 371 $err->log("stats","get_list_raw"); 354 372 $r=array(); 355 $db->query("SELECT id, hostname, folder FROM stats2 WHERE mid= ".$this->uid."ORDER BY hostname;");373 $db->query("SELECT id, hostname, folder FROM stats2 WHERE mid='$cuid' ORDER BY hostname;"); 356 374 if ($db->num_rows()) { 357 375 while ($db->next_record()) { … … 383 401 */ 384 402 function get_stats_details_raw($id) { 385 global $db,$err ;403 global $db,$err,$cuid; 386 404 $err->log("stats","get_stats_details_raw",$id); 387 405 $r=array(); 388 $db->query("SELECT id, hostname, folder FROM stats2 WHERE mid= ".$this->uid." AND id=$id;");406 $db->query("SELECT id, hostname, folder FROM stats2 WHERE mid='$cuid' AND id='$id';"); 389 407 if ($db->num_rows()) { 390 408 $db->next_record(); … … 412 430 */ 413 431 function put_stats_details_raw($id,$folder) { 414 global $db,$err,$bro,$mem ;432 global $db,$err,$bro,$mem,$cuid; 415 433 $err->log("stats","put_stats_details_raw",$id); 416 $db->query("SELECT count(*) AS cnt FROM stats2 WHERE id= $id and mid=".$this->uid.";");434 $db->query("SELECT count(*) AS cnt FROM stats2 WHERE id='$id' and mid='$cuid';"); 417 435 $db->next_record(); 418 436 if (!$db->f("cnt")) { … … 427 445 $lo=$mem->user["login"]; 428 446 $l=substr($lo,0,1); 429 $db->query("UPDATE stats2 SET folder='/var/alternc/html/$l/$lo/$folder', mid= ".$this->uid." WHERE id=$id;");447 $db->query("UPDATE stats2 SET folder='/var/alternc/html/$l/$lo/$folder', mid='$cuid' WHERE id='$id';"); 430 448 return true; 431 449 } … … 438 456 */ 439 457 function delete_stats_raw($id) { 440 global $db,$err,$quota ;458 global $db,$err,$quota,$cuid; 441 459 $err->log("stats","delete_stats_raw",$id); 442 $db->query("SELECT hostname FROM stats2 WHERE id= $id and mid=".$this->uid.";");460 $db->query("SELECT hostname FROM stats2 WHERE id='$id' and mid='$cuid';"); 443 461 if (!$db->num_rows()) { 444 462 $err->raise("stats",8); … … 446 464 } 447 465 $db->next_record(); 448 $db->query("DELETE FROM stats2 WHERE id= $id");466 $db->query("DELETE FROM stats2 WHERE id='$id'"); 449 467 $quota->dec("stats"); 450 468 return true; … … 459 477 */ 460 478 function add_stats_raw($hostname,$dir) { 461 global $db,$err,$quota,$bro,$mem ;479 global $db,$err,$quota,$bro,$mem,$cuid; 462 480 $err->log("stats","add_stats_raw",$hostname); 463 481 // TODO : utiliser le second param de convertabsolute pour simplification. … … 470 488 if ($quota->cancreate("stats")) { 471 489 $quota->inc("stats"); 472 $db->query("INSERT INTO stats2 (hostname,folder,mid) VALUES ('$hostname','/var/alternc/html/$l/$lo/$dir', ".$this->uid.")");490 $db->query("INSERT INTO stats2 (hostname,folder,mid) VALUES ('$hostname','/var/alternc/html/$l/$lo/$dir','$cuid')"); 473 491 return true; 474 492 } else { … … 490 508 * @access private 491 509 */ 492 function _createconf($id ) {493 global $db,$err ;510 function _createconf($id,$nochk=0) { 511 global $db,$err,$cuid; 494 512 $s=implode("",file($this->TEMPLATEFILE)); 495 $db->query("SELECT * FROM stats WHERE id=$id AND uid=".$this->uid.";"); 513 if ($nochk) { 514 $db->query("SELECT * FROM stats WHERE id='$id';"); 515 } else { 516 $db->query("SELECT * FROM stats WHERE id='$id' AND uid='$cuid';"); 517 } 496 518 if (!$db->num_rows()) { 497 519 $err->raise("stats",2); -
bureau/locales/en_US/LC_MESSAGES/mysql.po
r186 r222 2 2 # Copyright (c) 2002 the AlternC Development Team 3 3 # <tech@alternc.org> 4 # $Id: mysql.po,v 1. 6 2004/05/01 17:30:27 anonymousExp $4 # $Id: mysql.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $ 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: mysql.po,v 1. 6 2004/05/01 17:30:27 anonymousExp $\n"7 "Project-Id-Version: $Id: mysql.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" … … 75 75 msgid "Database" 76 76 msgstr "Database" 77 78 msgid "Database name"79 msgstr "Database name"80 77 81 78 msgid "Delete my SQL database" -
bureau/locales/es_ES/LC_MESSAGES/admin.po
r166 r222 1 # translation of admin2.po to 2 # Spanish AlternC Translation 3 # Copyright (c) 2002 the AlternC Development Team 4 # <tech@alternc.org> 5 # Bruno Marmier <bruno@marmier.net>, 2003 6 # 7 msgid "" 8 msgstr "" 9 "Project-Id-Version: admin2\n" 1 msgid "" 2 msgstr "" 3 "Project-Id-Version: $Id: admin.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $\n" 10 4 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 11 "PO-Revision-Date: 200 3-09-30 16:42+0200\n"12 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"13 "Language-Team: <i18n@alternc.org>\n"5 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 6 "Last-Translator: Bruno <bruno@alternc.org>\n" 7 "Language-Team: Espanol <i18n@alternc.org>\n" 14 8 "MIME-Version: 1.0\n" 15 9 "Content-Type: text/plain; charset=ISO-8859-1\n" 16 10 "Content-Transfer-Encoding: 8bit\n" 17 "X-Generator: KBabel 1.0.1\n" 18 11 "X-Generator: Emacs 21\n" 12 13 # ################################################################# 19 14 # m_membre 20 15 msgid "err_admin_1" 21 msgstr "-- ¡¡Solo los administradores tienen acceso a estas páginas!! -- "16 msgstr "-- ¡¡Solo los administradores tienen acceso a estas páginas!! --" 22 17 23 18 msgid "err_admin_2" … … 31 26 32 27 msgid "err_admin_5" 33 msgstr "Por favor, entre un email válido ."28 msgstr "Por favor, entre un email válido" 34 29 35 30 msgid "err_admin_6" 36 msgstr " Los campos login, contraseña y correo son obligatorios."31 msgstr "Todos los campos son obligatorios" 37 32 38 33 msgid "err_admin_7" 39 34 msgstr "¡Solo puede pedir su contraseña una vez por día!" 40 35 36 #, fuzzy 41 37 msgid "err_admin_8" 42 msgstr "¡El usuario señalado YA es administrador!" 43 38 msgstr "¡Solo puede pedir su contraseña una vez por día!" 39 40 #, fuzzy 44 41 msgid "err_admin_9" 45 msgstr "¡El usuario señalado NO es administrador!" 46 42 msgstr "¡Solo puede pedir su contraseña una vez por día!" 43 44 # ################################################################# 47 45 # m_membre 46 #, fuzzy 48 47 msgid "err_admin_10" 49 msgstr "Los únicos caracteres autorizados son a-z 0-9 y -." 50 48 msgstr "-- ¡¡Solo los administradores tienen acceso a estas páginas!! --" 49 50 # ################################################################# 51 51 # m_membre 52 #, fuzzy 52 53 msgid "err_admin_11" 53 msgstr "Este TLD no existe" 54 54 msgstr "-- ¡¡Solo los administradores tienen acceso a estas páginas!! --" 55 56 # ################################################################# 57 # m_membre 58 #, fuzzy 55 59 msgid "err_admin_12" 56 msgstr " Este TLD ya existe."60 msgstr "-- ¡¡Solo los administradores tienen acceso a estas páginas!! --" 57 61 58 62 msgid "This page is restricted to authorized staff" … … 83 87 msgstr "Haga clic aquí para seguir" 84 88 89 #, fuzzy 85 90 msgid "Member '%s' does not exist" 86 msgstr "El miembro '%s' no existe" 87 91 msgstr "Este miembro no existe" 92 93 #, fuzzy 88 94 msgid "Member %s successfully deleted" 89 msgstr " El miembro %s ha sido borradocon éxito"95 msgstr "La cuenta ha sido modificada con éxito" 90 96 91 97 msgid "Member Edition" … … 116 122 msgstr "Conectar como" 117 123 118 msgid "E"119 msgstr "M"120 121 msgid "Q"122 msgstr "Q"123 124 msgid "C"125 msgstr "C"126 127 124 msgid "Delete checked accounts" 128 125 msgstr "Suprimir las cuentas marcadas" … … 168 165 "to normal" 169 166 msgstr "" 170 " Solo hay una cuenta de administrador, no se puede transformar esta cuenta de"171 " administrador en cuenta normal."167 "There is only one administrator account, you cannot turn this account back " 168 "to normal" 172 169 173 170 msgid "This account is a super-admin account" 174 msgstr " Esta cuenta es un cuenta de administrador"171 msgstr "This account is a super-admin account" 175 172 176 173 msgid "Turn this account back to normal" 177 msgstr "T ransformar esta cuenta de Administrador en cuenta Normal"174 msgstr "Turn this account back to normal" 178 175 179 176 msgid "Make this account a super admin one" 180 msgstr " Transformar esta cuenta en cuenta de Administrador"177 msgstr "Make this account a super admin one" 181 178 182 179 msgid "Disk space (in KB)" 183 msgstr " Espacio disco (en Kb)"180 msgstr "Disk space (in KB)" 184 181 185 182 msgid "Number of email accounts" 186 msgstr "Número de cuentas de correo" 187 183 msgstr "Number of email accounts" 184 185 #, fuzzy 188 186 msgid "Number of mailing-lists" 189 msgstr "Número de listas de correos" 190 187 msgstr "Creación de una nueva lista de correos" 188 189 #, fuzzy 191 190 msgid "Number of domains" 192 msgstr "Número de dominios" 193 191 msgstr "Subdominios" 192 193 #, fuzzy 194 194 msgid "Number of FTP accounts" 195 msgstr "Número de cuentas FTP" 196 195 msgstr "Cuentas FTP" 196 197 #, fuzzy 197 198 msgid "Number of web statistics" 198 msgstr " Número de juegosde estadísticas"199 msgstr "Creación de estadísticas" 199 200 200 201 msgid "Some TLD cannot be deleted..." 201 msgstr "Algunos TLD no pueden ser borrados..." 202 202 msgstr "Some TLD cannot be deleted..." 203 204 #, fuzzy 203 205 msgid "The requested TLD has been deleted" 204 msgstr " El TLD ha sido borrado"206 msgstr "La lista %s ha sido borrada" 205 207 206 208 msgid "Manage allowed domains (TLD)" 207 msgstr " Administración de los dominios autorizados (TLD)"209 msgstr "Manage allowed domains (TLD)" 208 210 209 211 msgid "" … … 211 213 "or denied after some checks (whois, ns, domain exists...)" 212 214 msgstr "" 213 "Aquí esta la lista de los TLD autorizados en este servidor. Cada TLD puede " 214 "ser autorizado o prohibido según ciertos criterios (whois, ns, dominio " 215 "existe...)" 215 "Here is the list of the TLD allowed on this server. Each TLD can be allowed " 216 "or denied after some checks (whois, ns, domain exists...)" 216 217 217 218 msgid "TLD" … … 219 220 220 221 msgid "Allowed Mode" 221 msgstr "Control efectuado" 222 222 msgstr "Allowed Mode" 223 224 #, fuzzy 223 225 msgid "Delete the checked TLD" 224 msgstr "Suprimir los dominios marcados"226 msgstr "Suprimir los usuarios marcados" 225 227 226 228 msgid "Add a new TLD" 227 msgstr "Añadir un nuevo TLD" 228 229 msgstr "Add a new TLD" 230 231 #, fuzzy 229 232 msgid "The TLD has been successfully added" 230 msgstr " El nuevo TLD ha sido añadido"233 msgstr "La dirección de correo del nuevo dueño ha sido añadida" 231 234 232 235 msgid "" … … 234 237 "done." 235 238 msgstr "" 236 "Ent re el nuevo TLD (sin el primer punto) y escoge cual control debe ser"237 " efectuado."239 "Enter the new TLD (without the first dot) and choose what check should be " 240 "done." 238 241 239 242 msgid "" … … 241 244 "please check m_domains.php accordingly." 242 245 msgstr "" 243 " ADVERTENCIA: sólo algunos TLD son conocidos en la función whois deAlternC, "244 "p or favor, verifique el archivo m_domains.php."246 "Warning : only some final tld are known in the whois function of AlternC, " 247 "please check m_domains.php accordingly." 245 248 246 249 msgid "Edit a TLD" 247 msgstr "Modificar un TLD" 248 250 msgstr "Edit a TLD" 251 252 #, fuzzy 249 253 msgid "Edit this TLD" 250 msgstr "Modificar este TLD" 251 254 msgstr "Modificar cuenta" 255 256 #, fuzzy 252 257 msgid "The TLD has been successfully edited" 253 msgstr "El TLD ha sido modificado con éxito" 254 258 msgstr "La cuenta ha sido modificada con éxito" 259 260 #, fuzzy 255 261 msgid "Change the default quotas" 256 msgstr "Modificar las cuotas por defecto"262 msgstr "Modificar estos parámetros" 257 263 258 264 msgid "This TLD is forbidden" 259 msgstr " Este TLD está prohibido"265 msgstr "This TLD is forbidden" 260 266 261 267 msgid "primary DNS is checked in WHOIS db" 262 msgstr " Verificación del DNS primario en la base de datos WHOIS"268 msgstr "primary DNS is checked in WHOIS db" 263 269 264 270 msgid "primary & secondary DNS are checked in WHOIS db" 265 msgstr "" 266 "Verificación de los DNS primario y secundario en la base de datos WHOIS" 271 msgstr "primary & secondary DNS are checked in WHOIS db" 267 272 268 273 msgid "Domain must exist, but don't do any DNS check" 269 msgstr " El dominio debe existir, pero ningún control DNS debe ser efectuado"274 msgstr "Domain must exist, but don't do any DNS check" 270 275 271 276 msgid "Domain can be installed, no check at all" 272 msgstr " El dominio puede ser instalado sin ningún control."277 msgstr "Domain can be installed, no check at all" 273 278 274 279 msgid "Domain can be installed, force NO DNS hosting" 275 msgstr " El dominio puede ser instalado, forzar 'NO DNS'"280 msgstr "Domain can be installed, force NO DNS hosting" 276 281 277 282 msgid "Manage the members" … … 279 284 280 285 msgid "Admin Control Panel" 281 msgstr " Panel de Control Administrador"286 msgstr "Admin Control Panel" 282 287 283 288 msgid "General SQL Admin" 284 289 msgstr "Admin general SQL " 285 290 291 #, fuzzy 286 292 msgid "Default quotas successfully changed" 287 msgstr "Cuotas por defecto modificadas con éxito" 288 293 msgstr "La cuenta ftp ha sido modificada" 294 295 #, fuzzy 289 296 msgid "Can he change its password" 290 msgstr "¿Puede cambiar su contraseña?" 291 297 msgstr "Modificar clave" 298 299 #, fuzzy 292 300 msgid "Account created by %s" 293 msgstr " Cuenta creada por %s"301 msgstr "¿Cuenta activa?" 294 302 295 303 msgid "Locked Account" 296 msgstr "Cuenta bloqueada" 297 298 msgid "" 299 "Here is the list of the quotas on the server for the new accounts. If you " 300 "want to change them, enter new values" 301 msgstr "" 302 "Voici la liste des quotas par défaut sur ce serveur pour les nouveaux " 303 "comptes." 304 305 msgid "Default Value" 306 msgstr "Valeur par défaut" 307 308 msgid "Edit the default quotas" 309 msgstr "Modificar las cuotas por defecto" 304 msgstr "Locked Account" -
bureau/locales/es_ES/LC_MESSAGES/bro.po
r166 r222 1 # translation of bro2.po to2 # Spanish AlternC Translation3 # Copyright (c) 2002 the AlternC Development Team4 # <tech@alternc.org>5 # Bruno Marmier <bruno@marmier.net>, 20036 #7 1 msgid "" 8 2 msgstr "" 9 "Project-Id-Version: bro2\n"3 "Project-Id-Version: $Id: bro.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 10 4 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 11 "PO-Revision-Date: 200 3-09-30 16:31+0200\n"12 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"13 "Language-Team: <i18n@alternc.org>\n"5 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 6 "Last-Translator: Bruno <bruno@alternc.org>\n" 7 "Language-Team: Espanol <i18n@alternc.org>\n" 14 8 "MIME-Version: 1.0\n" 15 9 "Content-Type: text/plain; charset=ISO-8859-1\n" 16 10 "Content-Transfer-Encoding: 8bit\n" 17 "X-Generator: KBabel 1.0.1\n"11 "X-Generator: Emacs 21\n" 18 12 19 # Date drawn in the 1 column mode file list :20 13 msgid "%3$d-%2$d-%1$d %4$d:%5$d" 21 msgstr " %1$d/%2$d/%3$d%4$dh%5$d"14 msgstr "el %1$d/%2$d/%3$d, a las %4$dh%5$d" 22 15 23 16 msgid "Your file %s has been saved" … … 43 36 44 37 msgid "Move" 45 msgstr "Move r"38 msgstr "Move" 46 39 47 40 msgid "Create" 48 41 msgstr "Crear" 42 43 msgid "File" 44 msgstr "Archivo" 49 45 50 46 msgid "Folder" … … 60 56 msgstr "Existe una cuenta ftp en esta carpeta" 61 57 62 msgid " Click here to edit this ftp account."63 msgstr " Haga clic aquí para modificar esta cuenta ftp."58 msgid "click here to edit this ftp account" 59 msgstr "haga clic aquí para modificarla" 64 60 65 msgid " Click here to create an ftp account in this folder."66 msgstr " Haga clic aquí para crear una cuenta ftp en esta carpeta."61 msgid "click here to create an ftp account in this folder" 62 msgstr "haba clic aquí para crear una cuenta ftp en esta carpeta" 67 63 68 64 msgid "This folder has restricted access" … … 102 98 msgstr "Tamaño horizontal de la ventana" 103 99 100 #, fuzzy 104 101 msgid "File list view" 105 msgstr " Formato de vista de los archivos"102 msgstr "Modo de vista de los archivos" 106 103 107 104 msgid "Downloading file format" … … 121 118 122 119 msgid "1 column, detailed" 123 msgstr "1 column a, detallado"120 msgstr "1 column, detailed" 124 121 125 122 msgid "2 columns, short" 126 msgstr "2 column as, corto"123 msgstr "2 columns, short" 127 124 128 125 msgid "3 columns, short" 129 msgstr "3 column as, corto"126 msgstr "3 columns, short" 130 127 128 #, fuzzy 131 129 msgid "Go back to the file manager" 132 130 msgstr "Regresar al manejador de archivos" 133 131 134 132 msgid "Edit the newly created file" 135 msgstr "Modificar el archivo creado" 136 137 msgid "File" 138 msgstr "Archivo" 133 msgstr "Edit the newly created file" 139 134 140 135 msgid "View" … … 148 143 149 144 msgid "Save" 150 msgstr " Guardar"145 msgstr "Save" 151 146 152 147 msgid "Save & Quit" 153 msgstr " Guardar y Salir"148 msgstr "Save & Quit" 154 149 150 #, fuzzy 155 151 msgid "Quit" 156 msgstr " Salir"152 msgstr "Cuota" 157 153 158 154 msgid "all/none" 159 msgstr " todos/ninguno"155 msgstr "all/none" 160 156 157 #, fuzzy 161 158 msgid "err_bro_1" 162 msgstr " ¡Carpeta o archivo incorrecto!"159 msgstr "El mensaje de error no existe (%s)" 163 160 161 #, fuzzy 164 162 msgid "err_bro_2" 165 msgstr " ¡No se puede desplazar un archivo en la misma carpeta!"163 msgstr "El dominio '%s' no le apartenece." 166 164 165 #, fuzzy 167 166 msgid "No files in this folder" 168 msgstr "No hay ningún archivo en esta carpeta" 169 170 msgid "Searching for a folder" 171 msgstr "Búsqueda de una carpeta" 172 173 msgid "Error, cannot find this folder" 174 msgstr "Error, no se puede conseguir esta carpeta" 175 176 msgid "Back to the root folder" 177 msgstr "Regresar al directorio raíz" 178 179 msgid "Select" 180 msgstr "Seleccionar" 181 182 msgid "Cancel" 183 msgstr "Annuler" 184 185 # Variables used in m_brouteur.php3 186 #~ msgid "l_mode_0" 187 #~ msgstr "1 columna, detallado" 188 189 #~ msgid "l_mode_1" 190 #~ msgstr "2 columnas, corto" 191 192 #~ msgid "l_mode_2" 193 #~ msgstr "3 columnas, corto" 194 195 #~ msgid "l_createfile_0" 196 #~ msgstr "Regresar al manejador de archivos" 197 198 #~ msgid "l_createfile_1" 199 #~ msgstr "Modificar archivo" 167 msgstr "Proteger esta carpeta" -
bureau/locales/es_ES/LC_MESSAGES/dom.po
r166 r222 1 # Spanish AlternC Translation1 # English AlternC Translation 2 2 # Copyright (c) 2002 the AlternC Development Team 3 3 # <tech@alternc.org> 4 # 4 # $Id: dom.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: dom.po,v 1. 7 2003/12/10 04:10:11 brunoExp $\n"7 "Project-Id-Version: $Id: dom.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-06-23 00:17-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: espagnol <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 12 12 "MIME-Version: 1.0\n" 13 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 14 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"15 "X-Generator: Emacs 21\n" 16 16 17 17 msgid "quota_dom" 18 msgstr "Nombres de dominio" 19 18 msgstr "Domain names" 19 20 # ################################################################# 21 # m_domains 20 22 msgid "err_dom_1" 21 23 msgstr "El dominio '%s' no existe." 22 24 23 25 msgid "err_dom_2" 24 msgstr "El dominio '%s' no le pertenece."26 msgstr "El dominio '%s' no le apartenece." 25 27 26 28 msgid "err_dom_3" 27 msgstr "--- Error de programació n --- ¡Ningún Lock en los dominios!"29 msgstr "--- Error de programacióon --- ¡Ningún Lock en los dominios!" 28 30 29 31 msgid "err_dom_4" … … 89 91 msgstr "" 90 92 "El dominio pedido se encuentra prohibido en este servidor, contacte el " 91 "administrador ."93 "administrador" 92 94 93 95 msgid "err_dom_23" … … 95 97 "Los DNS de este dominio no coinciden con aquellos del servidor. Tiene que " 96 98 "modificar los DNS del dominio (y a veces esperar 24 horas) antes de poder " 97 "instalarlo." 99 "instalarlo" 100 101 msgid "help_dns_mx %s %s" 102 msgstr "" 103 "Si administramos sus DNS : <br /> Puede decidir de administrar su correo por " 104 "otra parte (campo MX).<br /> Coloque <b><code>%s</code> en este campo para " 105 "administrar su correo con %s<br /> En otro caso, coloque la dirección IP o el " 106 "servidor que desea usar para administrar su correo. <small>Advertencia : Si " 107 "deja este campo vacio, no podrá usar el correo con su dominio.</small>" 108 109 msgid "help_dns_mail" 110 msgstr "Si no administramos sus DNS : <br /> ¿Administramos su correo?" 111 112 msgid "help_domain_del %s" 113 msgstr "" 114 "Si quiere suprimir el dominio %s, haga clic en el botón aquí arriba. " 115 "¡Cuidado, esto suprimirá también todas las cuentas ftp, correo, lista de " 116 "correos, etc de este dominio, así que todos los subdominios relacionados!" 117 118 #, fuzzy 119 msgid "hlp_add_domain" 120 msgstr "" 121 "- Entrez le nom du domaine que vous souhaitez héberger. Le nom de domaine " 122 "doit être complet, mais <b>sans le www.</b><br /> IMPORTANT : Si vous voulez " 123 "un hébergement réel de domaine, il faut que les DNS de votre domaine " 124 "pointent vers nos serveurs DNS. Contacter votre hébergeur pour plus " 125 "d'information.<br /> Exemples : globenet.org / demo.com / test.eu.org etc." 126 "<br />Plus d'info sur la gestion des domaines dans l'aide en ligne " 127 "HELPID_200<br />" 128 129 #, fuzzy 130 msgid "hlp_add_domain_2" 131 msgstr "" 132 "Cliquez sur le lien ci-dessus. Vous pourrez ensuite accéder aux paremètres " 133 "du domaine dans le menu à gauche.2 liens vont apparaitre : <br />- un premier " 134 "pour modifier les paramètres d'hébergement du domaine (sous-domaines, " 135 "redirections, hébergement mails ...) <br />- un second pour gérer les comptes " 136 "emails du domaine (si vous souhaitez créer des boites aux lettres).<br />Plus " 137 "d'info sur la gestion des domaines dans l'aide en ligne HELPID_200<br />" 138 139 #, fuzzy 140 msgid "hlp_del_domain" 141 msgstr "" 142 "Le domaine a été effacé, mais les fichiers de votre site n'ont pas été " 143 "détruits.<br />Si vous souhaitez détruire les fichiers du site web, utilisez " 144 "le Gestionnaire de Fichier<br />Plus d'info sur la gestion des domaines dans " 145 "l'aide en ligne HELPID_200<br />" 146 147 #, fuzzy 148 msgid "hlp_edit_domain" 149 msgstr "" 150 "Cette zone vous permet de modifier les paramètres de votre domaine, ainsi " 151 "que des sous-domaines installés<br />Vous pouvez créer un nouveau sous-domaine " 152 "et choisir, soit de le rediriger vers votre espace disque, vers une autre " 153 "adresse Internet, ou vers une adresse IP (utilisateurs avancés)<br />Vous " 154 "pouvez aussi diriger un sous-domaine vers le webmail, vous permettant de " 155 "lire votre mail par le web.<br />Plus d'info sur la gestion des domaines dans " 156 "l'aide en ligne HELPID_200<br />" 98 157 99 158 msgid "Domain hosting" … … 174 233 msgstr "¿Administrar el DNS de este dominio?" 175 234 176 msgid "help_dns_mx %s %s"177 msgstr ""178 "Si administramos sus DNS : <br> Puede decidir de administrar su correo por "179 "otra parte (campo MX).<br> Coloque <b><code>%s</code> en este campo para "180 "administrar su correo con %s<br> En otro caso, coloque la dirección IP o el "181 "servidor que desea usar para administrar su correo. <small>Advertencia : Si "182 "deja este campo vacío, no podrá usar el correo con su dominio.</small>"183 184 235 msgid "MX Field" 185 236 msgstr "Campo MX" 186 237 187 msgid "help_dns_mail"188 msgstr "Si no administramos sus DNS : <br> ¿Administramos su correo?"189 190 238 msgid "Submit the changes" 191 239 msgstr "Validar cambios" 192 193 msgid "help_domain_del %s"194 msgstr ""195 "Si quiere suprimir el dominio %s, haga clic en el botón aquí arriba. "196 "¡Cuidado, esto suprimirá también todas las cuentas ftp, correo, lista de "197 "correos, etc de este dominio, así que todos los subdominios relacionados!"198 240 199 241 msgid "Delete %s" … … 217 259 218 260 msgid "The modifications will take effect in 5 minutes." 219 msgstr "Las modificaciones serán efectivas dentro de 5 minutos." 220 221 msgid "hlp_add_domain" 222 msgstr "" 223 "- Entre el nombre de dominio que quiere hospedar. El nombre de dominio debe " 224 "ser completo, pero <b>sin www.</b><br>IMPORTANTE: si quiere un real " 225 "hospedaje,es necesario que los DNS de su dominio apuntan hacia nuestros " 226 "servidores DNS.Contacte su proveedor para más información.<br>Ejemplos: " 227 "globenet.org / demo.com /test.eu.org etc.<br>Más información sobre la " 228 "administración de los dominios en la ayuda en línea HELPID_200<br>" 229 230 msgid "hlp_add_domain_2" 231 msgstr "" 232 "Haga clic en el enlace de arriba. Podrá luego acceder los parámetros de su " 233 "domino en el menú de la izquierdas. Dos enlaces van a aparecer:<br> - un " 234 "primero para poder modificar los parámetros del dominio (subdominio, " 235 "redirecciones, hospedaje correo, ...) <br>- un segundo para administrar las " 236 "cuentas de correos del dominio (para crear cuenta). <br>Más información " 237 "sobre la administración de los dominios en la ayuda en línea HELPID_200.<br>" 238 239 msgid "hlp_del_domain" 240 msgstr "" 241 "El dominio ha sido borrado, pero los archivos del sitio no lo han sido.<br> " 242 "Si desea suprimir los archivos del sitio web, utilice el Manejador de " 243 "Archivos.<br>Más información sobre la administración de los dominios en la " 244 "ayuda en línea HELPID_200.<br>" 245 246 msgid "hlp_edit_domain" 247 msgstr "" 248 "Este espacio le permite modificar los parámetros de su dominio, así que los " 249 "subdominios instalados.<br>Puede creer un nuevo subdominio y escoger de " 250 "redirigir hacia un espacio en el disco, hacia otra dirección web, o hacia " 251 "una dirección IP(usuarios avanzados).<br>Puede también dirigir un subdominio " 252 "hacia el Webmail, interfaz que le permite leer su correo en la red.<br> Más " 253 "información sobre la administración de los dominios en la ayuda en línea " 254 "HELPID_200.<br>" 261 msgstr "Las modificaciones seran efectivas dentro de 5 minutos." -
bureau/locales/es_ES/LC_MESSAGES/err.po
r166 r222 1 # Spanish AlternC Translation2 # Copyright (c) 2003 the AlternC Development Team3 # <tech@alternc.org>4 # 1 # ################################################################# 2 # ERROR MESSAGES : 3 # ################################################################# 4 # m_error himself 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: err.po,v 1. 6 2003/12/10 04:10:11 brunoExp $\n"7 "Project-Id-Version: $Id: err.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-03-27 23:57-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: <fr@li.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 12 12 "MIME-Version: 1.0\n" 13 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 14 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"15 "X-Generator: Emacs 21\n" 16 16 17 # #################################################################18 # #################################################################19 # ERROR MESSAGES :20 # #################################################################21 # #################################################################22 # #################################################################23 # m_error himself24 17 msgid "err_err_0" 25 18 msgstr "OK" 26 19 20 #, fuzzy 27 21 msgid "err_err_1" 28 22 msgstr "El mensaje de error no existe (%s)" -
bureau/locales/es_ES/LC_MESSAGES/ftp.po
r166 r222 1 # Spanish AlternC Translation2 # Copyright (c) 200 3the AlternC Development Team1 # English AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 3 3 # <tech@alternc.org> 4 # 4 # $Id: ftp.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: ftp.po,v 1. 7 2003/12/10 04:10:11 brunoExp $\n"7 "Project-Id-Version: $Id: ftp.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-06-23 00:19-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: espagnol <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 12 12 "MIME-Version: 1.0\n" 13 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 14 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"15 "X-Generator: Emacs 21\n" 16 16 17 17 msgid "quota_ftp" 18 msgstr " Cuentas FTP"18 msgstr "FTP Accounts" 19 19 20 # ################################################################# 21 # m_ftp 20 22 msgid "err_ftp_1" 21 23 msgstr "No se consiguió ninguna cuenta ftp" 22 24 23 25 msgid "err_ftp_2" 24 msgstr "Esta cuenta ftp no existe "26 msgstr "Esta cuenta ftp no existe." 25 27 26 28 msgid "err_ftp_3" … … 36 38 msgstr "Imposible crear la carpeta." 37 39 40 # ################################################################# 41 # ################################################################# 42 # ONLINE HELP : 43 # ################################################################# 44 # ################################################################# 45 msgid "hlp_ftp_list" 46 msgstr "" 47 "Aquí está la lista de las cuentas ftp que tienen acceso a su espacio. Haga " 48 "clic en 'Modificar' para cambiar el nombre de usuario, la contraseña, o el " 49 "directorio raíce.<br /> Para suprimir una cuenta, márcala con una cruz y haga " 50 "clic en 'Suprimir cuentas marcadas'<br /> Para acceder a sus archivos con un " 51 "programa ftp, se debe crear por lo menos una cuenta ftp. Cada cuenta está " 52 "relacionada a un directorio y solo tendrá acceso a aquellos archivos que se " 53 "encuentran en este directorio, o más abajo.<br /> Más información sobre FTP en " 54 "la ayuda en línea HELPID_100<br />" 55 56 #, fuzzy 57 msgid "hlp_ftp_list_no" 58 msgstr "" 59 "Vous n'avez actuellement aucun Compte FTP de disponible. Cliquez sur " 60 "'Création d'un compte ftp' pour en créer un.<br />Pour pouvoir accéder à vos " 61 "fichiers avec un logiciel de ftp, vous devez créer au moins un compte. " 62 "Chaque compte est associé à un dossier, et n'aura donc accès qu'aux fichiers " 63 "situés dans ce dossier ou en dessous. <br />Plus d'info sur le FTP dans l'aide " 64 "en ligne HELPID_100<br />" 65 66 #, fuzzy 67 msgid "hlp_ftp_add" 68 msgstr "" 69 "Pour ajouter un compte ftp, vous devez choisir un Nom d'utilisateur, un mot " 70 "de passe, et un répertoire racine<br />Le nom d'utilisateur commence toujours " 71 "par votre nom de login ou le nom d'un de vos domaines.<br />Le répertoire " 72 "racine, s'il n'existe pas, sera créé automatiquement.<br />Note : Le compte " 73 "que vous créez ainsi aura accès en lecture et en écriture aux fichiers " 74 "situés dans le répertoire et tous ses sous-répertoires.<br />Plus d'info sur " 75 "le FTP dans l'aide en ligne HELPID_100<br />" 76 38 77 msgid "You cannot add any new ftp account, your quota is over." 39 78 msgstr "Su cuota de cuentas ftp alcanzó su limite, no se puede crear más." 40 79 41 80 msgid "Create a new ftp account" 42 msgstr "Crea r una nueva cuenta ftp"81 msgstr "Creación de una cuenta ftp" 43 82 44 83 msgid "Create this new FTP account." … … 74 113 msgid "FTP accounts" 75 114 msgstr "Cuentas FTP" 76 77 # #################################################################78 # #################################################################79 # ONLINE HELP :80 # #################################################################81 # #################################################################82 msgid "hlp_ftp_list"83 msgstr ""84 "Aquí está la lista de las cuentas ftp que tienen acceso a su espacio. Haga "85 "clic en 'Modificar' para cambiar el nombre de usuario, la contraseña, o el "86 "directorio raiz.<br> Para suprimir una cuenta, márcala con una cruz y haga "87 "clic en 'Suprimir cuentas marcadas'<br> Para acceder a sus archivos con un "88 "programa ftp, se debe crear por lo menos una cuenta ftp. Cada cuenta está "89 "relacionada a un directorio y solo tendrá acceso a aquellos archivos que se "90 "encuentran en este directorio, o más abajo.<br> Más información sobre FTP en "91 "la ayuda en línea HELPID_100<br>"92 93 msgid "hlp_ftp_list_no"94 msgstr ""95 "Actualmente no hay ninguna Cuenta FTP disponible. Haga clic en 'Crear una "96 "cuenta FTP' para instalar una.<br>Para poder acceder a sus datos con un "97 "programa ftp, necesita por lo menos crear una cuenta. Cada cuenta debe estar "98 "asociada con un directorio, y por lo tanto sólo tendrá acceso a los archivos "99 "ubicados en este directorio y más abajo. <br>Más información sobre FTP en la "100 "ayuda en línea HELPID_100<br>"101 102 msgid "hlp_ftp_add"103 msgstr ""104 "Para añadir una cuenta ftp, debe escoger un Nombre de usuario, una "105 "contraseña, y una directorio raíz.<br>El nombre de usuario siempre empieza "106 "por su nombre de login o el nombre de uno de sus dominios.<br> El directorio "107 "raíz, si no existe, será creado automáticamente.<br> Nota: la cuenta que "108 "está creando tendrá acceso en lectura y escritura a todos los archivos "109 "situados en el directorio y en los subdirectorios.<br>Más información en FTP "110 "de la ayuda en línea HELPID_100<br>" -
bureau/locales/es_ES/LC_MESSAGES/hta.po
r166 r222 1 # Spanish AlternC Translation 2 # Copyright (c) 2003 the AlternC Development Team 3 # <tech@alternc.org> 4 # 1 ############################################ 2 # m_webaccess 5 3 msgid "" 6 4 msgstr "" 7 "Project-Id-Version: $Id: hta.po,v 1. 7 2003/12/10 04:10:11 brunoExp $\n"5 "Project-Id-Version: $Id: hta.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 8 6 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-06-22 22:57-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: espagnol <i18n@alternc.org>\n"7 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 8 "Last-Translator: Bruno <bruno@alternc.org>\n" 9 "Language-Team: Espanol <i18n@alternc.org>\n" 12 10 "MIME-Version: 1.0\n" 13 11 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 12 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"13 "X-Generator: Emacs 21\n" 16 14 17 15 msgid "err_hta_1" … … 48 46 msgstr "Por favor entre un nombre de usuario válido" 49 47 50 msgid "err_6_7" 51 msgstr "No se consiguió juego de estadísticas brutas" 48 msgid "help_hta_list" 49 msgstr "Aquí está la lista de las carpetas protegidas de su cuenta" 50 51 msgid "Protect a folder" 52 msgstr "Proteger una carpeta" 52 53 53 54 msgid "The folder must exists." … … 97 98 98 99 msgid "New password" 99 msgstr "Nueva c ontraseña"100 msgstr "Nueva clave" 100 101 101 102 msgid "Change the password" … … 105 106 msgstr "Lista de carpetas protegidas" 106 107 107 msgid "Protect a folder"108 msgstr "Proteger una carpeta"109 110 msgid "help_hta_list"111 msgstr "Aquí está la lista de las carpetas protegidas de su cuenta"112 113 108 msgid "Unprotect the checked folders" 114 109 msgstr "Quitar protección a las carpetas marcadas" -
bureau/locales/es_ES/LC_MESSAGES/mail.po
r166 r222 1 # Spanish AlternC Translation2 # Copyright (c) 200 3the AlternC Development Team1 # English AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 3 3 # <tech@alternc.org> 4 # 4 # $Id: mail.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: mail.po,v 1. 7 2003/12/10 04:10:11 brunoExp $\n"7 "Project-Id-Version: $Id: mail.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-06-23 00:25-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: espagnol <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 12 12 "MIME-Version: 1.0\n" 13 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 14 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"15 "X-Generator: Emacs 21\n" 16 16 17 17 msgid "quota_mail" 18 msgstr " Cuentas de correos"18 msgstr "Email Accounts" 19 19 20 # ################################################################# 21 # m_mails 20 22 msgid "err_mail_1" 21 23 msgstr "Conexión ldap imposible. Intente más tarde." 22 24 23 25 msgid "err_mail_2" 24 msgstr "Ninguna cuenta de correo en el dominio '%s' ."26 msgstr "Ninguna cuenta de correo en el dominio '%s'" 25 27 26 28 msgid "err_mail_3" … … 30 32 msgstr "" 31 33 "Por favor marque 'cuenta pop' y entre una contraseña pop <b>o</b> entre " 32 "direcci ones para redirigir <b>o</o> ambas cosas."34 "dirección para redirigir <b>o</o> ambas cosas" 33 35 34 36 msgid "err_mail_5" … … 39 41 40 42 msgid "err_mail_7" 41 msgstr "El correo '%s' ya existe ."43 msgstr "El correo '%s' ya existe" 42 44 43 45 msgid "err_mail_8" … … 46 48 47 49 msgid "err_mail_9" 48 msgstr "El dominio '%s' ya ex iste."50 msgstr "El dominio '%s' ya exsite." 49 51 50 52 msgid "err_mail_10" 51 msgstr "-- Error de programación -- el cuota Mail no existe ."53 msgstr "-- Error de programación -- el cuota Mail no existe" 52 54 53 55 msgid "err_mail_11" 54 msgstr "Entre una dirección de correo ."56 msgstr "Entre una dirección de correo" 55 57 56 58 msgid "err_mail_12" … … 58 60 59 61 msgid "err_mail_13" 60 msgstr "Entre una dirección de correo válida ."62 msgstr "Entre una dirección de correo válida" 61 63 64 #, fuzzy 62 65 msgid "err_mail_14" 63 msgstr "Un a o más correos para la redirección no son válidos."66 msgstr "Un ou plusieurs Email de redirection ne sont pas valides" 64 67 65 68 msgid "err_mail_15" 66 69 msgstr "" 67 "Esta cuenta no es una cuenta pop. ¡Es imposible cambiarle la contraseña!" 70 "Esta cuenta no es una cuenta pop. ¡Es imposbile cambiarle la contraseña!" 71 72 msgid "help_mail_add" 73 msgstr "" 74 "- Para crear esta cuenta de correo<br /> Si quiere almacenar los correos " 75 "recibidos y acceder al buzón con un programa de corre o por webmail, marque " 76 "'Cuenta pop'. En este caso, entre una contraseña para la cuenta pop.<br /> Si " 77 "quiere dirigir esta cuenta hacia otras, entre la lista de las dirección " 78 "correspondientes, una dirección por línea (con el @ en todos caso).<br /> " 79 "Nota : tiene que escojer una de las dos cosas, o ambas<br /> Para acceder a la " 80 "lectura del correo, usar la dirección http://sudominio/webmail/ o un " 81 "subdominio de tipo 'Acceso a Webmail'<br /> El nombre de usuario es " 82 "<code>login_sudominio</code> y la clave, aquella que acaba de entrar en este " 83 "formulario." 84 85 msgid "help_mail_edit" 86 msgstr "" 87 "- Para modificar esta cuenta de correo<br /> Si quiere almacenar los correos " 88 "recibidos y acceder al buzón con un programa de corre o por webmail, marque " 89 "'Cuenta pop'. En este caso, entre una contraseña para la cuenta pop.<br /> Si " 90 "quiere dirigir esta cuenta hacia otras, entre la lista de las dirección " 91 "correspondientes, una dirección por línea (con el @ en todos caso).<br /> " 92 "Nota : tiene que escojer una de las dos cosas, o ambas<br /> Para acceder a la " 93 "lectura del correo, usar la dirección http://sudominio/webmail/ o un " 94 "subdominio de tipo 'Acceso a Webmail'<br /> El nombre de usuario es " 95 "<code>login_sudominio</code> y la clave, aquella que acaba de entrar en este " 96 "formulario." 68 97 69 98 msgid "Add a mail to the domain %s" 70 99 msgstr "Añadir una cuenta de correo para el dominio %s" 71 72 msgid "help_mail_add"73 msgstr ""74 "- Para crear esta cuenta de correo<br> Si quiere almacenar los correos "75 "recibidos y acceder al buzón con un programa de corre o por webmail, marque "76 "'Cuenta pop'. En este caso, entre una contraseña para la cuenta pop.<br> Si "77 "quiere dirigir esta cuenta hacia otras, entre la lista de las dirección "78 "correspondientes, una dirección por línea (con el @ en todos caso).<br> "79 "Nota : tiene que escoger una de las dos cosas, o ambas<br> Para acceder a la "80 "lectura del correo, usar la dirección http://sudominio/webmail/ o un "81 "subdominio de tipo 'Acceso a Webmail'<br> El nombre de usuario es "82 "<code>login_sudominio</code> y la clave, aquella que acaba de entrar en este "83 "formulario."84 100 85 101 msgid "Create this mailbox" … … 116 132 msgstr "Modificar este buzón" 117 133 118 msgid "help_mail_edit"119 msgstr ""120 "- Para modificar esta cuenta de correo<br> Si quiere almacenar los correos "121 "recibidos y acceder al buzón con un programa de corre o por webmail, marque "122 "'Cuenta pop'. En este caso, entre una contraseña para la cuenta pop.<br> Si "123 "quiere dirigir esta cuenta hacia otras, entre la lista de las dirección "124 "correspondientes, una dirección por línea (con el @ en todos caso).<br> "125 "Nota : tiene que escoger una de las dos cosas, o ambas<br> Para acceder a la "126 "lectura del correo, usar la dirección http://sudominio/webmail/ o un "127 "subdominio de tipo 'Acceso a Webmail'<br> El nombre de usuario es "128 "<code>login_sudominio</code> y la clave, aquella que acaba de entrar en este "129 "formulario."130 131 134 msgid "The mailbox %s has been successfully changed" 132 135 msgstr "El buzón %s ha sido modificado" -
bureau/locales/es_ES/LC_MESSAGES/main.po
r166 r222 1 # translation of main.po to Espagnol 2 # translation of main2.po to 3 # Spanish AlternC Translation 4 # Copyright (c) 2003 the AlternC Development Team 1 # English AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 5 3 # <tech@alternc.org> 6 # Bruno Marmier <bruno@marmier.net>, 2003. 7 # 4 # $Id: main.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 8 5 msgid "" 9 6 msgstr "" 10 "Project-Id-Version: main\n"7 "Project-Id-Version: $Id: main.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 11 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 12 "PO-Revision-Date: 200 3-12-07 19:10-0400\n"13 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"14 "Language-Team: Espa gnol <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 15 12 "MIME-Version: 1.0\n" 16 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 17 14 "Content-Transfer-Encoding: 8bit\n" 18 "X-Generator: KBabel 1.0.2\n"15 "X-Generator: Emacs 21\n" 19 16 20 17 msgid "quota_web" 21 msgstr " Espace disque"18 msgstr "Disk space" 22 19 23 msgid "Enter" 24 msg str "Entrer"25 26 msgid "Enter your username and password to connect to the virtual desktop"20 #, fuzzy 21 msgid "" 22 "Enter your username and your password to connect to the virtual desktop " 23 "interface" 27 24 msgstr "" 28 25 "Entrar su nombre de usuario y su contraseña para conectarse a la interfaz de " … … 41 38 msgstr "Contraseña" 42 39 40 #, fuzzy 43 41 msgid "You cannot change your password" 44 msgstr " Usted no puede cambiar su contraseña"42 msgstr "Cambiar mi clave" 45 43 46 44 msgid "Administration of" … … 48 46 49 47 msgid "AlternC Desktop" 50 msgstr " Bureau AlternC"48 msgstr "AlternC Desktop" 51 49 52 50 msgid "Last Login: " 53 51 msgstr "Última conexión : " 54 52 53 #, fuzzy 55 54 msgid "the %3$d-%2$d-%1$d at %4$d:%5$d" 56 msgstr "el % 3$d/%2$d/%1$d, a las %4$dh%5$d"55 msgstr "el %1$d/%2$d/%3$d, a las %4$dh%5$d" 57 56 58 57 msgid "%1$d login failed since last login" 59 msgstr "%1$d intentas fallidas des de la última conexión"58 msgstr "%1$d intentas fallidas desce la última conexión" 60 59 61 60 msgid "from: <code> %1$s </code>" … … 77 76 msgstr "" 78 77 "Un correo a sido mandado a la dirección <big><code>%s</code></big> para " 79 "confirmar.<br> Este correo contiene un enlace que podrá seguir para validar " 80 "la modificación.<br> Ahí se le pedirá la siguiente llave : <br>" 81 82 msgid "" 83 "Enter the key you got when you requested the mailbox change, then click the " 84 "OK button." 85 msgstr "" 86 "Entre la llave que se le ha mandado para el cambio de dirección de correo y " 87 "haga clic en OK" 88 89 msgid "Key" 90 msgstr "Llave" 91 92 msgid "OK" 93 msgstr "OK" 94 95 msgid "The mailbox has been successfully changed." 96 msgstr "La dirección de correo ha sido cambiada." 97 98 msgid "Disconnected" 99 msgstr "Desconectado" 100 101 msgid "You have been logged out of your administration desktop." 102 msgstr "Ha sido desconectado de la interfaz de administración." 103 104 msgid "Click here to log in" 105 msgstr "Haga clic aquí para volver a conectarse" 106 107 msgid "Settings of your account" 108 msgstr "Parámetros de su cuenta" 78 "confirmar.<br /> Este correo contien un enlace que podrá seguir para validar " 79 "la modificación.<br /> Ahí se le pedirá la siguiente clave : <br />" 109 80 110 81 msgid "help_chg_passwd" 111 82 msgstr "" 112 "Aquí puede modificar la contraseña que le permite usar la interfaz. ¡No la " 113 "pierda!<br> Entre aquí la contraseña actual, y luego la nueva contraseña " 114 "(dos veces, por seguridad), y haga clic en 'Cambiar la contraseña''" 115 116 msgid "Password change" 117 msgstr "Cambio de contraseña" 118 119 msgid "Old password" 120 msgstr "Antigua contraseña" 121 122 msgid "New password" 123 msgstr "Nueva contraseña" 124 125 msgid "Change my password" 126 msgstr "Cambiar mi contraseña" 83 "Aquí puede modificar la clave que le permite uzar la interfaz. ¡No la pierda!" 84 "<br /> Entre aquí la clave actual, y luego la nueva clave (dos veces, por " 85 "seguridad), y haga clic en 'Cambiar la clave''" 127 86 128 87 msgid "help_chg_mail" 129 88 msgstr "" 130 "Aquí puede modificar la dirección de correo relacionada a su cuenta.<br > "89 "Aquí puede modificar la dirección de correo relacionada a su cuenta.<br /> " 131 90 "Entre ahí la nueva dirección. Un correo será enviado a esta dirección para " 132 91 "confirmar." 133 134 msgid "Current mailbox"135 msgstr "Buzón actual"136 137 msgid "New mailbox"138 msgstr "Nuevo buzón"139 140 msgid "Change my mail"141 msgstr "Cambiar mi buzón"142 143 msgid "Your password has been successfully changed."144 msgstr "La contraseña ha sido cambiada."145 146 msgid "Settings"147 msgstr "Configuración"148 149 msgid "Logout"150 msgstr "Salir"151 152 msgid "Show my quotas"153 msgstr "Mostrar cuotas"154 155 msgid "Account's quotas"156 msgstr "Cuotas de la cuenta"157 158 msgid "No quotas for this account, or quotas currently unavailable!"159 msgstr "¡No hay cuota para esta cuenta, o imposible obtener cuota!"160 161 msgid "Online help settings"162 msgstr "Parámetros de la ayuda en linea"163 92 164 93 msgid "help_help_settings" 165 94 msgstr "" 166 95 "Cada página de la interfaz presenta información de ayuda resumida, " 167 "acompañada por un enlace hacia la ayuda en línea<br > Para ver esta ayuda de "96 "acompañada por un enlace hacia la ayuda en línea<br /> Para ver esta ayuda de " 168 97 "manera automática, marquelo ahí debajo." 169 170 msgid "Do you want to see the help texts and links on each page?"171 msgstr "¿Quiere ver los textos de ayuda y los enlaces en cada página?"172 173 msgid "Change these settings"174 msgstr "Modificar estos parámetros"175 176 msgid "Your help setting has been updated."177 msgstr "Los parámetros de ayuda han sido modificados."178 179 # Variables used in functions.php3180 msgid "Bytes"181 msgstr "Bytes"182 183 msgid "Kb"184 msgstr "Kb"185 186 msgid "Mb"187 msgstr "Mb"188 189 msgid "Gb"190 msgstr "Gb"191 192 msgid "Tb"193 msgstr "Tb"194 -
bureau/locales/es_ES/LC_MESSAGES/mem.po
r166 r222 1 # Spanish AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 3 # <tech@alternc.org> 4 # 1 # ################################################################# 2 # m_membre 5 3 msgid "" 6 4 msgstr "" 7 "Project-Id-Version: $Id: mem.po,v 1. 6 2003/12/10 04:10:11 brunoExp $\n"5 "Project-Id-Version: $Id: mem.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $\n" 8 6 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 "PO-Revision-Date: 200 3-06-23 00:27-0400\n"10 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"11 "Language-Team: espagnol <i18n@alternc.org>\n"7 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 8 "Last-Translator: Bruno <bruno@alternc.org>\n" 9 "Language-Team: Espanol <i18n@alternc.org>\n" 12 10 "MIME-Version: 1.0\n" 13 11 "Content-Type: text/plain; charset=ISO-8859-1\n" 14 12 "Content-Transfer-Encoding: 8bit\n" 15 "X-Generator: KBabel 0.9.6\n"13 "X-Generator: Emacs 21\n" 16 14 17 15 msgid "err_mem_1" 18 msgstr "Usuario o contraseña incorrecta ."16 msgstr "Usuario o contraseña incorrecta" 19 17 20 18 msgid "err_mem_2" 21 msgstr "Cuenta bloqueada, contacte el administrador ."19 msgstr "Cuenta bloqueada, contacte el administrador" 22 20 23 21 msgid "err_mem_3" 24 msgstr "Cookie incorrecto, acepte los cookies ."22 msgstr "Cookie incorrecto, acepte los cookies" 25 23 26 24 msgid "err_mem_4" 27 msgstr "Sesión inexist ente, contacte el administrador."25 msgstr "Sesión inexistante, contacte el administrador" 28 26 29 27 msgid "err_mem_5" 30 msgstr "IP incorrecta, contacte el administrador ."28 msgstr "IP incorrecta, contacte el administrador" 31 29 30 # PROBLEME : il y avait 2 fois le 5, les autres messages doivent surement etre décalés (TODO) 32 31 msgid "err_mem_6" 33 msgstr "La antigua contraseña es incorrecta ."32 msgstr "La antigua contraseña es incorrecta" 34 33 35 34 msgid "err_mem_7" 36 msgstr "Las dos nuevas contraseñas son distintas ."35 msgstr "Las dos nuevas contraseñas son distintas" 37 36 38 37 msgid "err_mem_8" 39 msgstr "Una contraseña debe estar compuesta por lo menos de 3 carácteres ."38 msgstr "Una contraseña debe estar compuesta por lo menos de 3 carácteres" 40 39 41 40 msgid "err_mem_9" 42 msgstr "Los datos proporcionados son incorrectos." 43 44 msgid "err_mem_11" 45 msgstr "No puede cambiar su contraseña." 46 47 msgid "err_mem_12" 48 msgstr "Debe ser administrador para cambiar las preferencias de Administrador." 41 msgstr "Los datos proporcionados son incorrectos" 49 42 50 43 msgid "Help" 51 msgstr "Ayuda" 52 53 msgid "Admin preferences" 54 msgstr "Preferencias de administrador" 55 56 msgid "Members list view" 57 msgstr "Vista de la lista de miembros" 58 59 msgid "Large view" 60 msgstr "Vista amplia" 61 62 msgid "Short view" 63 msgstr "Vista reducida" 64 65 msgid "Change my admin preferences" 66 msgstr "Modificar mis preferencias de administrador" 67 68 msgid "Your administrator preferences has been successfully changed." 69 msgstr "Sus preferencias de administrador han sido modificadas." 44 msgstr "Help" -
bureau/locales/es_ES/LC_MESSAGES/mysql.po
r186 r222 1 # translation of mysql2.po to 2 # Spanish AlternC Translation 3 # Copyright (c) 2003 the AlternC Development Team 1 # English AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 4 3 # <tech@alternc.org> 5 # Bruno Marmier <bruno@marmier.net>, 2003 6 # 4 # $Id: mysql.po,v 1.10 2004/05/19 14:23:06 benjamin Exp $ 7 5 msgid "" 8 6 msgstr "" 9 "Project-Id-Version: mysql2\n"7 "Project-Id-Version: $Id: mysql.po,v 1.10 2004/05/19 14:23:06 benjamin Exp $\n" 10 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 11 "PO-Revision-Date: 200 3-09-30 16:47+0200\n"12 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"13 "Language-Team: <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 14 12 "MIME-Version: 1.0\n" 15 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 16 14 "Content-Transfer-Encoding: 8bit\n" 17 "X-Generator: KBabel 1.0.1\n"15 "X-Generator: Emacs 21\n" 18 16 19 17 msgid "quota_mysql" 20 msgstr " Bases de datos MySQL"18 msgstr "MySQL Databases" 21 19 22 20 # ################################################################# 23 # m_ webaccess21 # m_mysql 24 22 msgid "err_mysql_1" 25 23 msgstr "No tiene ninguna base de datos disponible." 26 24 27 25 msgid "err_mysql_2" 28 msgstr "" 29 "El nombre de la base de datos solo puede contener cifras y letras minúsculas." 26 msgstr "La contraseña es demasiado larga (16 caracteres máximum)" 30 27 31 28 msgid "err_mysql_3" 32 msgstr "Esta base de datos ya existe, utilice otro nombre." 29 msgstr "" 30 "La base de datos no existe, primero tiene que crearla par poder acceder a " 31 "ella." 33 32 34 33 msgid "err_mysql_4" 35 msgstr "¡ Esta base de datos noexiste!"34 msgstr "¡La base de datos ya existe!" 36 35 36 #, fuzzy 37 37 msgid "err_mysql_5" 38 msgstr " ¡El número de copia de seguridad es incorrecto!"38 msgstr "Le nombre d'historique est incorrect." 39 39 40 40 msgid "err_mysql_6" … … 42 42 43 43 msgid "err_mysql_7" 44 msgstr "No tiene ninguna base de datos, no puede cambiar la contraseña."45 46 msgid "err_mysql_8"47 msgstr "La contraseña es demasiado larga (16 caracteres máximum)."48 49 msgid "err_mysql_9"50 44 msgstr "El archivo especificado no existe o es incorrecto." 51 45 52 # ################################################################# 53 # m_webaccess 54 msgid "err_mysql_10"55 msgstr "Error: Ud, no puede crear su base principal. ¡Le queda otras bases!"46 msgid "help_sql_list_ok" 47 msgstr "" 48 "Su base de datos existe.<br /> Haga clic en 'Admin SQL' en el menu para " 49 "administrarla<br /> o utiliza el menu aquí abajo para los demás parámetros : " 56 50 57 # ################################################################# 58 # m_webaccess 59 msgid "err_mysql_11" 51 msgid "help_sql_list_no" 52 msgstr "Su base de datos no existe, entre aquí una contraseña para crearla" 53 54 #, fuzzy 55 msgid "hlp_sql_bck" 60 56 msgstr "" 61 "No tiene ninguna base de datos disponible. Haga clic en «Bases de datos» " 62 "para crear una." 57 "Les sauvegardes de votre base MySQL sont stockées dans le dossier choisi " 58 "sous le nom <code>db.sql.1</code> à <code>db.sql.19</code><br />où 'db' est " 59 "remplacé par le nom de la base de données.<br />ATTENTION : si vous modifiez " 60 "les paramètres de la sauvegarde (nombre de sauvegarde, compression ...) des " 61 "vieilles sauvegardes peuvent rester dans le dossier concerné. Vous pouvez " 62 "les effacer dans le gestionnaire de fichier." 63 63 64 64 msgid "Your database has been successfully created" 65 65 msgstr "Su base de datos ha sido creada" 66 66 67 msgid "General SQL Admin"68 msgstr "Admin general SQL "69 70 67 msgid "MySQL Databases" 71 68 msgstr "Base de datos MySQL" 72 73 msgid "help_sql_list_ok"74 msgstr ""75 "Ud. tiene una o más bases de datos.<br> Haga clic en 'Admin SQL' en el menu "76 "para administrarla<br> o utiliza el menú aquí abajo para administrar las "77 "copias de seguridad,<br> las restauraciones o para borrar las bases:"78 79 msgid "help_sql_list_no"80 msgstr ""81 "Su base de datos principal no existe, entre una contraseña aquí para crearla"82 69 83 70 msgid "SQL Server" … … 87 74 msgstr "Base de datos" 88 75 89 msgid "Database name"90 msgstr "Base de datos nombre"91 92 76 msgid "Delete my SQL database" 93 77 msgstr "Borrar base de datos SQL" 94 78 79 #, fuzzy 95 80 msgid "Delete the checked databases" 96 msgstr " Borrar las bases de datos seleccionadas"81 msgstr "Suprimir los usuarios marcados" 97 82 98 83 msgid "Get the current SQL parameters" 99 84 msgstr "Mostrar los parámetros actuales de SQL" 100 85 86 #, fuzzy 101 87 msgid "Confirm the deletion of the following SQL databases" 102 msgstr "Confirmar la supresión de las bases de datos SQL siguientes"88 msgstr "Confirmar la supresión de su base de datos SQL" 103 89 90 #, fuzzy 104 91 msgid "This will delete all the tables currently in those db." 105 msgstr "Esto borrará todas las tablas contenidas dentro de estas bases."92 msgstr "Esto borrará todas las tablas contenidas dentro de su base." 106 93 94 #, fuzzy 107 95 msgid "The database %s has been successfully deleted" 108 msgstr " Su base de datos%s ha sido borrada"96 msgstr "La lista %s ha sido borrada" 109 97 110 98 msgid "You currently have no database defined" … … 170 158 171 159 msgid "Your current settings are" 172 msgstr " Los parámetros actuales son"160 msgstr "Parámetros actuales" 173 161 174 162 msgid "Destroy my database" 175 163 msgstr "Suprimir mi base de datos" 176 164 165 #, fuzzy 177 166 msgid "Create my main database" 178 msgstr " Crear mi base de datos principal"167 msgstr "Restaurar mi base de datos" 179 168 180 169 msgid "Databases" … … 184 173 msgstr "Admin SQL" 185 174 186 msgid "hlp_sql_bck" 187 msgstr "" 188 "Las copias de seguridad de su base de datos MySQL están almacenadas en el " 189 "directorio escogido bajo el nombre <code>db.sql.1</code> hasta <code>db." 190 "sql.19</code><br> donde 'db' está remplazado por el nombre de su base de " 191 "datos.<br>CUIDADO: si modifica los parámetros de copia de seguridad (número " 192 "de copias, compresión,...) algunas antiguas copias pueden permanecer en el " 193 "directorio. La puede borrar mediante el manejador de archivos." 175 #, fuzzy 176 msgid "Create a new database" 177 msgstr "Crear un nuevo miembro" 194 178 195 msgid "Create a new database" 196 msgstr "Crear una nueva base de datos" 179 #, fuzzy 180 msgid "Create this new database." 181 msgstr "Crear la cuenta FTP." 197 182 198 msgid "Create this new database." 199 msgstr "Crear esta nueva base de datos" 200 183 #, fuzzy 201 184 msgid "Backup" 202 msgstr " Copia de seguridad"185 msgstr "Regresar" 203 186 204 187 msgid "Restore" 205 msgstr "Restauración" 206 207 #~ msgid "Your database has been deleted" 208 #~ msgstr "Su base de datos ha sido borrada" 188 msgstr "Restore" -
bureau/locales/es_ES/LC_MESSAGES/stats.po
r166 r222 1 # translation of stats2.po to 2 # Spanish AlternC Translation 3 # Copyright (c) 2003 the AlternC Development Team 4 # <i18n@alternc.org> 5 # Bruno Marmier <bruno@marmier.net>, 2003 6 # 1 # English AlternC Translation 2 # Copyright (c) 2002 the AlternC Development Team 3 # <tech@alternc.org> 4 # $Id: stats.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $ 7 5 msgid "" 8 6 msgstr "" 9 "Project-Id-Version: stats2\n"7 "Project-Id-Version: $Id: stats.po,v 1.8 2004/05/19 14:23:06 benjamin Exp $\n" 10 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 11 "PO-Revision-Date: 200 3-09-30 16:48+0200\n"12 "Last-Translator: Bruno Marmier <bruno@marmier.net>\n"13 "Language-Team: <i18n@alternc.org>\n"9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" 10 "Last-Translator: Bruno <bruno@alternc.org>\n" 11 "Language-Team: Espanol <i18n@alternc.org>\n" 14 12 "MIME-Version: 1.0\n" 15 13 "Content-Type: text/plain; charset=ISO-8859-1\n" 16 14 "Content-Transfer-Encoding: 8bit\n" 17 "X-Generator: KBabel 1.0.1\n"15 "X-Generator: Emacs 21\n" 18 16 19 17 msgid "quota_stats" 20 msgstr " Estadísticas Web"18 msgstr "Web Statistics" 21 19 22 20 # ################################################################# 23 # m_ webaccess21 # m_stats 24 22 msgid "err_stats_1" 25 msgstr "No hay ningún juego de estadísticas."23 msgstr "No se consiguió ningún juego de estadísticas" 26 24 27 25 msgid "err_stats_2" … … 29 27 30 28 msgid "err_stats_3" 31 msgstr "El prefijo escogido no está permitido."29 msgstr "El prefijo escogido no está autorizado" 32 30 33 31 msgid "err_stats_4" … … 40 38 41 39 msgid "err_stats_6" 42 msgstr "Este idioma no está soportado."40 msgstr "Este idioma no está disponible." 43 41 42 #, fuzzy 44 43 msgid "err_stats_7" 45 msgstr "No hay ningún juego de estadísticas brutas." 44 msgstr "Este idioma no está disponible." 45 46 msgid "help_sta_list" 47 msgstr "" 48 "Aquí tiene la lista de los juegos de estatísticas installadas en su cuenta:" 49 "<br /> Haga clic en 'Modificar' para cambiar la configuración de las " 50 "estadísticas<br /> Para suprimir un juego de estadísticas, marque el cuadro " 51 "correspondiente y haga clic en el botón 'Suprimir juegos marcados'" 46 52 47 53 msgid "Web Statistics" … … 55 61 56 62 msgid "New Statistics" 57 msgstr " Nuevo juegade estadísticas"63 msgstr "Creación de estadísticas" 58 64 59 65 msgid "Language" … … 70 76 "manually deleted)" 71 77 msgstr "" 72 "El juego de esta dísticas %s a sido borrado (los archivos de estadísticas "78 "El juego de estatísticas %s a sido borrado (los archivos de estatísticas " 73 79 "deben ser a manos)" 74 80 … … 97 103 msgstr "Crear un nuevo juego de estadísticas" 98 104 99 msgid "help_sta_list"100 msgstr ""101 "Aquí tiene la lista de los juegos de estadísticas instaladas en su cuenta:"102 "<br> Haga clic en 'Modificar' para cambiar la configuración de las "103 "estadísticas<br> Para suprimir un juego de estadísticas, marque el cuadro "104 "correspondiente y haga clic en el botón 'Suprimir juegos marcados'"105 106 105 msgid "Delete the checked Statistics" 107 106 msgstr "Suprimir los juegos marcados" 108 109 msgid "Delete the checked Raw Statistics (apache)"110 msgstr "Suprimir los juegos de estadísticas brutas (apache) marcados"111 112 msgid "Change those Raw Statistics."113 msgstr "Modificar estas estadísticas brutas."114 107 115 108 msgid "Byte" 116 109 msgstr "Byte" 117 110 111 #, fuzzy 118 112 msgid "Create new Raw Statistics (apache)" 119 msgstr "Crear un nuevo juego de estadísticas brutas (apache)"113 msgstr "Crear un nuevo juego de estadísticas" 120 114 115 #, fuzzy 121 116 msgid "Create those raw statistics" 122 msgstr "Crear estas estadísticas brutas"117 msgstr "Crear estas estadísticas" 123 118 119 #, fuzzy 124 120 msgid "New Raw Statistics (apache)" 125 msgstr " Nuevo juego de estadísticas brutas (apache)"121 msgstr "Creación de estadísticas" 126 122 127 msgid "hlp_sta_list" 128 msgstr "" 129 "Un «juego de estadísticas» les permite pedir la creación diaria de página " 130 "html de estadísticas sobre la frecuentación, en la carpeta especificada.<br> " 131 "Estas estadísticas son aquellas del dominio o subdominio pedido, y serán " 132 "escritas en el idioma especificado.<br>Si ha creado un juego de estadísticas " 133 "hace más de 24 horas, haga clic sobre el enlace «ver» para llegar la página " 134 "de estadísticas.<br> Más información sobre las estadísticas en la ayuda en " 135 "línea HELPID_200<br>" 136 123 #, fuzzy 137 124 msgid "hlp_sta_add" 138 125 msgstr "" 139 "Entre el nombre de dominio para el cual desea obtener las estadísticas.<br>"140 " Escoge después el idioma en el cual las estadísticas deben ser presentadas."141 " <br> Finalmente, especifique la carpeta de su espacio disco donde estas"142 "es tadísticas deben ser almacenadas (bajo la forma de página html y de "143 " imágenes).<br> Se aconseja que esta carpeta sea accesible por uno de sus"144 "d ominios o subdominios. Además, puede proteger la carpeta con la ayuda del"145 " menú «proteger carpeta»."126 "Entrez le nom du domaine dont vous souhaitez obtenir des statistiques de " 127 "fréquentation. <br />Choisissez ensuite la langue dans laquelle ces " 128 "statistiques devront etre générées. <br />Enfin, entrez le dossier de votre " 129 "espace disque dans lequel ces statistiques devront etre stockées (sous forme " 130 "de pages html + images).<br /> Il est conseillé que ce dossier soit accessible " 131 "depuis l'un de vos domaines ou sous-domaines. De plus, vous pouvez protéger " 132 "ce dossier à l'aide du menu 'dossiers protégés'." 146 133 147 134 msgid "hlp_hta_list" 148 135 msgstr "" 149 " El menú 'carpetas protegidas' le permite proteger con una contraseña el"150 " acceso a una carpeta web completa.<br>De esta manera, toda persona que"151 " requiere acceder a estas páginas debe entrar el login y la contraseña."152 " <br>Para proteger una carpeta, haga clic en 'Proteger carpeta'.<br>Después"153 " se entrará las parejas login / contraseña autorizadas a acceder a la carpeta."154 " <br> Más información sobre la protección de carpeta en la ayuda en línea"155 " HELPID_200<br>"136 "Le menu 'dossiers protégés' vous permet de protéger par mot de passe l'accès " 137 "à tout un dossier web.<br /> Ainsi, toute personne voulant accéder à ces pages " 138 "devra entrer un nom d'utilisateur et un mot de passe valide.<br />Pour " 139 "protéger un dossier, cliquez sur 'Protéger un dossier'. <br />Vous pourrez " 140 "ensuite entrer les couples noms d'utilisateurs / mots de passe autorisés à " 141 "accéder à ce dossier<br />Plus d'information sur les dossiers protégés dans " 142 "l'aide en ligne HELPID_200<br />" 156 143 157 144 msgid "hlp_hta_list2" 158 145 msgstr "" 159 "Haga clic en 'Modificar' para añadir o suprimir usuarios autorizados a leer " 160 "el contenido de la carpeta.<br> Para quitar la protección de una carpeta, " 161 "márquela y haga clic en el botón 'Quitar protección carpeta seleccionada'<br>" 162 163 msgid "French" 164 msgstr "Francés" 165 166 msgid "German" 167 msgstr "Alemán" 168 169 msgid "Spanish" 170 msgstr "Español" 171 172 msgid "English" 173 msgstr "Inglés" 146 "Haga clic en 'Modificar' para añadir o suprimir usuarios autorizados a ler " 147 "el contenido de la carpeta.<br /> Para quitar la protección de una carpeta, " 148 "marquela y haga clic en el botón 'Quitar protección carpeta seleccionada'<br />" -
bureau/locales/fr_FR/LC_MESSAGES/mysql.po
r186 r222 2 2 # Copyright (c) 2002 the AlternC Development Team 3 3 # <tech@alternc.org> 4 # $Id: mysql.po,v 1. 6 2004/05/01 17:30:27 anonymousExp $4 # $Id: mysql.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $ 5 5 msgid "" 6 6 msgstr "" 7 "Project-Id-Version: $Id: mysql.po,v 1. 6 2004/05/01 17:30:27 anonymousExp $\n"7 "Project-Id-Version: $Id: mysql.po,v 1.7 2004/05/19 14:23:06 benjamin Exp $\n" 8 8 "POT-Creation-Date: 2002-06-12 19:00CEST\n" 9 9 "PO-Revision-Date: 2002-06-16 13:50CEST\n" … … 74 74 msgid "Database" 75 75 msgstr "Base de données" 76 77 msgid "Database name"78 msgstr "Nom de la base de données"79 76 80 77 msgid "Delete my SQL database"
Note: See TracChangeset
for help on using the changeset viewer.
