[Users] Please help for serweb configuration in openser server

Ferianto siregar ferianto_voip at yahoo.com
Mon Aug 21 07:22:19 CEST 2006


Dear sunkara,
   
  Thank you very much for your kind-hearted for answering my question, Thank you very much.
  If I can ask you more, would you mind tell me what is the name the application that I can use like "serweb" in openser server ? (the suitable "serweb" for openser server) because I am building openser server. and would you mind tell me where I can get it? 
  Please help me, Sunkara..Please...Please...
  Thank you very much...Thank you...
   
  Regards,
   
  Ferianto

raviprakash sunkara <sunkara.raviprakash.feb14 at gmail.com> wrote:
  Hi siregar...
I best Suggest is Not to user SERweb in openser.
It application to SER only. not For openser , if U want to configure the serweb in openser U need to modify some changes in serweb and  openser tables  other things.. 
Perhaps try it..... 
Best of luck...


  On 8/19/06, Ferianto siregar <ferianto_voip at yahoo.com> wrote:     Dear all,

Thanks to all of you for your kind-hearted answering my question. Thank you very much. 
Now, I am building serweb in openser. So, the client can register to become the member of communication in my openser that I have built.
1. Can "serweb" (from iptel.org) be used in openser server for building the webserver of the openser server? Or openser has it`s own webserver except "serweb"?
2.When I build serweb (from iptel.org), I have some problems. I do hope anybody can help me and give me a suggestion. Please..
The error message that I got from client browser is
  Fatal error: Failed opening required 'var/www/phplib/db_mysql.inc' (include_path='.:/usr/share/pear') in /var/www/html/serweb/user_interface/prepend.php on line 23
  The contain of prepend.php that shows line 23 is 

  require($_PHPLIB["libdir"] . "db_mysql.inc");   /* Change this to match your database. */
  I don`t know what is wrong. I do hope anybody can give me a suggestion. Please help me..Please. Thanks
  Regards,
  

  Ferianto

  Note:

  This is the contain of db_mysql.inc that I have configured 

  
  <?php
  /*
   * Session Management for PHP3
   *
   * Copyright (c) 1998-2000 NetUSE AG 
   *                    Boris Erdmann, Kristian Koehntopp
   *
   * $Id: db_mysql.inc,v 1.1.1.1 2002/09/04 18:19:57 kozlik Exp $
   *
   */ 
   
  class DB_Sql {
    
    /* public: connection parameters */ 
    var $Host     = "localhost";
    var $Database = "openser";
    var $User     = "openser";
    var $Password = "openserrw";
   
    /* public: configuration parameters */
    var $Auto_Free     = 0;     ## Set to 1 for automatic mysql_free_result()
    var $Debug         = 0;     ## Set to 1 for debugging messages. 
    var $Halt_On_Error = "yes"; ## "yes" (halt with message), "no" (ignore errors quietly), "report" (ignore errror, but spit a warning)
    var $Seq_Table     = "db_sequence";
   
    /* public: result array and current row number */
    var $Record   = array(); 
    var $Row;
   
    /* public: current error number and error text */
    var $Errno    = 0;
    var $Error     = "";
   
    /* public: this is an api revision, not a CVS revision. */
    var $type     = "mysql";
    var $revision = "1.2";
   
    /* private: link and query handles */
    var $Link_ID  = 0;
    var $Query_ID = 0; 
    
   
   
    /* public: constructor */
    function DB_Sql($query = "") {
        $this->query($query); 
    }
   
    /* public: some trivial reporting */
    function link_id() {
      return $this->Link_ID;
    }
   
    function query_id() {
      return $this->Query_ID;
    }
   
    /* public: connection management */
    function connect($Database = "", $Host = "", $User = "", $Password = "") {
      /* Handle defaults */ 
      if ("" == $Database)
        $Database = $this->Database;
      if ("" == $Host)
        $Host      = $this->Host;
      if ("" == $User)
        $User     = $this->User;
      if ("" == $Password)
        $Password = $this->Password;
        
      /* establish connection, select database */ 
      if ( 0 == $this->Link_ID ) {
      
        $this->Link_ID=mysql_pconnect($Host, $User, $Password);
        if (!$this->Link_ID) { 
          $this->halt("pconnect($Host, $User, \$Password) failed.");
          return 0;
        }
   
        if (!@mysql_select_db($Database,$this->Link_ID)) { 
          $this->halt("cannot use database ".$Database);
          return 0;
        }
      }
      
      return $this->Link_ID;
    }
   
    /* public: discard the query result */
    function free() {
        @mysql_free_result($this->Query_ID);
        $this->Query_ID = 0;
    }
   
    /* public: perform a query */
    function query($Query_String) {
      /* No empty queries, please, since PHP4 chokes on them. */
      if ($Query_String == "")
        /* The empty query string is passed on from the constructor,
         * when calling the class without a query, e.g. in situations
         * like these: '$db = new DB_Sql_Subclass;' 
         */
        return 0;
   
      if (!$this->connect()) {
        return 0; /* we already complained in connect() about that. */ 
      };
   
      # New query, discard previous result.
      if ($this->Query_ID) {
        $this->free();
      }
   
      if ($this->Debug)
        printf("Debug: query = %s<br>\n", $Query_String);
   
      $this->Query_ID = @mysql_query($Query_String,$this->Link_ID);
      $this->Row   = 0;
      $this->Errno = mysql_errno();
      $this->Error = mysql_error();
      if (!$this->Query_ID) {
        $this->halt("Invalid SQL: ".$Query_String);
      }
   
      # Will return nada if it fails. That's fine.
      return $this->Query_ID; 
    }
   
    /* public: walk result set */
    function next_record() {
      if (!$this->Query_ID) {
        $this->halt("next_record called with no query pending.");
        return 0;
      }
   
      $this->Record = @mysql_fetch_array($this->Query_ID); 
      $this->Row   += 1;
      $this->Errno  = mysql_errno();
      $this->Error  = mysql_error();
   
      $stat = is_array($this->Record);
      if (!$stat && $this->Auto_Free) {
        $this->free();
      }
      return $stat;
    }
   
    /* public: position in result set */
    function seek($pos = 0) {
      $status = @mysql_data_seek($this->Query_ID, $pos);
      if ($status)
        $this->Row = $pos;
      else {
        $this->halt("seek($pos) failed: result has ".$this->num_rows()." rows.");
   
        /* half assed attempt to save the day, 
         * but do not consider this documented or even 
         * desireable behaviour.
         */
        @mysql_data_seek($this->Query_ID, $this->num_rows());
        $this->Row = $this->num_rows(); 
        return 0;
      }
   
      return 1;
    }
   
    /* public: table locking */ 
    function lock($table, $mode = "write") {
      $query = "lock tables ";
      if (is_array($table)) {
        while (list($key,$value) = each($table)) { 
          if (!is_int($key)) {
                // texts key are "read", "read local", "write", "low priority write"
            $query .= "$value $key, ";
          } else {
            $query .= "$value $mode, ";
          }
        }
        $query = substr($query,0,-2);
      } else {
        $query .= "$table $mode";
      }
      $res = $this->query($query);
        if (!$res) {
        $this->halt("lock() failed.");
        return 0;
      }
      return $res;
    }
    
    function unlock() {
      $res = $this->query("unlock tables");
      if (!$res) {
        $this->halt("unlock() failed."); 
      }
      return $res;
    }
   
    /* public: evaluate the result (size, width) */
    function affected_rows() { 
      return @mysql_affected_rows($this->Link_ID);
    }
   
    function num_rows() {
      return @mysql_num_rows($this->Query_ID); 
    }
   
    function num_fields() {
      return @mysql_num_fields($this->Query_ID);
    }
   
    /* public: shorthand notation */
    function nf() {
      return $this->num_rows();
    }
   
    function np() { 
      print $this->num_rows();
    }
   
    function f($Name) {
      if (isset($this->Record[$Name])) {
        return $this->Record[$Name];
      }
    }
   
    function p($Name) {
      if (isset($this->Record[$Name])) {
        print $this->Record[$Name];
      }
    }
   
    /* public: sequence numbers */
    function nextid($seq_name) {
      $this->connect();
      
      if ($this->lock($this->Seq_Table)) {
        /* get sequence number (locked) and increment */ 
        $q  = sprintf("select nextid from %s where seq_name = '%s'",
                  $this->Seq_Table,
                  $seq_name); 
        $id  = @mysql_query($q, $this->Link_ID);
        $res = @mysql_fetch_array($id);
        
        /* No current value, make one */ 
        if (!is_array($res)) {
          $currentid = 0;
          $q = sprintf("insert into %s values('%s', %s)",
                   $this->Seq_Table,
                   $seq_name,
                   $currentid);
          $id = @mysql_query($q, $this->Link_ID);
        } else {
          $currentid = $res["nextid"];
        }
        $nextid = $currentid + 1; 
        $q = sprintf("update %s set nextid = '%s' where seq_name = '%s'",
                 $this->Seq_Table,
                 $nextid,
                 $seq_name);
        $id = @mysql_query($q, $this->Link_ID);
        $this->unlock();
      } else {
        $this->halt("cannot lock ".$this->Seq_Table." - has it been created?");
        return 0;
      }
      return $nextid; 
    }
   
    /* public: return table metadata */
    function metadata($table = "", $full = false) {
      $count = 0;
      $id    = 0;
      $res   = array();
   
      /*
       * Due to compatibility problems with Table we changed the behavior 
       * of metadata();
       * depending on $full, metadata returns the following values:
       *
       * - full is false (default):
       * $result[]:
       *   [0]["table"]  table name
       *   [0]["name"]   field name 
       *   [0]["type"]   field type
       *   [0]["len"]    field length
       *   [0]["flags"]  field flags
       *
       * - full is true
       * $result[]:
       *   ["num_fields"] number of metadata records
       *   [0]["table"]  table name
       *   [0]["name"]   field name
       *   [0]["type"]    field type
       *   [0]["len"]    field length
       *   [0]["flags"]  field flags
       *   ["meta"][field name]  index of field named "field name"
       *   This last one could be used if you have a field name, but no index. 
       *   Test:  if (isset($result['meta']['myfield'])) { ...
       */
   
      // if no $table specified, assume that we are working with a query 
      // result
      if ($table) {
        $this->connect();
        $id = @mysql_list_fields($this->Database, $table);
        if (!$id) {
          $this->halt("Metadata query failed.");
          return false; 
        }
      } else {
        $id = $this->Query_ID; 
        if (!$id) {
          $this->halt("No query specified."); 
          return false;
        }
      }
   
      $count = @mysql_num_fields($id);
   
      // made this IF due to performance (one if is faster than $count if's)
      if (!$full) {
        for ($i=0; $i<$count; $i++) {
          $res[$i]["table"] = @mysql_field_table ($id, $i);
          $res[$i]["name"]  = @mysql_field_name  ($id, $i);
          $res[$i]["type"]  = @mysql_field_type  ($id, $i);
          $res[$i]["len"]   = @mysql_field_len   ($id, $i);
          $res[$i]["flags"] = @mysql_field_flags ($id, $i); 
        }
      } else { // full
        $res["num_fields"]= $count;
      
        for ($i=0; $i<$count; $i++) { 
          $res[$i]["table"] = @mysql_field_table ($id, $i);
          $res[$i]["name"]  = @mysql_field_name  ($id, $i);
          $res[$i]["type"]  = @mysql_field_type  ($id, $i);
          $res[$i]["len"]   = @mysql_field_len   ($id, $i); 
          $res[$i]["flags"] = @mysql_field_flags ($id, $i);
          $res["meta"][$res[$i]["name"]] = $i;
        }
      }
      
      // free the result only if we were called on a table
      if ($table) {
        @mysql_free_result($id); 
      }
      return $res;
    }
   
    /* public: find available table names */
    function table_names() { 
      $this->connect();
      $h = @mysql_query("show tables", $this->Link_ID);
      $i = 0;
      while ($info = @mysql_fetch_row($h)) { 
        $return[$i]["table_name"]      = $info[0];
        $return[$i]["tablespace_name"] = $this->Database;
        $return[$i]["database"]         = $this->Database;
        $i++;
      }
      
      @mysql_free_result($h);
      return $return;
    }
   
    /* private: error handling */
    function halt($msg) {
      $this->Error = @mysql_error($this->Link_ID); 
      $this->Errno = @mysql_errno($this->Link_ID);
      if ($this->Halt_On_Error == "no")
        return;
   
      $this->haltmsg($msg);
   
      if ($this->Halt_On_Error != "report")
        die("Session halted.");
    }
   
    function haltmsg($msg) {
      printf("</td></tr></table><b>Database error:</b> %s<br>\n", $msg);
      printf("<b>MySQL Error</b>: %s (%s)<br>\n",
        $this->Errno,
        $this->Error);
    }
   
  }
  ?>

     
  
  
---------------------------------
  Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2�/min or less.   


_______________________________________________
Users mailing list
Users at openser.org
http://openser.org/cgi-bin/mailman/listinfo/users






-- 
Thanks and Regards with cheers
Sunkara Ravi Prakash 
Hyperion Technology
Kondapur, Hi-tech city,
Hyderabad.
www.hyperion-tech.com
+91-9985077535 

 		
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls.  Great rates starting at 1&cent;/min.
 		
---------------------------------
How low will we go? Check out Yahoo! Messenger’s low  PC-to-Phone call rates.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20060820/036d28b5/attachment.htm>


More information about the sr-users mailing list