Ticket #594: patch-594.4.diff

File patch-594.4.diff, 4.8 KB (added by nahuel, 7 years ago)
  • debian/prerm

     
    1717    rm -f /var/alternc/dns/bureau 
    1818    rm -f /var/alternc/dns/$FQDN_LETTER/$FQDN 
    1919    rmdir -p /var/alternc/html/a/admin 2> /dev/null || true 
     20    rmdir -p /var/alternc/html/r/root 2> /dev/null || true 
    2021    rm -f /var/alternc/apacheconf/override_php.conf 
    21     rmdir -p /var/alternc/htm/a/admin 2> /dev/null || true 
    2222    ;; 
    2323 
    2424upgrade) 
  • bureau/admin/mail_list.php

     
    3434} 
    3535include("head.php"); 
    3636 
    37 if(!$res=$mail->enum_doms_mails($domain,1)) { 
     37if(!$res=$mail->enum_doms_mails($domain,1,$letter)) { 
    3838  $error=$err->errstr(); 
    39  
    4039?> 
    4140</head> 
    4241<body> 
     
    4544if ($error) { 
    4645  echo "<p class=\"error\">$error</p>"; 
    4746} 
    48 echo "<p><a href=\"mail_add.php?domain=$domain\">".sprintf(_("Add a mailbox on <b>%s</b>"),$domain)."</a><br /"; 
     47echo "<p><a href=\"mail_add.php?domain=$domain\">".sprintf(_("Add a mailbox on <b>%s</b>"),$domain)."</a><br />"; 
    4948echo "   <a href=\"mail_add.php?many=1&amp;domain=$domain\">".sprintf(_("Add many mailboxes on <b>%s</b>"),$domain)."</a></p>"; 
    5049?> 
    5150 
     
    6463  echo "<p class=\"error\">$error</p>"; 
    6564} 
    6665 
    67 echo "<p><a href=\"mail_add.php?domain=$domain\">".sprintf(_("Add a mailbox on <b>%s</b>"),$domain)."</a><br /"; 
     66echo "<p><a href=\"mail_add.php?domain=$domain\">".sprintf(_("Add a mailbox on <b>%s</b>"),$domain)."</a><br />"; 
    6867echo "   <a href=\"mail_add.php?many=1&amp;domain=$domain\">".sprintf(_("Add many mailboxes on <b>%s</b>"),$domain)."</a></p>"; 
     68 
     69if(!$letters=$mail->enum_doms_mails_letters($domain)) 
     70  $error=$err->errstr(); 
     71else{ 
     72  for($i=0;$i<count($letters);$i++){ 
     73    $val=$letters[$i]; 
     74    echo "   <a href=\"mail_list.php?domain=$domain&amp;letter=$val\">$val&nbsp;</a></p>"; 
     75  } 
     76  echo "   <a href=\"mail_list.php?domain=$domain\">".sprintf(_("All"))."</a></p>"; 
     77} 
     78 
     79 
    6980?> 
    7081 
     82 
    7183<form method="post" action="mail_dodel.php" id="main"> 
    7284 
    7385<table cellspacing="0" cellpadding="4"> 
  • bureau/class/m_mail.php

     
    7373  } 
    7474 
    7575  /* ----------------------------------------------------------------- */ 
    76   /** Retourne la liste des mails du domaine $dom 
     76  /** Retourne la liste des lettres pour lesquelles un domaine $dom a 
     77   * des e-mails 
     78   * Retourne un tableau indexé où se trouvent les lettres 
     79   * @param string $dom Domaine dont on veut les premières lettres des mails 
     80  * @return array Tableau de lettres ou FALSE si erreur 
     81   */ 
     82  function enum_doms_mails_letters($dom) { 
     83    global $err,$cuid,$db; 
     84    $err->log("mail","enum_doms_mails_letters",$dom); 
     85    $db->query("SELECT LEFT(mail,1) as letter FROM mail_domain where uid='$cuid' AND type=0 and mail like '%@$dom' GROUP BY letter ORDER BY letter;"); 
     86    $res=array(); 
     87    while($db->next_record()) { 
     88      $res[]=$db->f("letter"); 
     89    } 
     90    return $res; 
     91  } 
     92 
     93  /* ----------------------------------------------------------------- */ 
     94  /** Retourne la liste des mails du domaine $dom et si une lettre est 
     95   * définie, cela retourne les mail qui commencent par celle ci 
    7796   * Retourne un tableau indexé de tableaux associatifs sous la forme : 
    7897   * $a["mail"]=Adresse email 
    7998   * $a["pop"]=1 ou 0 selon s'il s'agit d'un compte pop ou pas 
     
    83102   * @return array Tableau de mails comme indiqué ci-dessus ou FALSE si une erreur 
    84103   *  s'est produite 
    85104   */ 
    86   function enum_doms_mails($dom,$sort=0) { 
     105  function enum_doms_mails($dom,$sort=0,$letter="") { 
    87106    global $err,$cuid,$db; 
    88107    $err->log("mail","enum_doms_mails",$dom); 
    89     $db->query("SELECT mail,pop,alias FROM mail_domain WHERE mail LIKE '%@$dom' AND uid='$cuid' AND type=0;"); 
     108    $db->query("SELECT mail,pop,alias FROM mail_domain WHERE mail LIKE '$letter%@$dom' AND uid='$cuid' AND type=0;"); 
    90109    $res=array(); $i=0; 
    91110    while ($db->next_record()) { 
    92111      if ($db->f("pop")) {  
  • install/reset_root.php

     
    3737$admin->enabled=1; 
    3838 
    3939// On remet le pass admin a zero 
    40 if (!$admin->update_mem(2000,"postmaster@".$L_FQDN,"Administrateur", "Admin", 'admin', 1, 1)) { 
    41         echo "erreur : ".$err->errstr()."<br>\n"; 
    42         exit(); 
     40if (!$admin->update_mem(2000,"postmaster@".$L_FQDN,"Administrateur", "Root", 'root', 1, 1)) 
     41elseif(!$admin->update_mem(2000,"postmaster@".$L_FQDN,"Administrateur", "Admin", 'admin', 1, 1)) { 
     42    echo "erreur : ".$err->errstr()."<br>\n"; 
     43    exit(); 
    4344} 
    4445 
    4546?>