コード例 #1
0
ファイル: ImageFileHandler.php プロジェクト: ivytin/re_web
 /**
  * Randomly runs garbage collection on the image directory
  *
  * @return bool
  */
 public function collectGarbage()
 {
     if (!mt_rand(1, $this->gcFreq) == 1) {
         return false;
     }
     $this->createFolderIfMissing();
     $finder = new Finder();
     $criteria = sprintf('<= now - %s minutes', $this->expiration);
     $finder->in($this->webPath . '/' . $this->imageFolder)->date($criteria);
     foreach ($finder->files() as $file) {
         unlink($file->getPathname());
     }
     return true;
 }
コード例 #2
0
 public function load($resource, $type = null)
 {
     if (true === $this->loaded) {
         throw new \RuntimeException('Do not add this loader twice');
     }
     //$modules = $this->doctrine->getRepository('MaximCMSBundle:Module')->findBy(array("activated" => 1));
     $collection = new RouteCollection();
     /* FIND ROUTING FILES IN BUNDLES AND LOAD THOSE */
     $exclude = array("CMSBundle", "InstallBundle", "AdminBundle");
     $names = array("routing.yml", "routing_admin.yml");
     for ($i = 0; $i < count($names); $i++) {
         $finder = new Finder();
         $finder->name($names[$i]);
         foreach ($finder->in(__DIR__ . "/../../")->exclude($exclude) as $file) {
             $locator = new FileLocator(array(substr($file, 0, count($file) - (strlen($names[$i]) + 1))));
             $loader = new YamlFileLoader($locator);
             $collection->addCollection($loader->load($names[$i]));
         }
     }
     return $collection;
     /*if (true === $this->loaded) {
                 throw new \RuntimeException('Do not add this loader twice');
             }
     
             $collection = new RouteCollection();
                                      echo "hi";
             // get all Bundles
             $bundles = $this->container->getParameter('kernel.bundles');
             foreach($bundles as $bundle) {
                 if(isset($bundle)) {
     
                        echo $bundle;
     
                 }
             }
     
     
             /*$resource = '@AcmeDemoBundle/Resources/config/import_routing.yml';
             $type = 'yaml';
     
             $importedRoutes = $this->import($resource, $type);
     
             $collection->addCollection($importedRoutes);
     
             return $collection;          */
 }
コード例 #3
0
ファイル: Directory.php プロジェクト: Hywan/File
 /**
  * Delete a directory.
  *
  * @access  public
  * @return  bool
  */
 public function delete()
 {
     $from = $this->getStreamName();
     $finder = new Finder();
     $finder->in($from)->childFirst();
     foreach ($finder as $file) {
         $file->open()->delete();
         $file->close();
     }
     if (null === $this->getStreamContext()) {
         return @rmdir($from);
     }
     return @rmdir($from, $this->getStreamContext()->getContext());
 }