⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstract.php

📁 linux下安装不上mysql5与php5的可用此关联
💻 PHP
字号:
<?PHPrequire_once('config.php');abstract class rb_testrunner {    abstract public function runTest($file, $binary, $options);  abstract public function saveResults($label, $rundatetime, $file, $binary_file, $binary_label, $results);  abstract public function getRenderer();  abstract public function clearOldResults();  }abstract class rb_renderer {    abstract public function renderRunTxt($run_label, $file, $run_datetime);  abstract public function renderOverviewTxt($run_label, $run_datetime);  abstract public function renderRunHTML($run_label, $file, $run_datetime);  abstract public function renderOverviewHTML($run_label, $run_datetime);  abstract public function renderRunWiki($run_label, $file, $run_datetime);    public function renderRunInfoTxt($info) {               printf("%-16s: %s on %s\n", "Run", $info['label'], $info['run']);        printf("%-16s: %s\n", "System", $info['sysinfo']);          }  }abstract class rb_storage_db {    protected $link = null;  public function __construct() {        if (!$this->link = mysqli_connect(RB_DB_HOST, RB_DB_USER, RB_DB_PASSWD, RB_DB_DB, RB_DB_PORT, RB_DB_SOCKET)) {      throw new Exception(sprintf('Cannot connect to database, [%d] %s\n', mysqli_connect_errno(), mysqli_connect_error()));    }      }    public function init() {        if (!mysqli_query($this->link, "        CREATE TABLE IF NOT EXISTS rb_res_run (            run_id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,            run datetime not null,             file varchar(255) not null,             label varchar(255) not null,             sysinfo varchar(255) not null,                binary_file varchar(255) not null,            binary_label varchar(255) not null,                    unique index(run, file, label, binary_file, binary_label),            index(binary_label, file),            index(binary_file, file)        ) Engine = InnoDB")) {      throw new Exception(sprintf("Cannot create table rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }      }    abstract public function save($run_label, $run_datetime, $file, $binary_file, $binary_label, $data) ;    public function delete($run_label) {        if (!mysqli_query($this->link, sprintf("        DELETE FROM rb_res_run WHERE label = '%s'",           mysqli_real_escape_string($this->link, $run_label)))) {      throw new Exception(sprintf("Cannot delete from rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }      }      public function deleteBefore($run_datetime) {        if (!mysqli_query($this->link, sprintf("        DELETE FROM rb_res_run WHERE label <= '%s'",           mysqli_real_escape_string($this->link, $run_datetime)))) {      throw new Exception(sprintf("Cannot delete from rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }      }    public function deleteAll() {        if (!mysqli_query("DELETE FROM rb_res_run")) {      throw new Exception(sprintf("Cannot delete from rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }      }       public function reset() {        if (!mysqli_query($this->link, "DROP TABLE IF EXISTS rb_res_run")) {      throw new Exception(sprintf("Cannot drop table rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }      }      public function getBinaries($run_label, $run_file, $run_datetime) {    if (!$res = mysqli_query($this->link, $this->mySprintf('SELECT DISTINCT binary_file, binary_label           FROM rb_res_run WHERE label = "%s" AND file = "%s" AND run = "%s" ORDER by binary_label, binary_file', $run_label, $run_file, $run_datetime))) {      throw new Exception(sprintf("Cannot get distinct binaries, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }        $binaries = array();    while ($row = mysqli_fetch_assoc($res)) {      $binaries[$row['binary_label']] = $row['binary_file'];    }          mysqli_free_result($res);    return $binaries;  }    public function getRunInfo($run_label, $run_file, $run_datetime) {        if (!$res = mysqli_query($this->link, $this->mySprintf('SELECT * FROM rb_res_run WHERE label = "%s" AND file = "%s" AND run = "%s"', $run_label, $run_file, $run_datetime))) {      throw new Exception(sprintf("Cannot get run info, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }    if (!$info = mysqli_fetch_assoc($res))      throw new Exception(sprintf("Cannot fetch run info,[%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));          mysqli_free_result($res);    return $info;  }    protected function saveRuninfo($run_label, $run_datetime, $file, $binary_file, $binary_label) {        $sysinfo = '';    foreach (posix_uname() as $k => $v)      $sysinfo .= sprintf("%s  ", $v);    $sysinfo = substr($sysinfo, 0, -2);        if (!mysqli_query($this->link, $sql = $this->mySprintf('INSERT INTO rb_res_run      (run, file, label, sysinfo, binary_file, binary_label)         VALUES      ("%s", "%s", "%s", "%s", "%s", "%s")', $run_datetime, $file, $run_label, $sysinfo, $binary_file, $binary_label))) {          throw new Exception(sprintf("Cannot insert into table rb_res_run, [%d] %s\n", mysqli_errno($this->link), mysqli_error($this->link)));    }        return mysqli_insert_id($this->link);      }  protected function mySprintf() {        $args = func_get_args();            $pattern = array_shift($args);            $call_args = array($pattern);    foreach ($args as $k => $v)      $call_args[] = mysqli_real_escape_string($this->link, $v);                    $ret = call_user_func_array('sprintf', $call_args);           return $ret;  }  }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -