Esempio n. 1
0
 /**
  * delete config entry from database
  * @param string name of entry
  * @throws InvalidArgumentException
  * @return integer number of deleted rows
  */
 function delete($field)
 {
     if (!$field) {
         throw new InvalidArgumentException("config fieldname is mandatory");
     }
     $deleted = ConfigEntry::deleteBySql("field=" . DbManager::get()->quote($field));
     if ($deleted) {
         $this->fetchData();
     }
     return $deleted;
 }
Esempio n. 2
0
 function ask()
 {
     $this->asked = TRUE;
     do {
         fputs(STDOUT, $this->question);
         if ($this->is_optional()) {
             fputs(STDOUT, ' (optional');
             if (self::is_answer($this->default_answer)) {
                 fputs(STDOUT, ', default: ' . $this->default_answer);
             }
             fputs(STDOUT, '): ');
         } else {
             if (self::is_answer($this->answer)) {
                 if (self::is_answer($this->default_answer) && $this->default_answer !== $this->answer) {
                     fputs(STDOUT, ' (default: ' . $this->default_answer . ')');
                 }
                 fputs(STDOUT, ' [' . $this->answer . ']: ');
             } else {
                 if (self::is_answer($this->default_answer)) {
                     fputs(STDOUT, ' [' . $this->default_answer . ']: ');
                 } else {
                     fputs(STDOUT, ': ');
                 }
             }
         }
         $line = trim(fgets(STDIN, 64000));
         if (!is_string($line) || empty($line)) {
             if ($this->is_optional()) {
                 if (!is_string($this->default_answer)) {
                     return $this->answer;
                 }
                 $ask_continue = new ConfigEntry("continue", "YesNo", "Would you like to use the default value '" . $this->default_answer . "'?", NULL, "no");
                 if ($ask_continue->ask() == "yes") {
                     $line = $this->default_answer;
                 } else {
                     return $this->answer;
                 }
             } else {
                 if (self::is_answer($this->answer)) {
                     $line = $this->answer;
                 } else {
                     if (self::is_answer($this->default_answer)) {
                         $line = $this->default_answer;
                     }
                 }
             }
         }
         if (is_string($line)) {
             switch (strtolower($this->config_type)) {
                 case 'yesno':
                     $line = strtolower($line);
                     break;
                 case 'absolutepath':
                 case 'url':
                     if (strlen($line) > 1) {
                         $line = rtrim($line, "/");
                     }
                     break;
             }
         }
         if (!is_string($this->regexp) || preg_match($this->regexp, $line) != 0) {
             $this->answer = $line;
             return $line;
         }
         fputs(STDOUT, $this->error_msg . "\n");
     } while (true);
 }
Esempio n. 3
0
            $koala_support_spm = $item;
            $koala_support_server_version = $match[1];
        }
    }
}
if (!isset($koala_support_installed_version)) {
    output("No koala_support found");
    $koala_support_installed_version = "0.0";
    $ask_text = "Install koala_support version ";
} else {
    output("Found koala_support {$koala_support_installed_version}");
    $ask_text = "Update koala_support to version ";
}
output(" (newest available version is {$koala_support_server_version}).\n");
if (strcmp($koala_support_installed_version, $koala_support_server_version) < 0) {
    $ask_update = new ConfigEntry("update.koala_support", "YesNo", $ask_text . $koala_support_server_version . " ?", NULL, "yes");
    if ($ask_update->ask() === "yes") {
        $package_container = steam_factory::get_object_by_name($STEAM->get_id(), "/packages");
        if (!is_object($package_container)) {
            output("Could not find /packages on your open-sTeam server.\n");
            exit(1);
        }
        $package = steam_factory::create_document($STEAM->get_id(), $koala_support_spm->get_name(), $koala_support_spm->get_content(), $koala_support_spm->get_attribute(DOC_MIME_TYPE), $package_container);
        if (!is_object($package)) {
            output("Could not upload " . $koala_support_spm->get_name() . " to your open-sTeam server.\n");
            exit(1);
        }
        try {
            if (!$STEAM->install_package($package)) {
                throw new Exception("Installation failed.");
            }