当前位置: 首页>>代码示例>>PHP>>正文


PHP Folder::ls方法代码示例

本文整理汇总了PHP中Folder::ls方法的典型用法代码示例。如果您正苦于以下问题:PHP Folder::ls方法的具体用法?PHP Folder::ls怎么用?PHP Folder::ls使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Folder的用法示例。


在下文中一共展示了Folder::ls方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: load

 /**
  * Find all defined callbacks in the app or other plugins
  *
  * @param undefined $cached
  * @return void
  * @access public
  */
 public function load()
 {
     $cached = Cache::read('_plugin_callbacks_', '_cake_models_');
     if ($cached !== false) {
         $this->settings = $cached;
         return $cached;
     }
     App::import('Folder');
     $Folder = new Folder($this->path . 'plugins');
     $folders = current($Folder->ls());
     $files = array();
     foreach ($folders as $folder) {
         if ($Folder->cd($this->path . 'models' . DS . 'callbacks')) {
             $files = $Folder->findRecursive('([a-z_]+)_' . $folder . '.php');
         }
         $files = array_flip($files);
         foreach ($folders as $_folder) {
             if ($Folder->cd($this->path . 'plugins' . DS . $_folder . DS . 'models' . DS . 'callbacks')) {
                 $files = array_merge($files, array_flip($Folder->findRecursive('([a-z_]+)_' . $folder . '.php')));
             }
         }
         foreach (array_keys($files) as $k => $file) {
             if (!preg_match_all('/models\\/callbacks\\/([a-z_]+)_' . $folder . '\\.php/i', $file, $matches)) {
                 continue;
             }
             $plugin = current($matches[1]);
             if (empty($plugin)) {
                 $plugin = 'app';
             }
             $callbackName = Inflector::camelize(sprintf('%s_%s', $plugin, $folder));
             $this->settings[$folder][$plugin] = $callbackName;
         }
     }
     Cache::write('_plugin_callbacks_', $this->settings, '_cake_models_');
 }
开发者ID:jadb,项目名称:cakephp-plugin-callbacks,代码行数:42,代码来源:callbacks.php

示例2: getPlugins

function getPlugins()
{
    $pluginFolder = new Folder(APP . 'plugins');
    $plugins = $pluginFolder->ls();
    $result = array();
    if (count($plugins) > 0) {
        foreach ($plugins[0] as $plugin) {
            $result[] = $plugin;
        }
    }
    return $result;
}
开发者ID:ap-craft,项目名称:lovelife_job,代码行数:12,代码来源:bootstrap.php

示例3: index

 function index()
 {
     $lang_folder = new Folder(APP . DS . 'locale');
     $langs = $lang_folder->ls(true, false);
     $actual = array();
     foreach ($langs[0] as $l) {
         if ($l != 'eng' && $l != 'SAMPLE' && file_exists(APP . DS . 'locale' . DS . $l . DS . 'LC_MESSAGES' . DS . 'welcome.po')) {
             $contents = file_get_contents(APP . DS . 'locale' . DS . $l . DS . 'LC_MESSAGES' . DS . 'welcome.po');
             preg_match_all('/msgstr "(.*)"/', $contents, $matches);
             $actual[] = array('locale' => $l, 'welcome' => $matches[1][0], 'action' => $matches[1][1]);
         }
     }
     if (empty($actual)) {
         $this->Session->write('Language', 'eng');
         $this->redirect('/install/license');
         exit;
     }
     $this->set('langs', $actual);
 }
开发者ID:phototech,项目名称:sailvenice,代码行数:19,代码来源:install_controller.php

示例4: beforeRender

 function beforeRender()
 {
     if (!isset($this->viewVars['data'])) {
         $this->set('data', $this->data);
     }
     if (!$this->_isRequestAction()) {
         if (!$this->menuItems) {
             $this->menuItems['Home'] = array('url' => '/');
             if ($this->plugin) {
                 $Human = Inflector::humanize($this->plugin);
                 $this->menuItems[$Human]['url'] = '/' . $this->PluginName;
                 $this->menuItems[$Human]['active'] = true;
                 $FileList = listClasses(APP . "plugins" . DS . $this->plugin . DS . "controllers");
                 foreach ($FileList as $file) {
                     $list = explode("_", $file);
                     unset($list[count($list) - 1]);
                     $controller = implode($list, "_");
                     if (up($controller) != up($this->plugin)) {
                         $array = array("url" => '/' . $this->PluginName . '/' . Inflector::camelize($controller));
                         if (Inflector::underscore($this->name) == $controller) {
                             $array['active'] = true;
                         }
                         $this->menuItems[Inflector::humanize($controller)] = $array;
                     }
                 }
             } else {
                 $this->menuItems['Home']['active'] = true;
                 uses('Folder');
                 $Folder = new Folder(APP . DS . "plugins");
                 list($Plugins) = $Folder->ls();
                 foreach ($Plugins as $Plugin) {
                     $Camel = Inflector::Camelize($Plugin);
                     $Human = Inflector::humanize($Plugin);
                     $this->menuItems[$Human] = array('url' => '/' . $Camel);
                 }
             }
         }
         $this->set('Menu', $this->menuItems);
         $this->set('javascripts', $this->javascripts);
     }
 }
开发者ID:javan-it-services,项目名称:internal,代码行数:41,代码来源:generic_controller.php

示例5: _zipDir

 private static function _zipDir(Folder $dir, \ZipArchive $zip, $relative_path)
 {
     $items = $dir->ls();
     if (count($items)) {
         foreach ($items as $item) {
             if ($item->isFile()) {
                 $name = $relative_path . $item->name();
                 $name = @iconv('UTF-8', 'CP850//TRANSLIT', $name);
                 \GO::debug("Add file: " . $name);
                 $zip->addFile($dir->path() . '/' . $item->name(), $name);
             } else {
                 self::_zipDir($item, $zip, $relative_path . $item->name() . '/');
             }
         }
     } else {
         \GO::debug("Add empty dir: " . $relative_path);
         if (!$zip->addEmptyDir(rtrim($relative_path, '/'))) {
             throw new \Exception("Could not add emty directory " . $relative_path);
         }
     }
 }
开发者ID:ajaboa,项目名称:crmpuan,代码行数:21,代码来源:Zip.php

示例6: testNoTestCaseSupplied

 /**
  * testNoTestCaseSupplied method
  *
  * @access public
  * @return void
  */
 function testNoTestCaseSupplied()
 {
     if (php_sapi_name() != 'cli') {
         unset($_GET['group']);
         CodeCoverageManager::start(substr(md5(microtime()), 0, 5), new CakeHtmlReporter());
         CodeCoverageManager::report(false);
         $this->assertError();
         CodeCoverageManager::start('libs/' . basename(__FILE__), new CakeHtmlReporter());
         CodeCoverageManager::report(false);
         $this->assertError();
         $path = LIBS;
         if (strpos(LIBS, ROOT) === false) {
             $path = ROOT . DS . LIBS;
         }
         App::import('Core', 'Folder');
         $folder = new Folder();
         $folder->cd($path);
         $contents = $folder->ls();
         /**
          * remove method
          *
          * @param mixed $var
          * @access public
          * @return void
          */
         function remove($var)
         {
             return $var != basename(__FILE__);
         }
         $contents[1] = array_filter($contents[1], "remove");
         foreach ($contents[1] as $file) {
             CodeCoverageManager::start('libs' . DS . $file, new CakeHtmlReporter());
             CodeCoverageManager::report(false);
             $this->assertNoErrors('libs' . DS . $file);
         }
     }
 }
开发者ID:subh,项目名称:raleigh-workshop-08,代码行数:43,代码来源:code_coverage_manager.test.php

示例7: settings

 function settings($id = null)
 {
     $folder = new Folder(APP . 'locale');
     $tmp = $folder->ls(true, array(".svn", ".", ".."));
     $availableLanguages = array();
     foreach ($tmp[0] as $value) {
         $lang = substr($value, 0, 2);
         $availableLanguages[$lang] = $lang;
     }
     if (empty($this->data)) {
         if (!$id or !$this->User->read(null, $id)) {
             $this->Session->setFlash(__('Invalid id.', true));
             $this->redirect($this->referer());
             exit;
         }
         $this->data = $this->User->read(null, $id);
     } else {
         $this->User->Profile->save($this->data);
         $this->Session->write('User.Profile.lang', $this->data['Profile']['lang']);
         $this->Session->setFlash(__('Settings saved.', true));
         $this->redirect($this->referer());
         exit;
     }
     $this->set('availableLanguages', $availableLanguages);
 }
开发者ID:laiello,项目名称:fredistrano,代码行数:25,代码来源:users_controller.php

示例8: Folder

 /**
  * Loads a list of plugins in the current app.
  *
  * @return array
  * @author John David Anderson
  */
 function __listPlugins()
 {
     $pluginsFolder = new Folder(APP . 'plugins');
     $filesAndDirectories = $pluginsFolder->ls(true, true);
     return $filesAndDirectories[0];
 }
开发者ID:josegonzalez,项目名称:cakephp-github-plugin-plugin,代码行数:12,代码来源:update.php

示例9: profile

 function profile($id = null)
 {
     $viewer = $this->Session->read('User');
     if (is_null($id)) {
         $id = $this->Session->read('User.id');
     }
     $this->data = $this->User->read(null, $id);
     // Admins can't view/edit master account
     if ($viewer['perms'] == 3 && $this->data['User']['perms'] == 4) {
         $this->redirect('/users');
     }
     uses('Folder');
     $themes_folder = new Folder(THEMES);
     $themes = $themes_folder->ls(true, false);
     $this->set('themes', $themes[0]);
     $custom_themes_folder = new Folder(USER_THEMES);
     $custom_themes_templates = $custom_themes_folder->ls(true, array('sample', '.', '..', '.svn'));
     $this->set('custom_themes', $custom_themes_templates[0]);
     $lang_folder = new Folder(APP . DS . 'locale');
     $langs = $lang_folder->ls(true, false);
     $this->set('langs', $langs[0]);
     $this->pageTitle = __('User Profile', true);
     $this->set('viewer', $viewer);
 }
开发者ID:phototech,项目名称:sailvenice,代码行数:24,代码来源:users_controller.php

示例10: array

 function _getSections($AclMode = 'full', $getChildren = true)
 {
     if ($AclMode == 'full') {
         $acos = $this->Aco->findByAlias(low(APP_DIR));
     } else {
         $acos = $this->Aco->findByAlias(low('ROOT'));
     }
     if (empty($acos['Aco']['alias'])) {
         $status = 'off';
         $type = 'off';
     } else {
         $status = 'on';
         $noChildren = ($acos['Aco']['rght'] - $acos['Aco']['lft']) / 2;
         if ($noChildren > 1) {
             $type = 'granular';
         } else {
             $type = 'global';
         }
     }
     if ($getChildren && !empty($acos['Aco']['alias'])) {
         $controllers = $this->_getControllers(APP_DIR, $status, $AclMode);
     } else {
         $controllers = array();
     }
     $sections[low(APP_DIR)] = array("status" => $status, "type" => $type, "children" => $controllers);
     if ($AclMode == 'full') {
         uses('Folder');
         $Folder = new Folder(APP . DS . "plugins");
         list($Plugins) = $Folder->ls();
         foreach ($Plugins as $Plugin) {
             $Plugin = low($Plugin);
             $acos = $this->Aco->findByAlias($Plugin);
             if (empty($acos['Aco']['alias'])) {
                 $status = 'off';
                 $type = 'off';
             } else {
                 $status = 'on';
                 $noChildren = ($acos['Aco']['rght'] - $acos['Aco']['lft']) / 2;
                 if ($noChildren > 1) {
                     $type = 'granular';
                 } else {
                     $type = 'global';
                 }
             }
             if ($getChildren && !empty($acos['Aco']['alias'])) {
                 $controllers = $this->_getControllers($Plugin, $status, $AclMode);
             } else {
                 $controllers = array();
             }
             $sections[low($Plugin)] = array("status" => $status, "type" => $type, "children" => $controllers);
         }
     }
     return $sections;
 }
开发者ID:javan-it-services,项目名称:internal,代码行数:54,代码来源:acos_controller.php

示例11: eventFilePaths

 /**
  * Walk through all directories and search for listener classes
  * Returns a array with classname as key and full path as value 
  *
  * @param string $dir Currently: 'controllers' and 'models'
  * @return array
  */
 public function eventFilePaths($dir = 'controllers')
 {
     App::import('Core', 'Folder');
     $eventFilePaths = array();
     // Lookup APP events
     $events = new Folder(EVENTS . $dir);
     list($folders, $files) = $events->ls();
     foreach ($files as $listenerClassFile) {
         $eventFilePaths[self::file2class($listenerClassFile)] = $events->path . DS . $listenerClassFile;
     }
     // Lookup PLUGIN events
     $plugins = new Folder(PLUGINS);
     list($folders, $files) = $plugins->ls();
     if (count($folders) > 1) {
         foreach ($folders as $pluginsFolder) {
             if ($pluginsFolder == 'eventful') {
                 continue;
             }
             $pluginEvents = new Folder(PLUGINS . $pluginsFolder . DS . EVENTS_DIR . DS . $dir);
             list($folders, $files) = $pluginEvents->ls();
             foreach ($files as $listenerClassFile) {
                 $eventFilePaths[self::file2class($listenerClassFile)] = $pluginEvents->path . DS . $listenerClassFile;
             }
         }
     }
     return $eventFilePaths;
 }
开发者ID:essential-zz,项目名称:eventful-cakephp,代码行数:34,代码来源:cake_events.php

示例12: beforeDelete

 /**
  * Callback
  *
  * Deletes file corresponding to record as well as generated versions of that file.
  *
  * If the file couldn't be deleted the callback won't stop the
  * delete operation to continue to delete the record.
  *
  * @param Model $Model
  * @param boolean $cascade
  * @return boolean
  */
 function beforeDelete(&$Model, $cascade = true)
 {
     extract($this->settings[$Model->alias]);
     $query = array('conditions' => array('id' => $Model->id), 'fields' => array('dirname', 'basename'), 'recursive' => -1);
     $result = $Model->find('first', $query);
     if (empty($result)) {
         return false;
         /* Record did not pass verification? */
     }
     $file = $baseDirectory;
     $file .= $result[$Model->alias]['dirname'];
     $file .= DS . $result[$Model->alias]['basename'];
     $File = new File($file);
     $Folder = new Folder($filterDirectory);
     list($versions, ) = $Folder->ls();
     foreach ($versions as $version) {
         $Folder->cd($filterDirectory . $version . DS . $result[$Model->alias]['dirname'] . DS);
         $basenames = $Folder->find($File->name() . '\\..*');
         if (count($basenames) > 1) {
             $message = "MediaBehavior::beforeDelete - Ambiguous filename ";
             $message .= "`" . $File->name() . "` in `" . $Folder->pwd() . "`.";
             trigger_error($message, E_USER_NOTICE);
             continue;
         } elseif (!isset($basenames[0])) {
             continue;
         }
         $FilterFile = new File($Folder->pwd() . $basenames[0]);
         $FilterFile->delete();
     }
     $File->delete();
     return true;
 }
开发者ID:youkidearitai,项目名称:CakePHP-Media-Plugin,代码行数:44,代码来源:media.php

示例13: translations

 /**
  * Reads from the app/locale/default.pot and creates a record for every lanuage
  * (obtained from folders in app/locale) and msgid. Ideally to be used once development 
  * is finished and the translations should be quickly changeable via db.
  * 
  * All strings picked up will go in the default domain.
  * 
  * We don't really need to write to the file, as if they want to make any changes the db save
  * will write the file.
  * 
  */
 function translations()
 {
     // Always use default domain.
     $domain = 'default';
     // Get list of languages.
     $folder = new Folder(APP . 'locale');
     $ls = $folder->ls(true);
     $languages = $ls[0];
     // Read default.pot
     $file = new File(APP . 'locale' . DS . 'default.pot');
     $lines = explode("\n", $file->read());
     $totalLines = count($lines);
     for ($i = 0; $i < $totalLines; $i++) {
         $line = $lines[$i];
         if (strpos($line, 'msgid') === false) {
             continue;
         }
         // Get term
         $str = preg_match('@msgid "([^"]+)"@', $line, $matches);
         if (empty($matches[1])) {
             continue;
         }
         $name = $matches[1];
         // Save
         foreach ($languages as $language) {
             $this->Translation->create();
             $conditions = compact('name', 'language', 'domain');
             if ($translation = $this->Translation->find('first', compact('conditions'))) {
                 $this->Translation->id = $translation['Translation']['id'];
             }
             $this->Translation->save(compact('name', 'language', 'domain'));
         }
     }
 }
开发者ID:morrislaptop,项目名称:settings,代码行数:45,代码来源:settings.php

示例14: settings

 function settings()
 {
     @($account = $this->data = $this->account);
     $this->set('account', $account);
     uses('Folder');
     $themes_folder = new Folder(THEMES);
     $themes = $themes_folder->ls(true, false);
     $this->set('themes', $themes[0]);
     $custom_themes_folder = new Folder(USER_THEMES);
     $custom_themes_templates = $custom_themes_folder->ls(true, array('sample', '.', '..', '.svn'));
     $this->set('custom_themes', $custom_themes_templates[0]);
     $lang_folder = new Folder(APP . DS . 'locale');
     $langs = $lang_folder->ls(true, false);
     $this->set('langs', $langs[0]);
     $templates_folder = new Folder(PLUGS . DS . 'links');
     $link_templates = $templates_folder->ls(true, false);
     $this->set('link_templates', $link_templates[1]);
     $custom_templates_folder = new Folder(CUSTOM_PLUGS . DS . 'links');
     $custom_link_templates = $custom_templates_folder->ls(true, array('sample', '.', '..', '.svn'));
     $this->set('custom_link_templates', $custom_link_templates[0]);
     $iptcs = $this->Director->iptcTags;
     natsort($iptcs);
     $exifs = $this->Director->exifTags;
     natsort($exifs);
     $dirs = $this->Director->dirTags;
     natsort($dirs);
     $this->loadModel('Watermark');
     $this->set('watermarks', $this->Watermark->find('all'));
     $this->set('iptcs', $iptcs);
     $this->set('exifs', $exifs);
     $this->set('dirs', $dirs);
 }
开发者ID:phototech,项目名称:sailvenice,代码行数:32,代码来源:accounts_controller.php

示例15: edit

 function edit($id, $tab = 'settings', $part_id = 0)
 {
     $this->cacheAction = 30000;
     $this->pageTitle = __('Albums', true);
     $this->Album->id = $id;
     $this->data = $this->Album->find('first', array('conditions' => array('Album.id' => $id)));
     if (empty($this->data)) {
         $this->redirect('/albums');
     }
     switch ($tab) {
         case 'summary':
             $this->redirect('/albums/edit/' . $id);
             break;
         case 'settings':
             $this->loadModel('Watermark');
             $this->set('watermarks', $this->Watermark->find('all', array('order' => 'main DESC')));
             $this->set('galleries', $this->Album->Tag->Gallery->find('all', array('fields' => 'Gallery.id, Gallery.name, Gallery.description', 'order' => 'Gallery.name', 'conditions' => 'Gallery.smart = 0', 'recursive' => -1)));
             $templates_folder = new Folder(PLUGS . DS . 'links');
             $link_templates = $templates_folder->ls(true, false);
             $this->set('link_templates', $link_templates[1]);
             $custom_templates_folder = new Folder(CUSTOM_PLUGS . DS . 'links');
             $custom_link_templates = $custom_templates_folder->ls(true, array('sample', '.', '..', '.svn'));
             $this->set('custom_link_templates', $custom_link_templates[0]);
             $iptcs = $this->Director->iptcTags;
             natsort($iptcs);
             $exifs = $this->Director->exifTags;
             natsort($exifs);
             $dirs = $this->Director->dirTags;
             if ($this->data['Album']['smart']) {
                 $dirs = array_merge($dirs, $this->Director->smartTags);
             }
             natsort($dirs);
             $this->set('iptcs', $iptcs);
             $this->set('exifs', $exifs);
             $this->set('dirs', $dirs);
             if ($this->data['Album']['smart']) {
                 list($images, ) = $this->_smart_content(unserialize($this->data['Album']['smart_query']));
                 $this->set('images', $images);
             } else {
                 $this->set('images', $this->data['Image']);
             }
             break;
         case 'content':
             $this->set('load_maps_js', true);
             $this->set('mp3s', $this->Director->directory(AUDIO, 'mp3,MP3'));
             if ($this->data['Album']['smart']) {
                 list($images, ) = $this->_smart_content(unserialize($this->data['Album']['smart_query']));
                 $this->set('images', $images);
                 $this->set('options', unserialize($this->data['Album']['smart_query']));
                 $this->set('active_dummies', $this->Album->find('all', array('conditions' => array('smart' => 0, 'active' => '1'), 'order' => 'name', 'recursive' => -1, 'fields' => 'Album.id, Album.name')));
             } else {
                 $this->set('images', $this->data['Image']);
                 $this->set('other_albums', $this->Album->find('all', array('conditions' => array('not' => array('Album.id' => $id, 'Album.smart' => 1)), 'recursive' => -1, 'fields' => 'Album.id, Album.name', 'order' => 'name')));
                 $preview_ids = array();
                 foreach ($this->data['Image'] as $i) {
                     if ($i['is_video']) {
                         if (!empty($i['lg_preview_id'])) {
                             $preview_ids[] = $i['lg_preview_id'];
                         }
                         if (!empty($i['tn_preview_id'])) {
                             $preview_ids[] = $i['tn_preview_id'];
                         }
                     }
                 }
                 $this->set('preview_ids', $preview_ids);
             }
             $this->set('selected_id', $part_id);
             if (function_exists('imagerotate') || $this->Kodak->gdVersion() >= 3) {
                 $rotate = true;
             } else {
                 $rotate = false;
             }
             $this->set('rotate', $rotate);
             break;
         case 'upload':
             if ($this->data['Album']['smart']) {
                 $this->redirect('/albums/edit/' . $this->data['Album']['id'] . '/content');
             }
             $this->set('writable', $this->Director->setAlbumPerms($this->data['Album']['id']));
             $this->set('other_writable', $this->Director->setOtherPerms());
             if (!TRIAL_STATE) {
                 // Check if any new files have been uploaded via FTP
                 $files = $this->Director->directory(ALBUMS . DS . 'album-' . $this->data['Album']['id'] . DS . 'lg', 'accepted');
                 $count = count($this->data['Image']);
                 if (count($files) > $count) {
                     set_time_limit(0);
                     $noobs = array();
                     $n = 1;
                     foreach ($files as $file) {
                         if (strpos($file, '___tn___') === false && strpos($file, '__vidtn__') === false) {
                             $this->Album->Image->recursive = -1;
                             $this->Album->Image->coldSave = true;
                             $img = $this->Album->Image->find(aa('src', $file, 'aid', $id));
                             if (empty($img)) {
                                 $clean = str_replace(" ", "_", $file);
                                 $clean = ereg_replace("[^A-Za-z0-9._-]", "_", $clean);
                                 $path = ALBUMS . DS . 'album-' . $this->data['Album']['id'] . DS . 'lg' . DS . $file;
                                 $clean_path = ALBUMS . DS . 'album-' . $this->data['Album']['id'] . DS . 'lg' . DS . $clean;
                                 if (rename($path, $clean_path)) {
                                     $path = $clean_path;
//.........这里部分代码省略.........
开发者ID:phototech,项目名称:sailvenice,代码行数:101,代码来源:albums_controller.php


注:本文中的Folder::ls方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。