<?php PicCLI::initGetopt(array("add", "remove", "user", "group")); $io = PicCLI::getIO(); if (PicCLI::getGetopt("--add")) { $mode = "add"; } elseif (PicCLI::getGetopt("--remove")) { $mode = "remove"; } else { $io->errln("No mode specified."); exit(PicCLI::EXIT_USAGE); } if (!($pathID = PicCLI::getGetopt(1))) { $io->errln("No path ID specified."); exit(PicCLI::EXIT_USAGE); } if (!is_numeric($pathID)) { $io->errln("Invalid path ID supplied."); exit(PicCLI::EXIT_INPUT); } $pathID = (int) $pathID; loadPicFile("classes/db.php"); PicDB::initDB(); if (!loadPicFile("helpers/id/path.php", array("id" => $pathID))) { $io->errln(sprintf("Path %d does not exist.", $pathID)); exit(PicCLI::EXIT_INPUT); } if (PicCLI::getGetopt("--user")) { if (!($username = PicCLI::getGetopt(2))) { $username = PicCLI::prompt("Username"); if (!$username) {
<?php PicCLI::initGetopt(array()); $io = PicCLI::getIO(); if (!($name = PicCLI::getGetopt(1))) { $name = PicCLI::prompt("Name"); if (!$name) { $io->errln("No name specified."); exit(PicCLI::EXIT_INPUT); } } loadPicFile("classes/db.php"); PicDB::initDB(); $insert = PicDB::newInsert(); $insert->into("groups")->cols(array("name" => $name)); PicDB::crud($insert); PicCLI::success();
<?php define("BASE_PATH", dirname(__DIR__) . "/"); if (file_exists(BASE_PATH . "conf/app.json")) { fwrite(STDERR, "Pictorials is already installed.\n"); exit(1); } require BASE_PATH . "main/bootstrap-base.php"; loadPicFile("classes/cli.php"); PicCLI::initCLI(); PicCLI::initGetopt(array("dbtype:", "appname:", "cachedir:", "asset-baseurl:", "script-baseurl:", "webroot:")); $io = PicCLI::getIO(); if (!is_writeable(BASE_PATH . "/conf")) { $io->errln("Current user must have permission to write to conf directory."); exit(PicCLI::EXIT_FAIL); } $dbType = PicCLI::getGetopt("--dbtype"); if (!file_exists(BASE_PATH . "helpers/install/db.{$dbType}.php")) { $io->errln("You must specify a supported database type."); exit(PicCLI::EXIT_USAGE); } $appConf = loadPicFile("helpers/install/appconf.php"); loadPicFile("helpers/install/db.{$dbType}.php"); $dbConf = array("type" => $dbType, "config" => PicDBInstall::configure()); $webroot = loadPicFile("helpers/install/webroot.php"); $webEntryTemplate = '<?php define("BASE_PATH", "%s"); require(BASE_PATH . "entry/web.php");'; file_put_contents(BASE_PATH . "/conf/app.json", json_encode($appConf, JSON_PRETTY_PRINT)); file_put_contents(BASE_PATH . "/conf/db.json", json_encode($dbConf, JSON_PRETTY_PRINT)); if ($webroot) {
<?php PicCLI::initGetopt(array("sort::")); $io = PicCLI::getIO(); loadPicFile("classes/db.php"); PicDB::initDB(); $select = PicDB::newSelect(); $select->cols(array("id", "name", "path"))->from("paths"); $sortOption = PicCLI::getGetopt("--sort"); if ($sortOption === true || $sortOption === "sortorder") { $select->orderBy(array("sort_order ASC")); } elseif ($sortOption === "name") { $select->orderBy(array("name ASC")); } $select->orderBy(array("id ASC")); $rows = PicDB::fetch($select, "assoc"); if (empty($rows)) { $io->outln("No paths have been created."); } else { $highestId = max(array_keys($rows)); $idWidth = strlen((string) $highestId); foreach ($rows as $id => $data) { $io->out(sprintf("<<blue>>%s<<reset>> ", str_pad($id, $idWidth))); $io->outln(sprintf('%1$s - %2$s', $data["name"], $data["path"])); } }
<?php PicCLI::initGetopt(array("add", "remove")); $io = PicCLI::getIO(); if (PicCLI::getGetopt("--add")) { $mode = "add"; } elseif (PicCLI::getGetopt("--remove")) { $mode = "remove"; } else { $io->errln("No mode specified."); exit(PicCLI::EXIT_USAGE); } if (!($pathID = PicCLI::getGetopt(1))) { $io->errln("No path ID specified."); exit(PicCLI::EXIT_USAGE); } if (!is_numeric($pathID)) { $io->errln("Invalid path ID specified."); exit(PicCLI::EXIT_INPUT); } $pathID = (int) $pathID; loadPicFile("classes/db.php"); PicDB::initDB(); if (!loadPicFile("helpers/id/path.php", array("id" => $pathID))) { $io->errln(sprintf("Path %d does not exist.", $pathID)); exit(PicCLI::EXIT_INPUT); } if (!($permission = PicCLI::getGetopt(2))) { $permission = PicCLI::prompt("Permission"); if (!$permission) { $io->errln("No permission specified.");
<?php PicCLI::initGetopt(array("sortorder:")); $io = PicCLI::getIO(); if (!($name = PicCLI::getGetopt(1))) { $name = PicCLI::prompt("Name"); if (!$name) { $io->errln("No name specified."); exit(PicCLI::EXIT_INPUT); } } if (!($path = PicCLI::getGetopt(2))) { $path = PicCLI::prompt("Path"); if (!$path) { $io->errln("No path specified."); exit(PicCLI::EXIT_INPUT); } } if ($path[0] !== "/") { $io->errln("Paths must be absolute, not relative."); exit(PicCLI::EXIT_INPUT); } $path = rtrim($path, "/") . "/"; loadPicFile("classes/db.php"); PicDB::initDB(); if ($sortOrder = PicCLI::getGetopt("--sortorder")) { $sortOrder = (int) $sortOrder; if ($sortOrder <= 0) { $io->errln("Sort orders must be above zero."); exit(PicCLI::EXIT_INPUT); }