Exemple #1
0
function mebackup_main()
{
    global $gbl, $sgbl, $login, $ghtml;
    $progname = $sgbl->__var_program_name;
    $cprogname = ucfirst($progname);
    initProgram('admin');
    lxfile_mkdir("__path_program_home/selfbackup/self/__backup");
    $backup = $login->getObject('general')->selfbackupparam_b;
    $dbf = $sgbl->__var_dbf;
    $pass = trim(lfile_get_contents("__path_program_root/etc/conf/{$progname}.pass"));
    $vd = createTempDir("/tmp", "mebackup");
    $docf = "{$vd}/mebackup.dump";
    // Issue #671 - Fixed backup-restore issue
    //	exec("exec mysqldump --add-drop-table -u $progname -p$pass $dbf > $docf");
    system("exec mysqldump --add-drop-table -u {$progname} -p{$pass} {$dbf} > {$docf}");
    $string = @date('Y-M-d') . '-' . time();
    $bfile = "{$sgbl->__path_program_home}/selfbackup/self/__backup/{$progname}-scheduled-masterselfbackup-{$string}.zip";
    lxshell_zip($vd, $bfile, array("mebackup.dump"));
    lxfile_tmp_rm_rec($vd);
    if ($backup && $backup->isOn('selfbackupflag')) {
        try {
            lxbackup::upload_to_server($bfile, basename($bfile), $backup);
        } catch (Exception $e) {
            print "Sending warning to {$login->contactemail} ..\n";
            lx_mail(null, $login->contactemail, "{$cprogname} Self Database Backup Upload Failed on " . date('Y-M-d') . " at " . date('H') . " Hours", "{$cprogname} Backup upload Failed due to {$e->getMessage()}\n");
        }
    }
    $backup->rm_last_number = 20;
    $backup->nname = 'masterselfbackup';
    lxbackup::clear_extra_backups('selfbackup', 'self', $backup);
}
function do_send_email()
{
    global $global_reminder;
    //fprint($global_reminder, 0);
    foreach ($global_reminder as $k => $v) {
        $string = null;
        foreach ($v as $kk => $vv) {
            $string .= "{$vv[1]}\n";
        }
        lx_mail(null, $k, "Message from hyperVM alert system", $string);
    }
}
Exemple #3
0
        $tablename = $classname;
        $database = new Sqlite(null, $tablename);
        $data = $database->rawQuery("select contactemail from {$tablename} where nname = '{$cgi_clientname}';");
        if (empty($data)) {
            $ghtml->print_redirect("/login/?frm_emessage=nouser_email");
            //throw lxException('Contact email is not set on Kloxo, it could not be send to a empty address.');
        } elseif (!isset($data[0]['contactemail'])) {
            $ghtml->print_redirect("/login/?frm_emessage=nouser_email");
            //throw lxException('Contact email is not set on Kloxo, it could not be send to a empty address.');
        } else {
            $contact_email = $data[0]['contactemail'];
            if (empty($contact_email)) {
                //throw lxException('Contact email is not set on Kloxo, it could not be send to a empty address.');
                $ghtml->print_redirect("/login/?frm_emessage=nouser_email");
            }
        }
        if ($cgi_email == $contact_email) {
            $rndstring = randomString(8);
            $pass = crypt($rndstring);
            $database->rawQuery("update {$tablename} set password = '******' where nname = '{$cgi_clientname}'");
            $subject = "{$cprogname} Password Reset Request";
            $message = "\n\n\nYour password has been reset to the one below for your {$cprogname} login.\n" . "The Client IP address which requested the Reset: {$_SERVER['REMOTE_ADDR']}\n" . 'Username: '******'New Password: ' . $rndstring;
            $from = NULL;
            //Setting NULL gets the program@hostname.com
            lx_mail($from, $contact_email, $subject, $message);
            $ghtml->print_redirect("/login/?frm_smessage=password_sent");
        } else {
            $ghtml->print_redirect("/login/?frm_emessage=nouser_email");
        }
    }
}
Exemple #4
0
function checkClusterDiskQuota()
{
    global $gbl, $sgbl, $login, $ghtml;
    $maclist = $login->getList('pserver');
    $mess = null;
    foreach ($maclist as $mc) {
        try {
            rl_exec_get(null, $mc->nname, "remove_old_serve_file", null);
        } catch (exception $e) {
        }
        $driverapp = $gbl->getSyncClass(null, $mc->nname, 'diskusage');
        try {
            $list = rl_exec_get(null, $mc->nname, array("diskusage__{$driverapp}", "getDiskUsage"));
        } catch (exception $e) {
            $mess .= "Failed to connect to Slave {$mc->nname}: {$e->getMessage()}\n";
            continue;
        }
        foreach ($list as $l) {
            if (intval($l['pused']) >= 87) {
                $mess .= "Filesystem  {$l['mountedon']} ({$l['nname']}) on {$mc->nname} is using {$l['pused']}%\n";
            }
        }
    }
    dprint($mess);
    dprint("\n");
    if ($mess) {
        lx_mail(null, $login->contactemail, "Filesystem Warning", $mess);
    }
    lxfile_generic_chown("..", "lxlabs");
}
Exemple #5
0
 function updateMessage($param)
 {
     if (!$this->contactemail) {
         throw new lxException("no_contact_email", 'contactemail');
     }
     lx_mail(null, $this->contactemail, $param['wall_subject_f'], $param['wall_message_f']);
     throw new lxException("success_message_successfully_sent", '');
 }
Exemple #6
0
 function collectQuota()
 {
     global $gbl, $sgbl, $login, $ghtml;
     $vlist = $this->getQuotaVariableList();
     $vlist = lx_array_merge(array($vlist, $this->getDeadQuotaVariableList()));
     foreach ($vlist as $k => $v) {
         if (!cse($k, "_flag")) {
             $this->used->{$k} = 0;
         }
     }
     $res = $this->collectVariableQuota($vlist);
     /*
     	foreach($res as $k => $v) {
     		if (!cse($k, "_flag")) {
     			$this->used->$k = $res[$k];
     		}
     	}
     */
     //dprintr($this->used . "\n");
     $this->setUpdateSubaction('collectquotaupdate');
     $name = ucfirst($sgbl->__var_program_name);
     foreach ($gbl->__tmp_var_email_list as $k => $v) {
         dprint("Sending {$v} to {$k}\n");
         lx_mail(null, $k, "{$name} Message", $v);
     }
 }
Exemple #7
0
        $rawdb = new Sqlite(null, $tablename);
        $email = $rawdb->rawQuery("select contactemail from {$tablename} where nname = '{$cgi_clientname}';");
        if ($email && $cgi_email == $email[0]['contactemail']) {
            $rndstring = randomString(8);
            $pass = crypt($rndstring);
            $rawdb->rawQuery("update {$tablename} set password = '******' where nname = '{$cgi_clientname}'");
            $mailto = $email[0]['contactemail'];
            $name = "{$cprogname}";
            $email = "Admin";
            $cc = "";
            $subject = "{$cprogname} Password Reset Request";
            $message = "\n\n\nYour password has been reset to the one below for your {$cprogname} login.\n";
            $message .= "The Client IP address which requested the Reset: {$_SERVER['REMOTE_ADDR']}\n";
            $message .= 'Username: '******'New Password: '******'';
            lx_mail(null, $mailto, $subject, $message);
            $ghtml->print_redirect("/login/?frm_smessage=password_sent");
        } else {
            $ghtml->print_redirect("/login/?frm_emessage=nouser_email");
        }
    }
}
// If existing, use a own footer for the login page else use the default.
if (lxfile_exists("__path_program_htmlbase/lib/indexfooter_vendor.html")) {
    lreadfile("__path_program_htmlbase/lib/indexfooter_vendor.html");
} else {
    lreadfile("__path_program_htmlbase/lib/indexfooter.html");
}
?>
</body>
</html>
Exemple #8
0
 function doUpdateRestore($file, $param)
 {
     global $gbl, $sgbl, $login, $ghtml;
     $progname = $sgbl->__var_program_name;
     $cprogname = ucfirst($progname);
     $parent = $this->getParentO();
     if ($parent->isSimpleBackup()) {
         $parent->doSimpleRestore($file, $param);
     } else {
         $parent->doCoreRestore($file, $param);
     }
     if (!$gbl->__var_list_flag) {
         lx_mail(null, $this->getParentO()->contactemail, "{$cprogname} Restoration on " . @date('Y-M-d') . " at " . @date('H') . " Hours", "{$cprogname} Restoration Succeeded for {$parent->nname}\n");
         // ##################
         // milw0rm #9520
         // openvz fix only
         if ($this->getParentO()->ttype == "openvz") {
             $vpsid = $this->getParentO()->vpsid;
             system("/usr/sbin/vzctl exec {$vpsid} chmod -R 700 /tmp/backup*");
         }
         // ##################
     }
     if ($sgbl->isKloxo()) {
         lxshell_return("__path_php_path", "../bin/collectquota.php", "--just-db=yes");
     }
 }
Exemple #9
0
 static function send_mail_to($list, $param)
 {
     $subject = "Message from {$param['name_made_by']}: {$param['subject']}";
     $message = $param['text_description'];
     foreach ($list as $l) {
         if ($l->contactemail) {
             lx_mail(null, $l->contactemail, $subject, $message);
         }
     }
 }
Exemple #10
0
 function doUpdateRestore($file, $param)
 {
     global $gbl, $sgbl, $login, $ghtml;
     $progname = $sgbl->__var_program_name;
     $cprogname = ucfirst($progname);
     $parent = $this->getParentO();
     if ($parent->isSimpleBackup()) {
         $parent->doSimpleRestore($file, $param);
     } else {
         $parent->doCoreRestore($file, $param);
     }
     if (!$gbl->__var_list_flag) {
         lx_mail(null, $this->getParentO()->contactemail, "{$cprogname} Restoration on " . @date('Y-M-d') . " at " . @date('H') . " Hours", "{$cprogname} Restoration Succeeded for {$parent->nname}\n");
     }
     if ($sgbl->isKloxo()) {
         lxshell_return("__path_php_path", "../bin/collectquota.php", "--just-db=yes");
     }
 }