Esempio n. 1
0
    public function add()
    {
        //df -Ph . | tail -1 | awk '{print $2}' => to know space
        $db = $this->di['db']->sql(DB_DEFAULT);
        if ($_SERVER['REQUEST_METHOD'] == "POST") {
            Crypt::$key = CRYPT_KEY;
            $storage_area['backup_storage_area'] = $_POST['backup_storage_area'];
            if (!Ssh::testAccount($storage_area['backup_storage_area']['ip'], $storage_area['backup_storage_area']['port'], $storage_area['backup_storage_area']['ssh_login'], $storage_area['backup_storage_area']['ssh_password'])) {
                foreach ($_POST['backup_storage_area'] as $var => $val) {
                    $ret[] = "backup_storage_area:" . $var . ":" . urlencode(html_entity_decode($val));
                }
                $param = implode("/", $ret);
                $title = I18n::getTranslation(__("Failed to connect on ssh/scp/sFtp"));
                $msg = I18n::getTranslation(__("Please check your hostname and you credentials !"));
                set_flash("error", $title, $msg);
                header("location: " . LINK . "backup/storageArea/add/" . $param);
                exit;
            }
            $storage_area['backup_storage_area']['ssh_login'] = Crypt::encrypt($storage_area['backup_storage_area']['ssh_login']);
            $storage_area['backup_storage_area']['ssh_password'] = Crypt::encrypt($storage_area['backup_storage_area']['ssh_password']);
            if (!($id_storage_area = $db->sql_save($storage_area))) {
                $error = $db->sql_error();
                $_SESSION['ERROR'] = $error;
                $title = I18n::getTranslation(__("Fail to add this storage area"));
                $msg = I18n::getTranslation(__("One or more problem came when you try to add this storage, please verify your informations"));
                set_flash("error", $title, $msg);
                foreach ($_POST['backup_storage_area'] as $var => $val) {
                    $ret[] = "backup_storage_area:" . $var . ":" . urlencode(html_entity_decode($val));
                }
                $param = implode("/", $ret);
                header("location: " . LINK . "backup/storageArea/add/" . $param);
                exit;
            } else {
                $this->getStorageSpace(array($id_storage_area));
                $title = I18n::getTranslation(__("Successfull"));
                $msg = I18n::getTranslation(__("You storage area has been successfull added !"));
                set_flash("success", $title, $msg);
            }
        }
        $this->di['js']->addJavascript(array("http://www.estrildidae.net/js/jquery.1.3.2.js", "jquery.autocomplete.min.js"));
        //$this->di['js']->addJavascript(array("jquery-latest.min.js", "jquery.autocomplete.min.js"));
        $this->di['js']->code_javascript('$("#backup_storage_area-id_geolocalisation_city-auto").autocomplete("' . LINK . 'user/city/ajax>yes", {
		extraParams: {
			country: function() {return $("#backup_storage_area-id_geolocalisation_country").val();}
		},
        mustMatch: true,
        autoFill: true,
        max: 100,
        scrollHeight: 302,
        delay:0
		});
		$("#backup_storage_area-id_geolocalisation_city-auto").result(function(event, data, formatted) {
			if (data)
				$("#backup_storage_area-id_geolocalisation_city").val(data[1]);
		});
		$("#backup_storage_area-id_geolocalisation_country").change( function() 
		{
			$("#backup_storage_area-id_geolocalisation_city-auto").val("");
			$("#backup_storage_area-id_geolocalisation_city").val("");
		} );

		');
        $sql = "SELECT id, libelle from geolocalisation_country where libelle != '' order by libelle asc";
        $res = $db->sql_query($sql);
        $this->data['geolocalisation_country'] = $db->sql_to_array($res);
        $this->set('data', $this->data);
    }