예제 #1
0
     if ($Server->getErrno() == 0) {
         print SUCCESSFULL . ',';
     } else {
         print FAILED . ',' . $Server->error;
     }
     break;
 case 2:
     $Server->scannPort($port);
     if ($Server->getErrno() == 0) {
         print SUCCESSFULL . ',';
     } else {
         print FAILED . ',' . $Server->error;
     }
     break;
 case 3:
     $Server->loginDbServer($user, $passwd);
     $Server->setDataBase($db_name, $port);
     if ($Server->errno == 0) {
         $response = $Server->tryConnectServer($type);
         if ($response->status == 'SUCCESS') {
             print SUCCESSFULL . ',';
         } else {
             print FAILED . ',' . $Server->error;
         }
     } else {
         print FAILED . ',' . $Server->error;
     }
     break;
 case 4:
     $Server->loginDbServer($user, $passwd);
     $Server->setDataBase($db_name, $port);
예제 #2
0
                 }
             } else {
                 echo FAILED . "," . $Server->error;
             }
             break;
         default:
             echo "finished";
             break;
     }
 } else {
     $connectionType = $_POST["connectionType"];
     $tns = $_POST["tns"];
     $net = new NET();
     switch ($step) {
         case 1:
             $net->loginDbServer($user, $passwd);
             if ($net->errno == 0) {
                 $arrayServerData = array("connectionType" => $connectionType, "tns" => $tns);
                 $response = $net->tryConnectServer($type, $arrayServerData);
                 if ($response->status == "SUCCESS") {
                     $response = $net->tryOpenDataBase($type, $arrayServerData);
                     if ($response->status == "SUCCESS") {
                         echo SUCCESSFULL . "," . $net->error;
                     } else {
                         echo FAILED . "," . $net->error;
                     }
                 } else {
                     echo FAILED . "," . $net->error;
                 }
             } else {
                 echo FAILED . "," . $net->error;
예제 #3
0
function testConnection($type, $server, $user, $passwd, $port = 'none', $dbName = "")
{
    if ($port == 'none' || $port == '' || $port == 0) {
        //setting defaults ports
        switch ($type) {
            case 'mysql':
                $port = 3306;
                break;
            case 'pgsql':
                $port = 5432;
                break;
            case 'mssql':
                $port = 1433;
                break;
            case 'oracle':
                $port = 1521;
                break;
        }
    }
    G::LoadClass('net');
    $Server = new NET($server);
    if ($Server->getErrno() == 0) {
        $Server->scannPort($port);
        if ($Server->getErrno() == 0) {
            $Server->loginDbServer($user, $passwd);
            $Server->setDataBase($dbName, $port);
            if ($Server->errno == 0) {
                $response = $Server->tryConnectServer($type);
                if ($response->status == 'SUCCESS') {
                    if ($Server->errno == 0) {
                        $message = "";
                        $response = $Server->tryConnectServer($type);
                        $connDatabase = @mysql_connect($server, $user, $passwd);
                        $dbNameTest = "PROCESSMAKERTESTDC";
                        $db = @mysql_query("CREATE DATABASE " . $dbNameTest, $connDatabase);
                        $success = false;
                        if (!$db) {
                            $message = mysql_error();
                        } else {
                            $usrTest = "wfrbtest";
                            $chkG = "GRANT ALL PRIVILEGES ON `" . $dbNameTest . "`.* TO " . $usrTest . "@'%' IDENTIFIED BY 'sample' WITH GRANT OPTION";
                            $ch = @mysql_query($chkG, $connDatabase);
                            if (!$ch) {
                                $message = mysql_error();
                            } else {
                                $sqlCreateUser = "******" . $user . "_usertest'@'%' IDENTIFIED BY 'sample'";
                                $result = @mysql_query($sqlCreateUser, $connDatabase);
                                if (!$result) {
                                    $message = mysql_error();
                                } else {
                                    $success = true;
                                    $message = G::LoadTranslation('ID_SUCCESSFUL_CONNECTION');
                                }
                                $sqlDropUser = "******" . $user . "_usertest'@'%'";
                                @mysql_query($sqlDropUser, $connDatabase);
                                @mysql_query("DROP USER " . $usrTest . "@'%'", $connDatabase);
                            }
                            @mysql_query("DROP DATABASE " . $dbNameTest, $connDatabase);
                        }
                        return array($success, $message != "" ? $message : $Server->error);
                    } else {
                        return array(false, $Server->error);
                    }
                } else {
                    return array(false, $Server->error);
                }
            } else {
                return array(false, $Server->error);
            }
        } else {
            return array(false, $Server->error);
        }
    } else {
        return array(false, $Server->error);
    }
}
 function getDBVersion()
 {
     $sMySQLVersion = '?????';
     if (defined("DB_HOST")) {
         G::LoadClass('net');
         G::LoadClass('dbConnections');
         $dbNetView = new NET(DB_HOST);
         $dbNetView->loginDbServer(DB_USER, DB_PASS);
         $dbConns = new dbConnections('');
         $availdb = '';
         foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
             if ($availdb != '') {
                 $availdb .= ', ';
             }
             $availdb .= $val['name'];
         }
         try {
             $sMySQLVersion = $dbNetView->getDbServerVersion('mysql');
         } catch (Exception $oException) {
             $sMySQLVersion = '?????';
         }
     }
     return $sMySQLVersion;
 }
예제 #5
0
 /**
  * Get metadata from this workspace
  *
  * @param string $path the directory where to create the sql files
  * @return array information about this workspace
  */
 public function getMetadata()
 {
     $Fields = array_merge(System::getSysInfo(), $this->getDBInfo());
     $Fields['WORKSPACE_NAME'] = $this->name;
     if (isset($this->dbHost)) {
         //TODO: This code stopped working with the refactoring
         //require_once ("propel/Propel.php");
         //G::LoadClass('dbConnections');
         //$dbConns = new dbConnections('');
         //$availdb = '';
         //foreach( $dbConns->getDbServicesAvailables() as $key => $val ) {
         //if(!empty($availdb))
         //  $availdb .= ', ';
         //  $availdb .= $val['name'];
         //}
         G::LoadClass('net');
         $dbNetView = new NET($this->dbHost);
         $dbNetView->loginDbServer($this->dbUser, $this->dbPass);
         try {
             $sMySQLVersion = $dbNetView->getDbServerVersion('mysql');
         } catch (Exception $oException) {
             $sMySQLVersion = 'Unknown';
         }
         $Fields['DATABASE'] = $dbNetView->dbName($this->dbAdapter) . ' (Version ' . $sMySQLVersion . ')';
         $Fields['DATABASE_SERVER'] = $this->dbHost;
         $Fields['DATABASE_NAME'] = $this->dbName;
         $Fields['AVAILABLE_DB'] = "Not defined";
         //$Fields['AVAILABLE_DB'] = $availdb;
     } else {
         $Fields['DATABASE'] = "Not defined";
         $Fields['DATABASE_SERVER'] = "Not defined";
         $Fields['DATABASE_NAME'] = "Not defined";
         $Fields['AVAILABLE_DB'] = "Not defined";
     }
     return $Fields;
 }
예제 #6
0
    /**
     * Test DataBase Connection
     * @var string $dataCon. Data for DataBase Connection
     * @var string $returnArray. Flag for url
     *
     * @author Brayan Pereyra (Cochalo) <*****@*****.**>
     * @copyright Colosa - Bolivia
     *
     * @return void
     */
    public function testConnection($dataCon, $returnArray = false)
    {
        $resp = array();
        $respTest = array();
        $resp['resp'] = false;

        $dataCon = array_change_key_case($dataCon, CASE_UPPER);

        $flagTns = ($dataCon["DBS_TYPE"] == "oracle" && $dataCon["DBS_CONNECTION_TYPE"] == "TNS")? 1 : 0;

        G::LoadClass( 'net' );

        if ($flagTns == 0) {
            $Server = new \NET($dataCon['DBS_SERVER']);

            // STEP 1 : Resolving Host Name
            $respTest['0'] = array();
            $respTest['0']['test'] = 'Resolving Host Name ' . $dataCon['DBS_SERVER'];
            if ($Server->getErrno() != 0) {
                if ($returnArray) {
                    $respTest['0']['error'] = "Error Testing Connection: Resolving Host Name FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Resolving Host Name FAILED : " . $Server->error;
                    return $resp;
                }
            }

            // STEP 2 : Checking port
            $respTest['1'] = array();
            $respTest['1']['test'] = 'Checking port ' . $dataCon['DBS_PORT'];
            $Server->scannPort($dataCon['DBS_PORT']);
            if ($Server->getErrno() != 0) {
                if ($returnArray) {
                    $respTest['1']['error'] = "Error Testing Connection: Checking port FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Checking port FAILED : " . $Server->error;
                    return $resp;
                }
            }

            // STEP 3 : Trying to connect to host
            $respTest['2'] = array();
            $respTest['2']['test'] = 'Connecting to host ' . $dataCon['DBS_SERVER'] . (($dataCon['DBS_PORT'] != '') ? ':'.$dataCon['DBS_PORT'] : '');
            $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
            $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
            if ($Server->errno == 0) {
                $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
                if ($response->status != 'SUCCESS') {
                    if ($returnArray) {
                        $respTest['2']['error'] = "Error Testing Connection: Connecting to host FAILED : " . $Server->error;
                    } else {
                        $resp['message'] = "Error Testing Connection: Connecting to host FAILED : " . $Server->error;
                        return $resp;
                    }
                }
            } else {
                if ($returnArray) {
                    $respTest['2']['error'] = "Error Testing Connection: Connecting to host FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Connecting to host FAILED : " . $Server->error;
                    return $resp;
                }
            }

            // STEP 4 : Trying to open database
            $respTest['3'] = array();
            $respTest['3']['test'] = 'Opening database [' . $dataCon['DBS_DATABASE_NAME'] . ']';
            $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
            $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
            if ($Server->errno == 0) {
                $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
                if ($response->status == 'SUCCESS') {
                    $response = $Server->tryOpenDataBase($dataCon['DBS_TYPE']);
                    if ($response->status != 'SUCCESS') {
                        if ($returnArray) {
                            $respTest['3']['error'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                        } else {
                            $resp['message'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                            return $resp;
                        }
                    }
                } else {
                    if ($returnArray) {
                        $respTest['3']['error'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                    } else {
                        $resp['message'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                        return $resp;
                    }
                }
            } else {
                if ($returnArray) {
                    $respTest['3']['error'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Opening database FAILED : " . $Server->error;
                    return $resp;
                }
            }
        } else {
            $net = new \NET();

            //STEP 0: Trying to open database type TNS
            $respTest["0"] = array();
            $respTest["0"]["test"] = "Test TNS: " . $dataCon["DBS_TNS"];

            $net->loginDbServer($dataCon["DBS_USERNAME"], $dataCon["DBS_PASSWORD"]);

            if ($net->errno == 0) {
                $arrayServerData = array("connectionType" => $dataCon["DBS_CONNECTION_TYPE"], "tns" => $dataCon["DBS_TNS"]);

                $response = $net->tryConnectServer($dataCon["DBS_TYPE"], $arrayServerData);

                if ($response->status == "SUCCESS") {
                    $response = $net->tryOpenDataBase($dataCon["DBS_TYPE"], $arrayServerData);

                    if ($response->status != "SUCCESS") {
                        if ($returnArray) {
                            $respTest["0"]["error"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;
                        } else {
                            $resp["message"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;

                            //Return
                            return $resp;
                        }
                    }
                } else {
                    if ($returnArray) {
                        $respTest["0"]["error"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;
                    } else {
                        $resp["message"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;

                        //Return
                        return $resp;
                    }
                }
            } else {
                if ($returnArray) {
                    $respTest["0"]["error"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;
                } else {
                    $resp["message"] = "Error Testing Connection: Opening database type TNS FAILED, " . $net->error;

                    //Return
                    return $resp;
                }
            }
        }

        if ($returnArray) {
            return $respTest;
        } else {
            // CORRECT CONNECTION
            $resp['resp'] = true;
            return $resp;
        }
    }
예제 #7
0
 /**
  * Test DataBase Connection
  * @var string $dataCon. Data for DataBase Connection
  * @var string $returnArray. Flag for url
  *
  * @author Brayan Pereyra (Cochalo) <*****@*****.**>
  * @copyright Colosa - Bolivia
  *
  * @return void
  */
 public function testConnection($dataCon, $returnArray = false)
 {
     $resp = array();
     $respTest = array();
     $resp['resp'] = false;
     $dataCon = array_change_key_case($dataCon, CASE_UPPER);
     $flagTns = $dataCon["DBS_TYPE"] == "oracle" && $dataCon["DBS_CONNECTION_TYPE"] == "TNS" ? 1 : 0;
     G::LoadClass('net');
     if ($flagTns == 0) {
         $Server = new \NET($dataCon['DBS_SERVER']);
         // STEP 1 : Resolving Host Name
         $respTest['0'] = array();
         $respTest['0']['test'] = G::loadTranslation('RESOLVING_NAME') . ' ' . $dataCon['DBS_SERVER'];
         if ($Server->getErrno() != 0) {
             if ($returnArray) {
                 $respTest['0']['error'] = G::loadTranslation('ID_ERROR_HOST_NAME_FAILED') . ' : ' . $Server->error;
             } else {
                 $resp['message'] = G::loadTranslation('ID_ERROR_HOST_NAME_FAILED') . ' : ' . $Server->error;
                 return $resp;
             }
         }
         // STEP 2 : Checking port
         $respTest['1'] = array();
         $respTest['1']['test'] = G::loadTranslation('ID_CHECK_PORT') . ' ' . $dataCon['DBS_PORT'];
         $Server->scannPort($dataCon['DBS_PORT']);
         if ($Server->getErrno() != 0) {
             if ($returnArray) {
                 $respTest['1']['error'] = G::loadTranslation('ID_CHECK_PORT_FAILED') . ' : ' . $Server->error;
             } else {
                 $resp['message'] = G::loadTranslation('ID_CHECK_PORT_FAILED') . ' : ' . $Server->error;
                 return $resp;
             }
         }
         // STEP 3 : Trying to connect to host
         $respTest['2'] = array();
         $respTest['2']['test'] = G::loadTranslation('ID_CONNECTING_TO_HOST') . ' ' . $dataCon['DBS_SERVER'] . ($dataCon['DBS_PORT'] != '' ? ':' . $dataCon['DBS_PORT'] : '');
         $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
         $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
         if ($Server->errno == 0) {
             $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
             if ($response->status != 'SUCCESS') {
                 if ($returnArray) {
                     $respTest['2']['error'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error;
                 } else {
                     $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error;
                     return $resp;
                 }
             }
         } else {
             if ($returnArray) {
                 $respTest['2']['error'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error;
             } else {
                 $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_HOST_FAILED') . ' : ' . $Server->error;
                 return $resp;
             }
         }
         // STEP 4 : Trying to open database
         $respTest['3'] = array();
         $respTest['3']['test'] = G::loadTranslation('ID_OPEN_DATABASE') . ' [' . $dataCon['DBS_DATABASE_NAME'] . ']';
         $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
         $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
         if ($Server->errno == 0) {
             $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
             if ($response->status == 'SUCCESS') {
                 $response = $Server->tryOpenDataBase($dataCon['DBS_TYPE']);
                 if ($response->status != 'SUCCESS') {
                     if ($returnArray) {
                         $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
                     } else {
                         $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
                         return $resp;
                     }
                 }
             } else {
                 if ($returnArray) {
                     $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
                 } else {
                     $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
                     return $resp;
                 }
             }
         } else {
             if ($returnArray) {
                 $respTest['3']['error'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
             } else {
                 $resp['message'] = G::loadTranslation('ID_CONNECTING_TO_DATABASE_FAILED') . ' : ' . $Server->error;
                 return $resp;
             }
         }
     } else {
         $net = new \NET();
         //STEP 0: Trying to open database type TNS
         $respTest["0"] = array();
         $respTest["0"]["test"] = G::loadTranslation('ID_TEST_DATABASE_ORACLE_TNS') . ' ' . $dataCon["DBS_TNS"];
         $net->loginDbServer($dataCon["DBS_USERNAME"], $dataCon["DBS_PASSWORD"]);
         if ($net->errno == 0) {
             $arrayServerData = array("connectionType" => $dataCon["DBS_CONNECTION_TYPE"], "tns" => $dataCon["DBS_TNS"]);
             $response = $net->tryConnectServer($dataCon["DBS_TYPE"], $arrayServerData);
             if ($response->status == "SUCCESS") {
                 $response = $net->tryOpenDataBase($dataCon["DBS_TYPE"], $arrayServerData);
                 if ($response->status != "SUCCESS") {
                     if ($returnArray) {
                         $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
                     } else {
                         $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
                         //Return
                         return $resp;
                     }
                 }
             } else {
                 if ($returnArray) {
                     $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
                 } else {
                     $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
                     //Return
                     return $resp;
                 }
             }
         } else {
             if ($returnArray) {
                 $respTest["0"]["error"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
             } else {
                 $resp["message"] = G::loadTranslation('ID_TEST_ERROR_ORACLE_TNS') . ', ' . $net->error;
                 //Return
                 return $resp;
             }
         }
     }
     if ($returnArray) {
         return $respTest;
     } else {
         // CORRECT CONNECTION
         $resp['resp'] = true;
         return $resp;
     }
 }
예제 #8
0
 private function _getSystemInfo()
 {
     G::LoadClass("system");
     if (getenv('HTTP_CLIENT_IP')) {
         $ip = getenv('HTTP_CLIENT_IP');
     } else {
         if (getenv('HTTP_X_FORWARDED_FOR')) {
             $ip = getenv('HTTP_X_FORWARDED_FOR');
         } else {
             $ip = getenv('REMOTE_ADDR');
         }
     }
     $redhat = '';
     if (file_exists('/etc/redhat-release')) {
         $fnewsize = filesize('/etc/redhat-release');
         $fp = fopen('/etc/redhat-release', 'r');
         $redhat = trim(fread($fp, $fnewsize));
         fclose($fp);
     }
     $redhat .= " (" . PHP_OS . ")";
     if (defined("DB_HOST")) {
         G::LoadClass('net');
         G::LoadClass('dbConnections');
         $dbNetView = new NET(DB_HOST);
         $dbNetView->loginDbServer(DB_USER, DB_PASS);
         $dbConns = new dbConnections('');
         $availdb = '';
         foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
             if ($availdb != '') {
                 $availdb .= ', ';
             }
             $availdb .= $val['name'];
         }
         try {
             $sMySQLVersion = $dbNetView->getDbServerVersion(DB_ADAPTER);
         } catch (Exception $oException) {
             $sMySQLVersion = '?????';
         }
     }
     if (file_exists(PATH_HTML . "lib/versions")) {
         $versions = json_decode(file_get_contents(PATH_HTML . "lib/versions"), true);
         $pmuiVer = $versions["pmui_ver"];
         $mafeVer = $versions["mafe_ver"];
         $pmdynaformVer = $versions["pmdynaform_ver"];
     } else {
         $pmuiVer = $mafeVer = $pmdynaformVer = "(unknown)";
     }
     $sysSection = G::loadTranslation('ID_SYSTEM_INFO');
     $pmSection = G::LoadTranslation('ID_PROCESS_INFORMATION');
     $properties = array();
     $ee = class_exists('pmLicenseManager') ? " - Enterprise Edition" : '';
     $systemName = 'ProcessMaker';
     if (defined('SYSTEM_NAME')) {
         $systemName = SYSTEM_NAME;
     }
     $properties[] = array($systemName . ' Ver.', System::getVersion() . $ee, $pmSection);
     $properties[] = array("PMUI JS Lib. Ver.", $pmuiVer, $pmSection);
     $properties[] = array("MAFE JS Lib. Ver.", $mafeVer, $pmSection);
     $properties[] = array("PM Dynaform JS Lib. Ver.", $pmdynaformVer, $pmSection);
     if (file_exists(PATH_DATA . 'log/upgrades.log')) {
         $properties[] = array(G::LoadTranslation('ID_UPGRADES_PATCHES'), '<a href="#" onclick="showUpgradedLogs(); return false;">' . G::LoadTranslation('ID_UPGRADE_VIEW_LOG') . '</a>', $pmSection);
     } else {
         $properties[] = array(G::LoadTranslation('ID_UPGRADES_PATCHES'), G::LoadTranslation('ID_UPGRADE_NEVER_UPGRADE'), $pmSection);
     }
     $properties[] = array(G::LoadTranslation('ID_OPERATING_SYSTEM'), $redhat, $sysSection);
     $properties[] = array(G::LoadTranslation('ID_TIME_ZONE'), defined('TIME_ZONE') ? TIME_ZONE : "Unknown", $sysSection);
     $properties[] = array(G::LoadTranslation('ID_WEB_SERVER'), getenv('SERVER_SOFTWARE'), $sysSection);
     $properties[] = array(G::LoadTranslation('ID_SERVER_NAME'), getenv('SERVER_NAME'), $pmSection);
     $properties[] = array(G::LoadTranslation('ID_SERVER_IP'), $this->lookup($ip), $sysSection);
     $properties[] = array(G::LoadTranslation('ID_PHP_VERSION'), phpversion(), $sysSection);
     if (defined("DB_HOST")) {
         $properties[] = array(G::LoadTranslation('ID_DATABASE'), $dbNetView->dbName(DB_ADAPTER) . ' (Version ' . $sMySQLVersion . ')', $pmSection);
         $properties[] = array(G::LoadTranslation('ID_DATABASE_SERVER'), DB_HOST, $pmSection);
         $properties[] = array(G::LoadTranslation('ID_DATABASE_NAME'), DB_NAME, $pmSection);
         $properties[] = array(G::LoadTranslation('ID_AVAILABLE_DB'), $availdb, $sysSection);
     } else {
         $properties[] = array(G::LoadTranslation('ID_DATABASE'), "Not defined", $pmSection);
         $properties[] = array(G::LoadTranslation('ID_DATABASE_SERVER'), "Not defined", $pmSection);
         $properties[] = array(G::LoadTranslation('ID_DATABASE_NAME'), "Not defined", $pmSection);
         $properties[] = array(G::LoadTranslation('ID_AVAILABLE_DB'), "Not defined", $sysSection);
     }
     $properties[] = array(G::LoadTranslation('ID_WORKSPACE'), defined("SYS_SYS") ? SYS_SYS : "Not defined", $pmSection);
     $properties[] = array(G::LoadTranslation('ID_SERVER_PROTOCOL'), getenv('SERVER_PROTOCOL'), $sysSection);
     $properties[] = array(G::LoadTranslation('ID_SERVER_PORT'), getenv('SERVER_PORT'), $sysSection);
     //$sysSection[] = array('Remote Host', getenv ('REMOTE_HOST'), $sysSection);
     $properties[] = array(G::LoadTranslation('ID_SERVER_NAME'), getenv('SERVER_ADDR'), $sysSection);
     $properties[] = array(G::LoadTranslation('ID_USER_BROWSER'), getenv('HTTP_USER_AGENT'), $sysSection);
     return $properties;
 }
예제 #9
0
 private function _getSystemInfo()
 {
     G::LoadClass("system");
     if (getenv('HTTP_CLIENT_IP')) {
         $ip = getenv('HTTP_CLIENT_IP');
     } else {
         if (getenv('HTTP_X_FORWARDED_FOR')) {
             $ip = getenv('HTTP_X_FORWARDED_FOR');
         } else {
             $ip = getenv('REMOTE_ADDR');
         }
     }
     $redhat = '';
     if (file_exists('/etc/redhat-release')) {
         $fnewsize = filesize('/etc/redhat-release');
         $fp = fopen('/etc/redhat-release', 'r');
         $redhat = trim(fread($fp, $fnewsize));
         fclose($fp);
     }
     $redhat .= " (" . PHP_OS . ")";
     if (defined("DB_HOST")) {
         G::LoadClass('net');
         G::LoadClass('dbConnections');
         $dbNetView = new NET(DB_HOST);
         $dbNetView->loginDbServer(DB_USER, DB_PASS);
         $dbConns = new dbConnections('');
         $availdb = '';
         foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
             if ($availdb != '') {
                 $availdb .= ', ';
             }
             $availdb .= $val['name'];
         }
         try {
             $sMySQLVersion = $dbNetView->getDbServerVersion(DB_ADAPTER);
         } catch (Exception $oException) {
             $sMySQLVersion = '?????';
         }
     }
     $sysSection = G::loadTranslation('ID_SYSTEM_INFO');
     $pmSection = 'ProcessMaker Information';
     $properties = array();
     $ee = class_exists('pmLicenseManager') ? " - Enterprise Edition" : '';
     $properties[] = array('ProcessMaker Ver.', System::getVersion() . $ee, $pmSection);
     $properties[] = array('Operating System', $redhat, $sysSection);
     $properties[] = array('Time Zone', defined('TIME_ZONE') ? TIME_ZONE : "Unknown", $sysSection);
     $properties[] = array('Web Server', getenv('SERVER_SOFTWARE'), $sysSection);
     $properties[] = array('Server Name', getenv('SERVER_NAME'), $pmSection);
     $properties[] = array('Server IP Address', $this->lookup($ip), $sysSection);
     $properties[] = array('PHP Version', phpversion(), $sysSection);
     if (defined("DB_HOST")) {
         $properties[] = array('Data Base', $dbNetView->dbName(DB_ADAPTER) . ' (Version ' . $sMySQLVersion . ')', $pmSection);
         $properties[] = array('Data Base Server', DB_HOST, $pmSection);
         $properties[] = array('Data Base Name', DB_NAME, $pmSection);
         $properties[] = array('Available DB Engines', $availdb, $sysSection);
     } else {
         $properties[] = array('Data Base', "Not defined", $pmSection);
         $properties[] = array('Data Base Server', "Not defined", $pmSection);
         $properties[] = array('Data Base Name', "Not defined", $pmSection);
         $properties[] = array('Available DB Engines', "Not defined", $sysSection);
     }
     $properties[] = array('Workspace', defined("SYS_SYS") ? SYS_SYS : "Not defined", $pmSection);
     $properties[] = array('Server Protocol', getenv('SERVER_PROTOCOL'), $sysSection);
     $properties[] = array('Server Port', getenv('SERVER_PORT'), $sysSection);
     //$properties[] = array('Remote Host', getenv ('REMOTE_HOST'), $sysSection);
     $properties[] = array('Server Addr.', getenv('SERVER_ADDR'), $sysSection);
     $properties[] = array('User\'s Browser', getenv('HTTP_USER_AGENT'), $sysSection);
     return $properties;
 }
예제 #10
0
function get_infoOnPM($workspace)
{
    $infoPM = array();
    $Fields = getSysInfo();
    $Fields['WORKSPACE_NAME'] = $workspace;
    if (defined("DB_HOST")) {
        G::LoadClass('net');
        G::LoadClass('dbConnections');
        $dbNetView = new NET(DB_HOST);
        $dbNetView->loginDbServer(DB_USER, DB_PASS);
        $dbConns = new dbConnections('');
        $availdb = '';
        foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
            if ($availdb != '') {
                $availdb .= ', ';
            }
            $availdb .= $val['name'];
        }
        try {
            $sMySQLVersion = $dbNetView->getDbServerVersion('mysql');
        } catch (Exception $oException) {
            $sMySQLVersion = 'Unknown';
        }
        $Fields['DATABASE'] = $dbNetView->dbName(DB_ADAPTER) . ' (Version ' . $sMySQLVersion . ')';
        $Fields['DATABASE_SERVER'] = DB_HOST;
        $Fields['DATABASE_NAME'] = DB_NAME;
        $Fields['AVAILABLE_DB'] = $availdb;
    } else {
        $Fields['DATABASE'] = "Not defined";
        $Fields['DATABASE_SERVER'] = $info_db['adap'];
        $Fields['DATABASE_NAME'] = "Not defined";
        $Fields['AVAILABLE_DB'] = "Not defined";
    }
    $info_db = get_DirDB($workspace);
    $Fields['MYSQL_DATA_DIR'] = $info_db['datadir'];
    $Fields['PLUGINS_LIST'] = get_plugins();
    $Fields['DB_ADAPTER'] = $info_db['DB_ADAPTER'];
    $Fields['DB_HOST'] = $info_db['DB_HOST'];
    $Fields['DB_NAME'] = $info_db['DB_NAME'];
    $Fields['DB_USER'] = $info_db['DB_USER'];
    $Fields['DB_PASS'] = $info_db['DB_PASS'];
    $Fields['DB_RBAC_HOST'] = $info_db['DB_RBAC_HOST'];
    $Fields['DB_RBAC_NAME'] = $info_db['DB_RBAC_NAME'];
    $Fields['DB_RBAC_USER'] = $info_db['DB_RBAC_USER'];
    $Fields['DB_RBAC_PASS'] = $info_db['DB_RBAC_PASS'];
    $Fields['DB_REPORT_HOST'] = $info_db['DB_REPORT_HOST'];
    $Fields['DB_REPORT_NAME'] = $info_db['DB_REPORT_NAME'];
    $Fields['DB_REPORT_USER'] = $info_db['DB_REPORT_USER'];
    $Fields['DB_REPORT_PASS'] = $info_db['DB_REPORT_PASS'];
    $infoPM = $Fields;
    return $infoPM;
}
예제 #11
0
        $ip = getenv('REMOTE_ADDR');
    }
}
$redhat = '';
if (file_exists('/etc/redhat-release')) {
    $fnewsize = filesize('/etc/redhat-release');
    $fp = fopen('/etc/redhat-release', 'r');
    $redhat = trim(fread($fp, $fnewsize));
    fclose($fp);
}
$redhat .= " (" . PHP_OS . ")";
if (defined("DB_HOST")) {
    G::LoadClass('net');
    G::LoadClass('dbConnections');
    $dbNetView = new NET(DB_HOST);
    $dbNetView->loginDbServer(DB_USER, DB_PASS);
    $dbConns = new dbConnections('');
    $availdb = '';
    foreach ($dbConns->getDbServicesAvailables() as $key => $val) {
        if ($availdb != '') {
            $availdb .= ', ';
        }
        $availdb .= $val['name'];
    }
    try {
        $sMySQLVersion = $dbNetView->getDbServerVersion(DB_ADAPTER);
    } catch (Exception $oException) {
        $sMySQLVersion = '?????';
    }
}
$Fields['SYSTEM'] = $redhat;
예제 #12
0
    /**
     * Test DataBase Connection
     * @var string $dataCon. Data for DataBase Connection
     * @var string $returnArray. Flag for url
     *
     * @author Brayan Pereyra (Cochalo) <*****@*****.**>
     * @copyright Colosa - Bolivia
     *
     * @return void
     */
    public function testConnection($dataCon, $returnArray = false)
    {
        $resp = array();
        $respTest = array();
        $resp['resp'] = false;

        $dataCon = array_change_key_case($dataCon, CASE_UPPER);

        G::LoadClass( 'net' );
        $Server = new \NET($dataCon['DBS_SERVER']);

        // STEP 1 : Resolving Host Name
        $respTest['0'] = array();
        $respTest['0']['test'] = 'Resolving Host Name ' . $dataCon['DBS_SERVER'];
        if ($Server->getErrno() != 0) {
            if ($returnArray) {
                $respTest['0']['error'] = "Error Testing Connection: Resolving Host Name FAILED : " . $Server->error;
            } else {
                $resp['message'] = "Error Testing Connection: Resolving Host Name FAILED : " . $Server->error;
                return $resp;
            }
        }

        // STEP 2 : Checking port
        $respTest['1'] = array();
        $respTest['1']['test'] = 'Checking port ' . $dataCon['DBS_PORT'];
        $Server->scannPort($dataCon['DBS_PORT']);
        if ($Server->getErrno() != 0) {
            if ($returnArray) {
                $respTest['1']['error'] = "Error Testing Connection: Checking port FAILED : " . $Server->error;
            } else {
                $resp['message'] = "Error Testing Connection: Checking port FAILED : " . $Server->error;
                return $resp;
            }
        }

        // STEP 3 : Trying to connect to host
        $respTest['2'] = array();
        $respTest['2']['test'] = 'Trying to connect to host ' . $dataCon['DBS_SERVER'] . (($dataCon['DBS_PORT'] != '') ? ':'.$dataCon['DBS_PORT'] : '');
        $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
        $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
        if ($Server->errno == 0) {
            $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
            if ($response->status != 'SUCCESS') {
                if ($returnArray) {
                    $respTest['2']['error'] = "Error Testing Connection: Trying to connect to host FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Trying to connect to host FAILED : " . $Server->error;
                    return $resp;
                }
            }
        } else {
            if ($returnArray) {
                $respTest['2']['error'] = "Error Testing Connection: Trying to connect to host FAILED : " . $Server->error;
            } else {
                $resp['message'] = "Error Testing Connection: Trying to connect to host FAILED : " . $Server->error;
                return $resp;
            }
        }

        // STEP 4 : Trying to open database
        $respTest['3'] = array();
        $respTest['3']['test'] = 'Trying to open database [' . $dataCon['DBS_DATABASE_NAME'] . ']';
        $Server->loginDbServer($dataCon['DBS_USERNAME'], $dataCon['DBS_PASSWORD']);
        $Server->setDataBase($dataCon['DBS_DATABASE_NAME'], $dataCon['DBS_PORT']);
        if ($Server->errno == 0) {
            $response = $Server->tryConnectServer($dataCon['DBS_TYPE']);
            if ($response->status == 'SUCCESS') {
                $response = $Server->tryOpenDataBase($dataCon['DBS_TYPE']);
                if ($response->status != 'SUCCESS') {
                    if ($returnArray) {
                        $respTest['3']['error'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
                    } else {
                        $resp['message'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
                        return $resp;
                    }
                }
            } else {
                if ($returnArray) {
                    $respTest['3']['error'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
                } else {
                    $resp['message'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
                    return $resp;
                }
            }
        } else {
            if ($returnArray) {
                $respTest['3']['error'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
            } else {
                $resp['message'] = "Error Testing Connection: Trying to open database FAILED : " . $Server->error;
                return $resp;
            }
        }

        if ($returnArray) {
            return $respTest;
        } else {
            // CORRECT CONNECTION
            $resp['resp'] = true;
            return $resp;
        }
    }