/** * @return void * @param * @param * @desc Remote or local exec. Either exectues it locally or calles remote exec depending on whether $syncserver is localhost or not. */ function rl_exec($masterserver, $slaveserver, $cmd) { global $gbl, $sgbl, $login, $ghtml; // Convert to driverapp here. Only here do we have the full information (masterserver/syncserver) to to get the syntosystem class properly. if ($cmd->action === "set" || $cmd->action === 'dowas') { $robject = $cmd->robject; $clo = myclone($robject); //dprint("Just before $robject {$robject->nname} " . $robject->domain_l . "<br> "); lxclass::clearChildrenAndParent($clo); $clo->syncserver = $slaveserver; $clo->createSyncClass(); //dprint("Just after $robject {$robject->nname} " . $robject->domain_l . "<br> "); $cmd->robject = $clo; } if (!$masterserver || $masterserver === "localhost") { $cmd->slaveserver = null; if (!isset($gbl->pserver_password) && isset($cmd->slave_password)) { $gbl->pserver_password = $cmd->slave_password; } $result = remote_exec($slaveserver, $cmd); } else { $cmd->slaveserver = $slaveserver; $result = remote_exec($masterserver, $cmd); } return $result; }
function dprintr($var, $type = 0) { global $sgbl; if ($type > $sgbl->dbg) { return; } if (is_object($var) && method_exists($var, "clearChildrenAndParent")) { $newvar = myclone($var); lxclass::clearChildrenAndParent($newvar); $newvar->driverApp = 'unset for printing'; $newvar->__parent_o = 'unset for printing'; $class = $newvar->get__table(); if (csb($class, "sp_")) { $bclass = strfrom($class, "sp_") . "_b"; $newvar->{$bclass}->__parent_o = 'unset for printing'; } } else { $newvar = $var; } if ($sgbl->isBlackBackground()) { print "<font color=gray>"; } print_r($newvar); if ($sgbl->isBlackBackground()) { print "</font> "; } }
<?php include_once "htmllib/lib/include.php"; initProgram('admin'); $gbl->loaddriverappInfo('localhost'); $opt = parse_opt($argv); if (!$opt['class']) { exit; } $class = $opt['class']; $login->loadAllObjects($class); $list = $login->getList($class); foreach ($list as $l) { $l->createSyncClass(); } $pserverlist = $login->getList('pserver'); foreach ($pserverlist as $ps) { $ps->createSyncClass(); } $lg = clone $login; lxclass::clearChildrenAndParent($lg); $outlist[$class] = $list; $outlist['pserver'] = $pserverlist; $outlist['login'] = $lg; $outlist['gbl'] = $gbl; print base64_encode(serialize($outlist)); exit;
function doSimpleBackup($bfile, $param) { global $gbl, $sgbl, $login, $ghtml; $progname = $sgbl->__var_program_name; $cprogname = ucfirst($progname); // Load the entire Backup $this->loadBackupAll(); $fullrem = new Remote(); $ver = $sgbl->__ver_major_minor; $fullrem->version = $ver; $fullrem->ddate = time(); $cleanobject = clone $this; lxclass::clearChildrenAndParent($cleanobject); $singlerem = clone $fullrem; $singlerem->_clean_object = $cleanobject; $fullrem->bobject = $this; /// Do a was on the login would take a huge amount of time. Let us not do it. $this->__var_bc_metafile = serialize($fullrem); $this->__var_bc_metadata = serialize($singlerem); $this->__var_bc_filename = $bfile; foreach ($param as $k => $v) { if (csb($k, "backupextra_")) { $kk = "__var_bc_{$k}"; $this->{$kk} = $v; } } $this->simpleBackMeupThere(); }
function doupdateBackup($param) { global $gbl, $sgbl, $login, $ghtml; $progname = $sgbl->__var_program_name; $cprogname = ucfirst($progname); $parent = $this->getParentO(); $bpath = "__path_program_home/{$parent->get__table()}/{$parent->nname}/__backup"; $bfile = $bpath . "/" . $this->createBackupFileName($param['backup_to_file_f']) . "." . $parent->getZiptype(); if ($parent->isSimpleBackup()) { $parent->doSimpleBackup($bfile, $param); } else { $parent->doCoreBackup($bfile, $param); } $object = clone $this; lxclass::clearChildrenAndParent($object); if ($object->isOn('upload_to_ftp')) { try { if ($parent->isClient() || $parent->isLocalhost()) { self::upload_to_server($bfile, basename($bfile), $object); } else { rl_exec_get(null, $parent->syncserver, array('lxbackup', 'upload_to_server'), array($bfile, basename($bfile), $object)); } } catch (Exception $e) { lx_mail(null, $this->getParentO()->contactemail, "{$cprogname} Backup Upload Failed on " . date('Y-M-d') . " at " . date('H') . " Hours", "{$cprogname} Backup upload Failed due to {$e->getMessage()}\n"); } } if ($parent->isClient() || $parent->isLocalhost()) { self::clear_extra_backups($parent->get__table(), $parent->nname, $object); } else { rl_exec_get(null, $parent->syncserver, array('lxbackup', 'clear_extra_backups'), array($parent->get__table(), $parent->nname, $object)); } lx_mail(null, $this->getParentO()->contactemail, "{$cprogname} Backup on " . @date('Y-M-d') . " at " . @date('H') . " Hours", "{$cprogname} Backup Succeeded for {$this->getParentO()->nname}\n"); }