" ;
    if ($stdout) {
      passthru($exe,$ret);
    } else {
      exec ($exe,$ret);
    }
    echo "" ;
    if ($ret != 0) {
      return false ;
    } else {
      return true ;
    }
  }
  
  /* ----------------------------------------------------------------- */
  /** Get size of a database
   * @param $dbname name of the database
   * @return integer database size
   * @access private
   */
 function get_db_size($dbname) {
   global $db,$err;
   $db->query("SHOW TABLE STATUS FROM `$dbname`;");
   $size = 0;
   while ($db->next_record()) {
     $size += $db->f('Data_length') + $db->f('Index_length')
              + $db->f('Data_free');
   }
   return $size;
 }
  
  /* ----------------------------------------------------------------- */
  /** Hook function called by the quota class to compute user used quota
   * Returns the used quota for the $name service for the current user.
   * @param $name string name of the quota
   * @return integer the number of service used or false if an error occured
   * @access private
   */
  function alternc_get_quota($name) {
    global $err,$db,$cuid;
    if ($name=="mysql") {
      $err->log("mysql","alternc_get_quota");
      $c=$this->get_dblist();
      if (is_array($c)) {
	return count($c);
      } else {
	return 0;
      }
    } else return false;
  }
  /* ----------------------------------------------------------------- */
  /** Hook function called when a user is deleted.
   * AlternC's standard function that delete a member
   */
  function alternc_del_member() {
    global $db,$err,$cuid;
    $err->log("mysql","alternc_del_member");
    $c=$this->get_dblist();
    if (is_array($c)) {
      for($i=0;$i