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); }