本文整理汇总了PHP中utils::tree方法的典型用法代码示例。如果您正苦于以下问题:PHP utils::tree方法的具体用法?PHP utils::tree怎么用?PHP utils::tree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类utils
的用法示例。
在下文中一共展示了utils::tree方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: install
public function install()
{
$dir = $this->getPathname();
$dir = str_replace('\\', '/', $dir);
$app_lang_dir = str_replace('\\', '/', $this->target_app->lang_dir);
$lang_name = basename($dir);
foreach (utils::tree($dir) as $k => $v) {
if (!is_file($v)) {
continue;
}
$tree[$lang_name][] = str_replace($app_lang_dir . '/' . $lang_name . '/', '', $v);
}
logger::info($this->target_app->app_id . ' "' . $lang_name . '" language resource stored');
lang::set_res($this->target_app->app_id, $tree);
}
示例2: last_modified
public function last_modified($app_id)
{
$info_arr = array();
foreach ($this->detect($app_id) as $item) {
$dir = $this->getPathname();
if (is_dir($dir) && realpath($dir) == realpath($this->target_app->res_dir . '/bundle')) {
foreach (utils::tree($dir) as $k => $v) {
if (!is_file($v)) {
continue;
}
$info_arr[$v] = md5_file($v);
}
ksort($info_arr);
continue;
}
}
return md5(serialize($info_arr));
}
示例3: last_modified
function last_modified($app_id)
{
$info_arr = array();
foreach ($this->detect($app_id) as $item) {
//$modified = max($modified,filemtime($this->getPathname()));
//todo: md5
$filename = $this->getPathname();
if (is_dir($filename)) {
foreach (utils::tree($filename) as $k => $v) {
if (is_dir($v)) {
continue;
}
$info_arr[$v] = md5_file($v);
}
} else {
$info_arr[$filename] = md5_file($filename);
}
}
ksort($info_arr);
return md5(serialize($info_arr));
}
示例4: command_update
function command_update()
{
$options = $this->get_options();
if ($options['sync'] || $options['sync-only']) {
kernel::single('base_application_manage')->sync();
} else {
kernel::single('base_application_manage')->update_local();
}
if ($options['sync-only']) {
return true;
}
$args = func_get_args();
if (!$args) {
$rows = app::get('base')->model('apps')->getList('app_id', array('installed' => 1));
foreach ($rows as $r) {
if ($r['app_id'] == 'base') {
continue;
}
$args[] = $r['app_id'];
}
}
array_unshift($args, 'base');
//todo:总是需要先更新base
$args = array_unique($args);
if (!$options['ignore-download']) {
foreach ($args as $app_id) {
//kernel::single('base_application_manage')->download($app_id,$options['force-download']); //todo:临时去掉
}
}
if ($options['force-update-db']) {
base_application_dbtable::$force_update = true;
}
if ($options['custom-force-update-db']) {
if (defined('CUSTOM_CORE_DIR')) {
foreach (utils::tree(CUSTOM_CORE_DIR) as $k => $v) {
if (is_file($v)) {
touch($v);
}
}
}
}
if (!$options['download-only']) {
foreach ($args as $app_id) {
$appinfo = app::get('base')->model('apps')->getList('*', array('app_id' => $app_id));
if (version_compare($appinfo[0]['local_ver'], $appinfo[0]['dbver'], '>') || $options['force-update-app']) {
app::get($app_id)->runtask('pre_update', array('dbver' => $appinfo[0]['dbver']));
kernel::single('base_application_manage')->update_app_content($app_id);
app::get($app_id)->runtask('post_update', array('dbver' => $appinfo[0]['dbver']));
app::get('base')->model('apps')->update(array('dbver' => $appinfo[0]['local_ver']), array('app_id' => $app_id));
} else {
kernel::single('base_application_manage')->update_app_content($app_id);
}
//新更版本等信息
$app_info = app::get($app_id)->define();
if (isset($app_info['node_id']) && $app_info['node_id'] == "true" && base_shopnode::node_id($app_id)) {
if (base_shopnode::update($app_id)) {
kernel::log('Applications info send to center, ok.');
}
}
}
kernel::log('Applications database and services is up-to-date, ok.');
}
}