Xtuple; $main = empty($xt['main_db']) ? false : $xt['main_db']; // migration process can not transfer. // transfer if necessary.. $do = DB_DAtaObject::Factory('Person'); $ret = !$main || $do->database() == $main; //var_Dump($ret); return $ret; } function get($tab) { $do = DB_DataObject::factory('Person'); $ourdb = substr($do->database(),-2); if (isset($_REQUEST['_roo_office']) && $_REQUEST['_roo_office'] != $ourdb) { return $this->relay('GET',$tab, $_REQUEST['_roo_office']); } if (isset($_REQUEST['_roo_office']) || $this->isMain()) { return parent::get($tab); } $this->relay('GET', $tab); } function post($tab) { $do = DB_DataObject::factory('Person'); $ourdb = substr($do->database(),-2); if (isset($_REQUEST['_roo_office']) && $_REQUEST['_roo_office'] != $ourdb) { return $this->relay('POST',$tab, $_REQUEST['_roo_office']); } if (isset($_REQUEST['_roo_office']) || $this->isMain()) { return parent::post($tab); } $this->relay('POST', $tab); } function relay($meth, $tab, $office = false) { $office = preg_replace('/[^a-z]+/i','', $office); if (!file_exists($this->rootDir.'/'. $office . '.php')) { // error technically. $this->jerr('office no available'); } //echo "RELAY?"; $ff = HTML_FlexyFramework::get(); require_once 'HTTP/Request.php'; if (empty($ff->Xtuple['main_url'])) { $ff->Xtuple['main_url'] = 'http://localhost'. $this->baseURL; } $url= $ff->Xtuple['main_url'] . '/Roo/'. $tab ; if (!empty($office)) { $mu = preg_replace('#[a-z]+\.php$#', '', $ff->Xtuple['main_url']) . preg_replace('#[^a-z]+#', '', $office) . '.php'; $url=$mu. '/Roo/'. $tab ; } //var_dump($url);exit; $req = new HTTP_Request( $url ); $req->setMethod( $meth == 'POST' ? HTTP_REQUEST_METHOD_POST : HTTP_REQUEST_METHOD_GET ); if ($meth == 'POST') { $req->addPostData( $_POST ); } else { $req->addRawQueryString($_SERVER['QUERY_STRING']); } $res = $req->sendRequest(); if (is_a($res,'PEAR_Error')) { $this->jerr("MAIN REQUEST RETURNED ERROR: ". $res->toString()); } //echo '
';print_r($req);exit;
        
        foreach($req->getResponseHeader() as $k=>$v) {
            switch($k) {
                case 'connection':
                case 'transfer-encoding':
                case 'date':
                case 'server':
                case 'x-powered-by':
                case 'expires':
                case 'cache-control':
                case 'pragma':
                    $k = false;
                default:
                    break;
            }
            if (!$k) {
                continue;
            }
            //echo $k .": $v 
"; header(ucfirst($k) .": $v"); } echo $req->getResponseBody();exit; } }