<?php
/**
* Spyc -- A Simple PHP YAML Class
* @version 0.5
* @author Vlad Andersen <vlad.andersen@gmail.com>
* @author Chris Wanstrath <chris@ozmm.org>
* @link http://code.google.com/p/spyc/
* @copyright Copyright 2005-2006 Chris Wanstrath, 2006-2011 Vlad Andersen
* @license http://www.opensource.org/licenses/mit-license.php MIT License
* @package Spyc
*/
if (!function_exists('spyc_load')) {
/**
* Parses YAML to array.
* @param string $string YAML string.
* @return array
*/
function spyc_load ($string) {
return Spyc::YAMLLoadString($string);
}
}
if (!function_exists('spyc_load_file')) {
/**
* Parses YAML to array.
* @param string $file Path to YAML file.
* @return array
*/
function spyc_load_file ($file) {
return Spyc::YAMLLoad($file);
}
}
/**
* The Simple PHP YAML Class.
*
* This class can be used to read a YAML file and convert its contents
* into a PHP array. It currently supports a very limited subsection of
* the YAML spec.
*
* Usage:
* <code>
* $Spyc = new Spyc;
* $array = $Spyc->load($file);
* </code>
* or:
* <code>
* $array = Spyc::YAMLLoad($file);
* </code>
* or:
* <code>
* $array = spyc_load_file($file);
* </code>
* @package Spyc
*/
class Spyc {
// SETTINGS
const REMPTY = "\0\0\0\0\0";
/**
* Setting this to true will force YAMLDump to enclose any string value in
* quotes. False by default.
*
* @var bool
*/
public $setting_dump_force_quotes = false;
/**
* Setting this to true will forse YAMLLoad to use syck_load function when
* possible. False by default.
* @var bool
*/
public $setting_use_syck_is_possible = false;
/**#@+
* @access private
* @var mixed
*/
private $_dumpIndent;
private $_dumpWordWrap;
private $_containsGroupAnchor = false;
private $_containsGroupAlias = false;
private $path;
private $result;
private $LiteralPlaceHolder = '___YAML_Literal_Block___';
private $SavedGroups = array();
private $indent;
/**
* Path modifier that should be applied after adding current element.
* @var array
*/
private $delayedPath = array();
/**#@+
* @access public
* @var mixed
*/
public $_nodeId;
/**
* Load a valid YAML string to Spyc.
* @param string $input
* @return array
*/
public function load ($input) {
return $this->__loadString($input);
}
/**
* Load a valid YAML file to Spyc.
* @param string $file
* @return array
*/
public function loadFile ($file) {
return $this->__load($file);
}
/**
* Load YAML into a PHP array statically
*
* The load method, when supplied with a YAML stream (string or file),
* will do its best to convert YAML in a file into a PHP array. Pretty
* simple.
* Usage:
* <code>
* $array = Spyc::YAMLLoad('lucky.yaml');
* print_r($array);
* </code>
* @access public
* @return array
* @param string $input Path of YAML file or string containing YAML
*/
public static function YAMLLoad($input) {
$Spyc = new Spyc;
return $Spyc->__load($input);
}
/**
* Load a string of YAML into a PHP array statically
*
* The load method, when supplied with a YAML string, will do its best
* to convert YAML in a string into a PHP array. Pretty simple.
*
* Note: use this function if you don't want files from the file system
* loaded and processed as YAML. This is of interest to people concerned
* about security whose input is from a string.
*
* Usage:
* <code>
* $array = Spyc::YAMLLoadString("---\n0: hello world\n");
* print_r($array);
* </code>
* @access public
* @return array
* @param string $input String containing YAML
*/
public static function YAMLLoadString($input) {
$Spyc = new Spyc;
return $Spyc->__loadString($input);
}
/**
* Dump YAML from PHP array statically
*
* The dump method, when supplied with an array, will do its best
* to convert the array into friendly YAML. Pretty simple. Feel free to
* save the returned string as nothing.yaml and pass it around.
*
* Oh, and you can decide how big the indent is and what the wordwrap
* for folding is. Pretty cool -- just pass in 'false' for either if
* you want to use the default.
*
* Indent's default is 2 spaces, wordwrap's default is 40 characters. And
* you can turn off wordwrap by passing in 0.
*
* @access public
* @return string
* @param array $array PHP array
* @param int $indent Pass in false to use the default, which is 2
* @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
*/
public static function YAMLDump($array,$indent = false,$wordwrap = false) {
$spyc = new Spyc;
return $spyc->dump($array,$indent,$wordwrap);
}
/**
* Dump PHP array to YAML
*
* The dump method, when supplied with an array, will do its best
* to convert the array into friendly YAML. Pretty simple. Feel free to
* save the returned string as tasteful.yaml and pass it around.
*
* Oh, and you can decide how big the indent is and what the wordwrap
* for folding is. Pretty cool -- just pass in 'false' for either if
* you want to use the default.
*
* Indent's default is 2 spaces, wordwrap's default is 40 characters. And
* you can turn off wordwrap by passing in 0.
*
* @access public
* @return string
* @param array $array PHP array
* @param int $indent Pass in false to use the default, which is 2
* @param int $wordwrap Pass in 0 for no wordwrap, false for default (40)
*/
public function dump($array,$indent = false,$wordwrap = false) {
// Dumps to some very clean YAML. We'll have to add some more features
// and options soon. And better support for folding.
// New features and options.
if ($indent === false or !is_numeric($indent)) {
$this->_dumpIndent = 2;
} else {
$this->_dumpIndent = $indent;
}
if ($wordwrap === false or !is_numeric($wordwrap)) {
$this->_dumpWordWrap = 40;
} else {
$this->_dumpWordWrap = $wordwrap;
}
// New YAML document
$string = "---\n";
// Start at the base of the array and move through it.
if ($array) {
$array = (array)$array;
$previous_key = -1;
foreach ($array as $key => $value) {
if (!isset($first_key)) $first_key = $key;
$string .= $this->_yamlize($key,$value,0,$previous_key, $first_key, $array);
$previous_key = $key;
}
}
return $string;
}
/**
* Attempts to convert a key / value array item to YAML
* @access private
* @return string
* @param $key The name of the key
* @param $value The value of the item
* @param $indent The indent of the current node
*/
private function _yamlize($key,$value,$indent, $previous_key = -1, $first_key = 0, $source_array = null) {
if (is_array($value)) {
if (empty ($value))
return $this->_dumpNode($key, array(), $indent, $previous_key, $first_key, $source_array);
// It has children. What to do?
// Make it the right kind of item
$string = $this->_dumpNode($key, self::REMPTY, $indent, $previous_key, $first_key, $source_array);
// Add the indent
$indent += $this->_dumpIndent;
// Yamlize the array
$string .= $this->_yamlizeArray($value,$indent);
} elseif (!is_array($value)) {
// It doesn't have children. Yip.
$string = $this->_dumpNode($key, $value, $indent, $previous_key, $first_key, $source_array);
}
return $string;
}
/**
* Attempts to convert an array to YAML
* @access private
* @return string
* @param $array The array you want to convert
* @param $indent The indent of the current level
没有合适的资源?快使用搜索试试~ 我知道了~
一库仓储管理系统 v4.0源码
共65个文件
php:48个
png:7个
css:5个
需积分: 50 46 下载量 145 浏览量
2016-07-21
10:46:50
上传
评论 3
收藏 207KB ZIP 举报
温馨提示
一库仓储:第一便捷的开源仓储软件,基于 HTML5 的,便捷企业仓储管理软件。 适合库存品类在 3000 以内的中小企业。界面非常简单 出入库、库存、明细、设置,无需配置品类,直接使用。 要求 html5 浏览器支持,因为软件使用了不少 html5 的特性,如 datalist, required , date 等。 推荐使用 chrome20 以上版本,可以直接下载 chrome 最新版使用。 另安装本软件需要 apache + php 支持, apache 要求开启 url_rewrite 和 htaccess 一库仓储,为啥而来 最早写的不是仓储软件,而是CMS(羊驼CMS), 写完以后才发现,形形色色的 CMS 太多了. 这才想起了OSC 上面的那一句话 "不要重复发明轮子" 。 于是乎,想写点用的着的, 就有了“一库仓储”。 一库仓储 4.0 更新内容: 1.不再强制要求 url_rewrite 配置 2.支持新浪云商店、SAE 3.支持手机等移动终端 4.修复一些 Bugs
资源推荐
资源详情
资源评论
收起资源包目录
eku.zip (65个子文件)
eku
index.php 55B
app
config.php 515B
mysql_ins.sql 2KB
c
store.php 11KB
user.php 498B
sys.php 1KB
home.php 129B
account.php 2KB
__construct.php 3KB
v
template.php 1KB
404.php 8B
understruction.php 73B
user
forgot.php 969B
login_ie.php 1KB
list-table.php 676B
list.php 581B
add.php 1KB
login.php 1KB
show.php 536B
excel.php 3KB
home
index.php 1B
install.php 2KB
sae_install.php 2KB
panel.php 8KB
store
action.php 5KB
action_ie.php 4KB
calculate.php 2KB
template.php 2KB
history_excel.php 2KB
sys.php 3KB
history.php 2KB
list-table.php 1KB
list.php 870B
add.php 4KB
login.php 2KB
account.php 1KB
show.php 1KB
help.php 1KB
edit.php 3KB
stock_excel.php 1KB
stock.php 2KB
redirect.php 777B
m
bug_m.php 727B
user_m.php 3KB
eku.php 1KB
app.php 1KB
lib
utility.php 4KB
spyc.php 31KB
b2core.php 8KB
static
css
bootstrap-responsive.min.css 16KB
bootstrap.min.css 103KB
bootstrap.css 124KB
bootstrap-responsive.css 22KB
chrome.png 14KB
img
sort_asc.png 1KB
sort_desc.png 1KB
sort_both.png 1KB
glyphicons-halflings.png 12KB
glyphicons-halflings-white.png 9KB
js
jquery.min.js 90KB
images
sort_both.png 1KB
jquery.dataTables.min.js 69KB
bootstrap.min.js 28KB
bootstrap.js 60KB
default.css 7KB
共 65 条
- 1
资源评论
xiyuan2016
- 粉丝: 117
- 资源: 1262
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功