Ejemplo n.º 1
0
 /**
  * Returns an array of all available field handles discovered in the
  * `TOOLKIT . /fields` or `EXTENSIONS . /{}/fields`.
  *
  * @return array
  *  A single dimensional array of field handles.
  */
 public function fetchTypes()
 {
     $structure = General::listStructure(TOOLKIT . '/fields', '/field.[a-z0-9_-]+.php/i', false, 'asc', TOOLKIT . '/fields');
     $extensions = Symphony::ExtensionManager()->listInstalledHandles();
     if (is_array($extensions) && !empty($extensions)) {
         foreach ($extensions as $handle) {
             if (is_dir(EXTENSIONS . '/' . $handle . '/fields')) {
                 $tmp = General::listStructure(EXTENSIONS . '/' . $handle . '/fields', '/field.[a-z0-9_-]+.php/i', false, 'asc', EXTENSIONS . '/' . $handle . '/fields');
                 if (is_array($tmp['filelist']) && !empty($tmp['filelist'])) {
                     $structure['filelist'] = array_merge($structure['filelist'], $tmp['filelist']);
                 }
             }
         }
         $structure['filelist'] = General::array_remove_duplicates($structure['filelist']);
     }
     $types = array();
     foreach ($structure['filelist'] as $filename) {
         $types[] = FieldManager::__getHandleFromFilename($filename);
     }
     return $types;
 }