/**
  * @return Gpf_Io_DirectoryIterator
  */
 private function getDirectoryIteratorIterator($directory, $recursive, $onlyDirectories, $excludeDir = '')
 {
     $iterator = new Gpf_Io_DirectoryIterator($directory, '', $recursive, $onlyDirectories);
     if ($excludeDir != '') {
         $iterator->addIgnoreDirectory($excludeDir);
     }
     return $iterator;
 }
 /**
  * Import translations from given directory
  *
  * @param string $dir Directory path
  */
 private function importDirectory($dir)
 {
     $sourceIterator = new Gpf_Io_DirectoryIterator($dir, '', true);
     $sourceIterator->addIgnoreDirectory('.svn');
     foreach ($sourceIterator as $fullFilename => $file) {
         $objFile = new Gpf_Io_File($fullFilename);
         if ($this->isExtensionForTranslation($objFile->getExtension())) {
             $this->parseContent($objFile);
         }
     }
 }
 public function generate()
 {
     foreach ($this->dirs as $directory) {
         $iterator = new Gpf_Io_DirectoryIterator($directory, '.php', true);
         $iterator->addIgnoreDirectory('.svn');
         foreach ($iterator as $fullName => $name) {
             $file = new Gpf_Io_File($fullName);
             $count = preg_match_all('/@service\\s+([a-zA-Z_]+)\\s+([a-zA-Z_]+)/ms', $file->getContents(), $matches, PREG_OFFSET_CAPTURE);
             if ($count > 0) {
                 foreach ($matches[1] as $index => $sentence) {
                     if (strpos($directory, "GwtPhpFramework")) {
                         $this->addFrameworkPermission($matches[1][$index][0], $matches[2][$index][0]);
                     } else {
                         $this->addApplicationPermission($matches[1][$index][0], $matches[2][$index][0]);
                     }
                 }
             }
         }
     }
     $this->renderOutput();
 }
Beispiel #4
0
 private function create($directory)
 {
     $iterator = new Gpf_Io_DirectoryIterator($directory, $this->extension, $this->recursive);
     $iterator->setIgnoreDirectories($this->ignoreDirectories);
     $iterator->setIgnoreAbsoluteDirectories($this->ignoreAbsoluteDirectories);
     return $iterator;
 }