本文整理汇总了PHP中YAML::load方法的典型用法代码示例。如果您正苦于以下问题:PHP YAML::load方法的具体用法?PHP YAML::load怎么用?PHP YAML::load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类YAML
的用法示例。
在下文中一共展示了YAML::load方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Function: __construct
* See Also:
* <Model::grab>
*/
public function __construct($version_id, $options = array())
{
if (!isset($version_id) and empty($options)) {
return;
}
$options["left_join"][] = array("table" => "notes", "where" => "version_id = versions.id");
$options["select"][] = "versions.*";
$options["select"][] = "COUNT(notes.id) AS note_count";
$options["select"][] = "MAX(notes.created_at) AS last_note";
$options["group"][] = "id";
parent::grab($this, $version_id, $options);
if ($this->no_results) {
return false;
}
$this->compatible = array_map(array("Version", "numberfy"), (array) YAML::load($this->compatible));
$this->tags = !empty($this->tags) ? YAML::load($this->tags) : array();
$this->linked_tags = self::link_tags($this->tags);
$this->filtered = !isset($options["filter"]) or $options["filter"];
$trigger = Trigger::current();
if ($this->filtered) {
$this->description_unfiltered = $this->description;
if (!$this->extension->user->group->can("code_in_extensions")) {
$this->description = fix($this->description);
}
$trigger->filter($this->description, array("markup_text", "markup_version_text"), $this);
}
$trigger->filter($this, "version");
}
示例2: __construct
/**
* Function: __construct
* Loads the Twig parser into <Theme>, and sets up the theme l10n domain.
*/
private function __construct()
{
$config = Config::current();
# Load the theme translator
if (file_exists(THEME_DIR . "/locale/" . $config->locale . ".mo")) {
load_translator("theme", THEME_DIR . "/locale/" . $config->locale . ".mo");
}
# Load the theme's info into the Theme class.
foreach (YAML::load(THEME_DIR . "/info.yaml") as $key => $val) {
$this->{$key} = $val;
}
$this->url = THEME_URL;
}
示例3: remove
/**
* Function: remove
* Removes a configuration setting.
*
* Parameters:
* $setting - The name of the setting to remove.
*/
public function remove($setting)
{
if (isset($this->file) and file_exists($this->file)) {
$contents = str_replace("<?php header(\"Status: 403\"); exit(\"Access denied.\"); ?>\n", "", file_get_contents($this->file));
$this->yaml = YAML::load($contents);
}
# Add the setting
unset($this->yaml[$setting]);
# Add the PHP protection!
$contents = "<?php header(\"Status: 403\"); exit(\"Access denied.\"); ?>\n";
# Generate the new YAML settings
$contents .= YAML::dump($this->yaml);
file_put_contents(INCLUDES_DIR . "/config.yaml.php", $contents);
}
示例4: load
public static function load($config_dir)
{
$config_file = $config_dir . '/elib.yml';
if (!file_exists($config_file)) {
die('Config error: ' . $config_file . ' does not exist');
}
$config = YAML::load($config_file);
foreach ($config as $index => $item) {
if (!is_array($item)) {
$index = 'ELIB_' . $index;
define(strtoupper($index), $item);
}
}
}
示例5: __construct
/**
* Function: __construct
* See Also:
* <Model::grab>
*/
public function __construct($revision_id, $options = array())
{
if (!isset($revision_id) and empty($options)) {
return;
}
parent::grab($this, $revision_id, $options);
$options["order"] = "created_at ASC, id ASC";
if ($this->no_results) {
return false;
}
$this->changes = YAML::load($this->changes);
$this->filtered = !isset($options["filter"]) or $options["filter"];
$trigger = Trigger::current();
if ($this->filtered) {
if (!$this->user->group->can("code_in_revisions")) {
$this->body = fix($this->body);
}
$trigger->filter($this->body, array("markup_text", "markup_revision_text"), $this);
}
$trigger->filter($this, "revision");
}
示例6: subnav_context
/**
* Function: subnav_context
* Generates the context variables for the subnav.
*/
public function subnav_context($action)
{
$trigger = Trigger::current();
$visitor = Visitor::current();
$this->context["subnav"] = array();
$subnav =& $this->context["subnav"];
$subnav["write"] = array();
$pages = array("manage" => array());
foreach (Config::current()->enabled_feathers as $index => $feather) {
$info = YAML::load(FEATHERS_DIR . "/" . $feather . "/info.yaml");
$subnav["write"]["write_post&feather=" . $feather] = array("title" => __($info["name"], $feather), "show" => $visitor->group->can("add_draft", "add_post"), "attributes" => ' id="list_feathers[' . $feather . ']"', "selected" => isset($_GET['feather']) and $_GET['feather'] == $feather or !isset($_GET['feather']) and $action == "write_post" and !$index);
}
# Write navs
$subnav["write"]["write_page"] = array("title" => __("Page"), "show" => $visitor->group->can("add_page"));
$trigger->filter($subnav["write"], array("admin_write_nav", "write_nav"));
$pages["write"] = array_merge(array("write_post"), array_keys($subnav["write"]));
# Manage navs
$subnav["manage"] = array("manage_posts" => array("title" => __("Posts"), "show" => Post::any_editable() or Post::any_deletable(), "selected" => array("edit_post", "delete_post")), "manage_pages" => array("title" => __("Pages"), "show" => $visitor->group->can("edit_page", "delete_page"), "selected" => array("edit_page", "delete_page")), "manage_users" => array("title" => __("Users"), "show" => $visitor->group->can("add_user", "edit_user", "delete_user"), "selected" => array("edit_user", "delete_user", "new_user")), "manage_groups" => array("title" => __("Groups"), "show" => $visitor->group->can("add_group", "edit_group", "delete_group"), "selected" => array("edit_group", "delete_group", "new_group")));
$trigger->filter($subnav["manage"], "manage_nav");
$subnav["manage"]["import"] = array("title" => __("Import"), "show" => $visitor->group->can("add_post"));
$subnav["manage"]["export"] = array("title" => __("Export"), "show" => $visitor->group->can("add_post"));
$pages["manage"][] = "new_user";
$pages["manage"][] = "new_group";
foreach (array_keys($subnav["manage"]) as $manage) {
$pages["manage"] = array_merge($pages["manage"], array($manage, preg_replace("/manage_(.+)/e", "'edit_'.depluralize('\\1')", $manage), preg_replace("/manage_(.+)/e", "'delete_'.depluralize('\\1')", $manage)));
}
# Settings navs
$subnav["settings"] = array("general_settings" => array("title" => __("General"), "show" => $visitor->group->can("change_settings")), "content_settings" => array("title" => __("Content"), "show" => $visitor->group->can("change_settings")), "user_settings" => array("title" => __("Users"), "show" => $visitor->group->can("change_settings")), "route_settings" => array("title" => __("Routes"), "show" => $visitor->group->can("change_settings")));
$trigger->filter($subnav["settings"], "settings_nav");
$pages["settings"] = array_keys($subnav["settings"]);
# Extend navs
$subnav["extend"] = array("modules" => array("title" => __("Modules"), "show" => $visitor->group->can("toggle_extensions")), "feathers" => array("title" => __("Feathers"), "show" => $visitor->group->can("toggle_extensions")), "themes" => array("title" => __("Themes"), "show" => $visitor->group->can("toggle_extensions")));
$trigger->filter($subnav["extend"], "extend_nav");
$pages["extend"] = array_keys($subnav["extend"]);
foreach (array_keys($subnav) as $main_nav) {
foreach ($trigger->filter($pages[$main_nav], $main_nav . "_nav_pages") as $extend) {
$subnav[$extend] =& $subnav[$main_nav];
}
}
foreach ($subnav as $main_nav => &$sub_nav) {
foreach ($sub_nav as &$nav) {
$nav["show"] = (!isset($nav["show"]) or $nav["show"]);
}
}
$trigger->filter($subnav, "admin_subnav");
}
示例7: init_extensions
/**
* Function: init_extensions
* Initialize all Modules and Feathers.
*/
function init_extensions()
{
$config = Config::current();
# Instantiate all Modules.
foreach ($config->enabled_modules as $index => $module) {
if (!file_exists(MODULES_DIR . "/" . $module . "/" . $module . ".php")) {
unset($config->enabled_modules[$index]);
continue;
}
if (file_exists(MODULES_DIR . "/" . $module . "/locale/" . $config->locale . ".mo")) {
load_translator($module, MODULES_DIR . "/" . $module . "/locale/" . $config->locale . ".mo");
}
require MODULES_DIR . "/" . $module . "/" . $module . ".php";
$camelized = camelize($module);
if (!class_exists($camelized)) {
continue;
}
Modules::$instances[$module] = new $camelized();
Modules::$instances[$module]->safename = $module;
foreach (YAML::load(MODULES_DIR . "/" . $module . "/info.yaml") as $key => $val) {
Modules::$instances[$module]->{$key} = is_string($val) ? __($val, $module) : $val;
}
}
# Instantiate all Feathers.
foreach ($config->enabled_feathers as $index => $feather) {
if (!file_exists(FEATHERS_DIR . "/" . $feather . "/" . $feather . ".php")) {
unset($config->enabled_feathers[$index]);
continue;
}
if (file_exists(FEATHERS_DIR . "/" . $feather . "/locale/" . $config->locale . ".mo")) {
load_translator($feather, FEATHERS_DIR . "/" . $feather . "/locale/" . $config->locale . ".mo");
}
require FEATHERS_DIR . "/" . $feather . "/" . $feather . ".php";
$camelized = camelize($feather);
if (!class_exists($camelized)) {
continue;
}
Feathers::$instances[$feather] = new $camelized();
Feathers::$instances[$feather]->safename = $feather;
foreach (YAML::load(FEATHERS_DIR . "/" . $feather . "/info.yaml") as $key => $val) {
Feathers::$instances[$feather]->{$key} = is_string($val) ? __($val, $feather) : $val;
}
}
# Initialize all modules.
foreach (Feathers::$instances as $feather) {
if (method_exists($feather, "__init")) {
$feather->__init();
}
}
foreach (Modules::$instances as $module) {
if (method_exists($module, "__init")) {
$module->__init();
}
}
}
示例8: ajax_tag_post
public function ajax_tag_post()
{
if (empty($_POST['name']) or empty($_POST['post'])) {
exit("{}");
}
$sql = SQL::current();
$post = new Post($_POST['post']);
$tag = $_POST['name'];
if (!$post->editable()) {
exit("{}");
}
$tags = $sql->select("post_attributes", "value", array("name" => "tags", "post_id" => $post->id));
if ($tags and $value = $tags->fetchColumn()) {
$tags = YAML::load($value);
} else {
$tags = array();
}
$tags[$tag] = sanitize($tag);
$sql->replace("post_attributes", array("post_id", "name"), array("name" => "tags", "value" => YAML::dump($tags), "post_id" => $post->id));
exit("{ url: \"" . url("tag/" . $tags[$tag], MainController::current()) . "\", tag: \"" . $_POST['name'] . "\" }");
}
示例9: exit
if (!$visitor->group->can("change_settings")) {
if ($type == "module") {
exit("{ notifications: ['" . __("You do not have sufficient privileges to enable/disable modules.") . "'] }");
} else {
exit("{ notifications: ['" . __("You do not have sufficient privileges to enable/disable feathers.") . "'] }");
}
}
if ($type == "module" and module_enabled($_POST['extension']) or $type == "feather" and feather_enabled($_POST['extension'])) {
exit("{ notifications: [] }");
}
$enabled_array = $type == "module" ? "enabled_modules" : "enabled_feathers";
$folder = $type == "module" ? MODULES_DIR : FEATHERS_DIR;
if (file_exists($folder . "/" . $_POST["extension"] . "/locale/" . $config->locale . ".mo")) {
load_translator($_POST["extension"], $folder . "/" . $_POST["extension"] . "/locale/" . $config->locale . ".mo");
}
$info = YAML::load($folder . "/" . $_POST["extension"] . "/info.yaml");
fallback($info["uploader"], false);
fallback($info["notifications"], array());
foreach ($info["notifications"] as &$notification) {
$notification = addslashes(__($notification, $_POST["extension"]));
}
require $folder . "/" . $_POST["extension"] . "/" . $_POST["extension"] . ".php";
if ($info["uploader"]) {
if (!file_exists(MAIN_DIR . $config->uploads_path)) {
$info["notifications"][] = _f("Please create the <code>%s</code> directory at your Chyrp install's root and CHMOD it to 777.", array($config->uploads_path));
} elseif (!is_writable(MAIN_DIR . $config->uploads_path)) {
$info["notifications"][] = _f("Please CHMOD <code>%s</code> to 777.", array($config->uploads_path));
}
}
$class_name = camelize($_POST["extension"]);
if ($type == "module" and !is_subclass_of($class_name, "Modules")) {
示例10: getCommandsInDirectory
private function getCommandsInDirectory($path, $relativePath)
{
$commands = array();
if (false !== ($d = opendir($path))) {
while (false !== ($f = readdir($d))) {
$new_path = $path . '/' . $f;
$new_relative_path = $relativePath . '/' . $f;
if ('.amCommand' == substr($f, -10) || is_dir($new_path) && 0 != strncmp('.', $f, 1)) {
if (is_dir($new_path) && file_exists($new_path . '/group.amGroup')) {
$yaml = YAML::load($new_path . '/group.amGroup');
$yaml['filename'] = $f;
$yaml['is_collection'] = '1';
$yaml['path'] = $relativePath;
$commands[] = $yaml;
$commands = array_merge($commands, $this->getCommandsInDirectory($new_path, $new_relative_path));
continue;
}
$def_file = $new_path . 'Def';
if (!file_exists($def_file)) {
throw new Exception('Missing command definition file `' . $def_file . '`.');
}
$yaml = YAML::load($new_path);
$yaml['code'] = file_get_contents($def_file);
$yaml['filename'] = substr($f, 0, -10);
$yaml['path'] = $relativePath;
$commands[] = $yaml;
}
}
closedir($d);
}
return $commands;
}
示例11: NginxScope
}
class NginxConfig extends BracketConfig
{
}
class NginxScope extends BracketScope
{
}
$confScope = new NginxScope();
$nginx['sites']['listen'] = new NginxConfig('listen %(port)s %(options)s', 'server', 1);
$nginx['sites']['domain'] = new NginxConfig('server_name %(domain)s', 'server', 1);
$nginx['pid'] = new NginxConfig('pid %(pid)s');
$config = YAML::load('defaults.yml');
setAll(&$config['nginx'], &$nginx);
addAllStems(&$nginx, &$confScope);
if (isset($argv[1])) {
$config = YAML::load($argv[1]);
foreach ($config['nginx']['sites'] as $key => $site) {
$siteScope[$key] = new NginxScope();
setAll($site, $nginx['sites']);
addAllStems(&$nginx['sites'], $siteScope[$key]);
}
}
foreach ($siteScope as $scope) {
$confScope->addStem(array('scope' => 'http', 'output' => $scope->returnScopes(), 'level' => 1));
}
echo $confScope->returnScopes();
function setAll($data, array $appconfs)
{
foreach ($appconfs as $setting) {
//this is dirty, fix me (so many copies of the yaml array!)
if (is_object($setting)) {
示例12: group_permissions_to_db
/**
* Function: group_permissions_to_db
* Migrates the group permissions from a YAML column to the "permissions" table.
*
* Versions: 2.0rc1 => 2.0rc2
*/
function group_permissions_to_db()
{
$sql = SQL::current();
if (!$sql->select("groups", "permissions")) {
return;
}
echo __("Backing up groups...") . test($groups = $sql->select("groups"));
if (!$groups) {
return;
}
$backup = $groups->fetchAll();
$names = array();
foreach ($backup as $group) {
$names[$group["id"]] = $group["name"];
$permissions[$group["id"]] = empty($group["permissions"]) ? array() : YAML::load($group["permissions"]);
}
echo __("Dropping `groups` table...") . test($sql->query("DROP TABLE __groups"));
echo __("Creating `groups` table...") . test($sql->query("CREATE TABLE __groups (\n id INTEGER PRIMARY KEY AUTO_INCREMENT,\n name VARCHAR(100) DEFAULT '',\n UNIQUE (name)\n ) DEFAULT CHARSET=utf8"));
foreach ($names as $id => $name) {
echo _f("Restoring group `%s`...", array($name)) . test($sql->insert("groups", array("id" => $id, "name" => $name)));
}
foreach ($permissions as $id => $permissions) {
foreach ($permissions as $permission) {
echo _f("Restoring permission `%s` on group `%s`...", array($permission, $names[$id])) . test($sql->insert("permissions", array("id" => $permission, "name" => $sql->select("permissions", "name", array("id" => $permission))->fetchColumn(), "group_id" => $id)));
}
}
}
示例13: on_list_bundles
public function on_list_bundles($pars)
{
$bundle_dir_path = $this->configuration['support-path'] . '/bundles/';
if (!is_dir($bundle_dir_path)) {
throw new Exception('There is no bundles directory available.');
}
$bundles = array();
if (false !== ($d = opendir($bundle_dir_path))) {
while (false !== ($f = readdir($d))) {
if (0 == strncmp('.', $f, 1) || !is_dir($bundle_dir_path . $f)) {
continue;
}
$yaml = YAML::load($bundle_dir_path . $f . '/info.amBundle');
$yaml['id'] = $f;
// getting list of bundle templates
$templates_path = $bundle_dir_path . $f . '/templates/';
$templates = array();
if (is_dir($templates_path)) {
if (false !== ($d_templates = opendir($templates_path))) {
while (false !== ($ff = readdir($d_templates))) {
if (0 == strncmp('.', $ff, 1)) {
continue;
}
$content = explode("\n", @file_get_contents($templates_path . $ff));
$templates[] = $content[0];
}
closedir($d_templates);
}
}
$yaml['templates'] = $templates;
$bundles[] = $yaml;
}
closedir($d);
}
self::setResult($bundles);
}
示例14: ParseFromYAMLs
public function ParseFromYAMLs(array $files)
{
$this->SetAutomatedValues();
//Stems::LoadDefinitions('nginx');
$last = false;
$total = count($files) - 1;
$sites_defaults = array();
foreach ($files as $i => $file) {
if ($total == $i) {
$last = true;
}
LogCLI::Message('Loading file: ' . LogCLI::BLUE . $file . LogCLI::RESET, 1);
if (file_exists($file)) {
LogCLI::Result(LogCLI::OK);
LogCLI::Message('Parsing file: ' . LogCLI::BLUE . $file . LogCLI::RESET, 1);
try {
$config = YAML::load($file);
LogCLI::Result(LogCLI::OK);
} catch (Exception $e) {
LogCLI::Result(LogCLI::FAIL);
LogCLI::Fail($e->getMessage());
}
if (isset($config['nginx'])) {
// adding to main DB
$this->settingsDB = System::MergeArrays($this->settingsDB, $config);
foreach ($this->usableScopes as $arrayPath) {
//LogCLI::MessageResult($arrayPath);
//var_dump(self::getArrayElementByPath($config['nginx'], $arrayPath, 1));
/*
foreach(self::accessArrayElementByPath($config['nginx'], $arrayPath) as $scope => $scopeConfig)
{
echo("skope ".$scope.":\n");
}
*/
//LogCLI::MessageResult('Path: '.LogCLI::BLUE.$arrayPath.LogCLI::RESET, 6, LogCLI::INFO);
foreach (self::getArrayElementByPath($config['nginx'], $arrayPath, true) as $scope => $scopeConfig) {
if ($scopeConfig !== false) {
//echo("skope ".$scope.":\n");
//var_dump($scopeConfig);
if (is_array($scopeConfig) && $scope != 'sites') {
//LogCLI::MessageResult("Number of dimentions in scope [$scope]: ".self::array_dimen_count($scopeConfig), 3);
//self::array_dimen_count($scopeConfig);
//var_dump($scopeConfig);
//LogCLI::MessageResult($scope);
NginxConfig::setAll(self::accessArrayElementByPath($config['nginx'], $arrayPath), self::accessArrayElementByPath($this->nginx, $arrayPath));
if ($last) {
//LogCLI::MessageResult($scope);
LogCLI::Message("Generating scope: [{$arrayPath}]", 3);
NginxScope::addAllStems(self::accessArrayElementByPath($this->nginx, $arrayPath), $this->confScope);
LogCLI::Result(LogCLI::INFO);
}
}
}
}
}
// sites scopes
if (isset($config['nginx']['sites']['_defaults'])) {
$config['nginx']['sites']['_defaults'] = self::ConformizeConfigSite($config['nginx']['sites']['_defaults']);
$sites_defaults = System::MergeArrays($sites_defaults, $config['nginx']['sites']['_defaults']);
}
if (isset($config['nginx']['sites'])) {
foreach ($config['nginx']['sites'] as $key => $site) {
if ($key != '_defaults') {
$site = self::ConformizeConfigSite($site);
$siteScope[$key] = new NginxScope();
LogCLI::Message("Pushing defaults for subscope [server]: {$key}", 3);
NginxConfig::resetAll($this->nginx['sites']);
if (isset($sites_defaults)) {
NginxConfig::setAll($sites_defaults, $this->nginx['sites']);
}
LogCLI::Result(LogCLI::INFO);
LogCLI::Message("Setting in subscope [server]: {$key}", 3);
//$siteScope[$key] = new NginxScope;
NginxConfig::setAll($site, $this->nginx['sites']);
LogCLI::Result(LogCLI::INFO);
LogCLI::Message("Adding subscope [server]: {$key}", 3);
NginxScope::addAllStems($this->nginx['sites'], $siteScope[$key]);
LogCLI::Result(LogCLI::INFO);
}
}
}
if (isset($siteScope)) {
foreach ($siteScope as $scope) {
LogCLI::Message("Adding scope: [server]", 3);
$this->confScope->addStem(array('scope' => 'http', 'output' => $scope->returnScopes(), 'level' => 1));
LogCLI::Result(LogCLI::INFO);
}
}
$this->confScope->orderScopes(array('_ROOT', 'events', 'http'));
}
} else {
LogCLI::Result(LogCLI::FAIL);
LogCLI::Fatal("No such file: {$file}");
}
}
//return false;
}
示例15: strip_file_name
<?php
include $__dn . 'client/fry/chap/ac.chap.js';
include $__dn . 'client/fry/chap/ac.chap.view.js';
include $__dn . 'client/fry/chap/ac.chap.settings.js';
function strip_file_name($name)
{
return str_replace('..', '', str_replace('/', '', $name));
}
// BEGIN: embedding Theme definition script
echo "\n// Generated from theme definition file.\n";
$theme_name = strip_file_name($_REQUEST['theme'] . '.amTheme');
$themes_path = $_AMY_CONF['support-path'] . '/themes/';
if (!file_exists($themes_path . $theme_name)) {
$theme_name = 'default.amTheme';
}
$theme = YAML::load($themes_path . $theme_name);
echo '$class(\'ac.chap.theme.EAmy < ac.chap.Theme\');
ac.chap.theme.EAmy.prototype.initDefinition = function()
{
$call(this, \'ac.chap.Theme.initDefinition\');';
foreach ($theme['definition'] as $key => $value) {
if ('T' == $key[0] || 'C' == $key[0]) {
$key = 'colorScheme[ac.chap.' . $key . ']';
}
echo 'this.' . $key . ' = ' . "'{$value}';\n";
}
echo '}' . "\n\n";
// END: embedding Theme definition script
echo "\n// Generated from bundle keymap definition file.\n";
// BEGIN: embedding bundle