public function __construct() { parent::__construct(); Model\Config::set(); $this->authorize(); $this->val['navi'] = $this->navi(); }
public function __construct() { parent::__construct(); Model\Config::set(); $this->authorize(); $this->val['navi'] = $this->navi(); isset($this->query_key) || ($this->query_key = 'id'); }
public function config_post_saveattribute($f3) { $attribute = str_replace("-", ".", $f3->get("POST.attribute")); $value = $f3->get("POST.value"); $response = array("error" => null); if (!$attribute) { $response["error"] = "No attribute specified."; $this->_printJson($response); return; } $config = new \Model\Config(); $config->load(array("attribute = ?", $attribute)); $config->attribute = $attribute; switch ($attribute) { case "site-name": if (trim($value)) { $config->value = $value; $config->save(); } else { $response["error"] = "Site name cannot be empty."; } break; case "site-timezone": if (in_array($value, timezone_identifiers_list())) { $config->value = $value; $config->save(); } else { $response["error"] = "Timezone is invalid."; } break; default: $config->value = $value; $config->save(); } if (!$response["error"]) { $repsonse["attribute"] = $attribute; $repsonse["value"] = $value; } $this->_printJson($response); }
/** * Asynchronously post anonymous statistics to meta.phproject.org */ public function postStats() { $f3 = \Base::instance(); $db = $f3->get("db.instance"); // Add unique ID $data = array("key" => $f3->get("statsplugin.key"), "revision" => $f3->get("revision")); // Add basic stats $result = $db->exec("SELECT COUNT(id) AS `count` FROM user WHERE role != 'group'"); $data["users"] = $result[0]["count"]; $result = $db->exec("SELECT COUNT(id) AS `count` FROM user WHERE role = 'group'"); $data["groups"] = $result[0]["count"]; $result = $db->exec("SELECT COUNT(id) AS `count` FROM issue"); $data["issues"] = $result[0]["count"]; $result = $db->exec("SELECT COUNT(id) AS `count` FROM issue_update"); $data["updates"] = $result[0]["count"]; $result = $db->exec("SELECT COUNT(id) AS `count` FROM issue_comment"); $data["comments"] = $result[0]["count"]; $result = $db->exec("SELECT value as version FROM config WHERE attribute = 'version'"); $data["version"] = $result[0]["version"]; if ($this->asyncPost("http://meta.phproject.org/stats/post.php", $data)) { $config = new \Model\Config(); $config->setVal("statsplugin.last_sent", time()); } }
/** * Perform update * * @return void */ protected function update() { echo 'System Update' . PHP_EOL; echo '-------------' . PHP_EOL; echo PHP_EOL; if (!isset($this->args[2])) { $this->argNotFound('update'); } else { if (!in_array($this->args[2], $this->arguments['update'])) { $this->argInvalid('update', $this->args[2]); } else { $type = $this->args[2]; $name = isset($this->args[3]) ? $this->args[3] : 'phire'; $version = null; if ($type == 'system') { $version = \Phire\Project::VERSION; } else { $ext = Table\Extensions::findBy(array('name' => $name)); if (isset($ext->id)) { $assets = unserialize($ext->assets); $version = $assets['info']['Version']; } } $format = null; $formats = \Pop\Archive\Archive::formats(); if (isset($formats['zip'])) { $format = 'zip'; } else { if (isset($formats['tar']) && isset($formats['gz'])) { $format = 'tar.gz'; } } $writable = false; if ($type == 'system' && is_writable(__DIR__ . '/../../../../')) { $writable = true; } else { if ($type == 'module' && is_writable(__DIR__ . '/../../../../../' . CONTENT_PATH . DIRECTORY_SEPARATOR . 'extensions' . DIRECTORY_SEPARATOR . 'modules')) { $writable = true; } } if ($writable) { $config = new Model\Config(); $config->getUpdate(array('type' => $type, 'name' => $name, 'version' => $version, 'format' => $format), true); if (null !== $config->error) { echo ' ' . strip_tags($config->error) . PHP_EOL . PHP_EOL; } else { echo ' ' . strip_tags($config->msg) . PHP_EOL . PHP_EOL; } } else { echo ' The ' . $type . ' folder must be writable to perform the update.' . PHP_EOL . PHP_EOL; } } } }