本文整理汇总了PHP中Flight::write_settings方法的典型用法代码示例。如果您正苦于以下问题:PHP Flight::write_settings方法的具体用法?PHP Flight::write_settings怎么用?PHP Flight::write_settings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Flight
的用法示例。
在下文中一共展示了Flight::write_settings方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
public function __construct($paths, $pattern)
{
$this->paths = $paths;
$this->pattern = $pattern;
$this->ignores = $this->update_ignores(\Flight::setting("ignores"));
$settings = \Flight::get("organizer.settings");
$settings["ignores"] = $this->ignores;
\Flight::write_settings($settings);
}
示例2: function
<?php
Flight::set("organizer.settings.path", "config/settings.json");
Flight::map("read_settings", function () {
if (($settings = file_get_contents(Flight::get("organizer.settings.path"))) !== false) {
return json_decode($settings, true);
} else {
return false;
}
});
Flight::map("load_settings", function () {
$settings = Flight::read_settings();
Flight::set("organizer.settings", $settings);
return $settings;
});
Flight::map("setting", function ($path) {
$settings = Flight::get("organizer.settings");
foreach (explode(".", $path) as $key) {
$settings = $settings[$key];
}
return $settings;
});
Flight::map("write_settings", function ($settings) {
$settings = json_encode($settings);
return file_put_contents(Flight::get("organizer.settings.path"), $settings);
});
Flight::map("dump_settings", function () {
return Flight::write_settings(Flight::get("organizer.settings"));
});
示例3: json_encode
echo json_encode($result);
});
Flight::route("/entries", function () {
Flight::render("_entries", array("paths" => Flight::explorer()->get_entries()));
});
Flight::route("/settings", function () {
if (($settings = Flight::get("organizer.settings")) == null) {
$settings = array("paths" => array());
}
Flight::render("settings", array("settings" => $settings), "content");
Flight::render("layout");
});
Flight::route("POST /settings", function () {
if (($settings = Flight::get("organizer.settings")) == null) {
$settings = array("paths" => array());
}
$settings["from"]["folders"] = explode("\n", trim($_POST["from"]["folders"]));
$settings["from"]["pattern"] = $_POST["from"]["pattern"];
$settings["to"]["movies"] = rtrim(trim($_POST["to"]["movies"]), "/");
$settings["to"]["tv"] = rtrim(trim($_POST["to"]["tv"]), "/");
$result = Flight::write_settings($settings);
if ($result !== false) {
$settings = Flight::load_settings();
Flight::render("_success", array("message" => "Changes saved."), "success");
} else {
Flight::render("_error", array("message" => "Changes could not be saved."), "error");
}
Flight::render("settings", array("settings" => $settings), "content");
Flight::render("layout");
});
Flight::start();
示例4: organize
public function organize($paths)
{
$result = array();
if (($ignores = \Flight::setting("ignores")) == null) {
$ignores = array();
}
/*
* Iterate over each path and attempt to move it to its new location,
* based on the settings this Organizer was initialized with.
*/
foreach ($paths as $path => $options) {
// Make sure the original file exists and is able to be (re)moved
if (!is_writable($path)) {
$result[$path] = array("status" => "error", "error" => "Original file does not exist or is not writable");
continue;
}
// Validate and act on media type
if ($options["type"] === "movie") {
$options["type"] = "movies";
}
if (isset($this->settings["to"][$options["type"]])) {
$dest_dir = $this->settings["to"][$options["type"]];
} else {
if ($options["type"] === "delete") {
if (unlink($path)) {
$result[$path] = array("status" => "success", "deleted" => TRUE);
continue;
} else {
$result[$path] = array("status" => "error", "error" => "Original file could not be deleted", "deleted" => FALSE);
continue;
}
} else {
if ($options["type"] === "ignore") {
$ignores[$path] = time();
$result[$path] = array("status" => "success", "ignored" => TRUE);
continue;
} else {
$result[$path] = array("status" => "error", "error" => "Media type is unrecognized", "type" => $options["type"]);
continue;
}
}
}
// Construct destination directory
$pathinfo = pathinfo($options["name"]);
if ($options["type"] === "movies") {
$dest_dir .= "/" . $pathinfo["filename"];
} else {
if ($options["type"] === "tv") {
if (preg_match("/^\\s*(.*)\\s*-\\s*S(\\d+)E\\d+/", $options["name"], $matches)) {
$show = trim($matches[1]);
$season = intval($matches[2]);
$dest_dir .= "/" . $show . "/Season " . $season;
} else {
$result[$path] = array("status" => "error", "error" => "TV episode name is formatted incorrectly");
continue;
}
}
}
mkdir($dest_dir, 0755, TRUE);
// May return FALSE if directory already exists
if (!is_writable($dest_dir)) {
$result[$path] = array("status" => "error", "error" => "Destination folder cannot be written to", "path" => $dest_dir);
continue;
}
// Construct destination path
$dest_path = $dest_dir . "/" . $options["name"];
if (file_exists($dest_path)) {
$result[$path] = array("status" => "error", "error" => "Destination file already exists", "path" => $dest_path);
continue;
}
// Attempt to move original file to destination
if (rename($path, $dest_path)) {
$result[$path] = array("status" => "success", "path" => $dest_path);
} else {
$result[$path] = array("status" => "error", "error" => "Could not move original file to destination", "path" => $dest_path);
}
}
// Write settings with any new ignores added
$settings = \Flight::get("organizer.settings");
$settings["ignores"] = $ignores;
\Flight::write_settings($settings);
return $result;
}