Example #1
0
 public static function info($class)
 {
     if (is_object($class)) {
         if ($class instanceof \stdClass) {
             return $class;
         }
         $class = get_class($class);
     } else {
         if (strpos($class, '\\') === false) {
             $parts = preg_split('/[_\\/]/', $class);
             if (!isset(self::$_map[$parts[0]])) {
                 throw new Exception("Class '{$class}' does not belong to a registered module");
             }
             $nspace = self::$_map[array_shift($parts)];
             $parts = array_map('ucfirst', $parts);
             $class = "{$nspace}" . (count($parts) ? '\\' . implode('\\', $parts) : null);
         }
     }
     if (false !== ($pos = strpos($class, '\\__CG__\\'))) {
         $class = substr($class, $pos + 8);
     }
     if (isset(self::$_classes[$class])) {
         return self::$_classes[$class];
     }
     $module = null;
     foreach (self::$_map as $alias => $nspace) {
         if (preg_match("/^" . preg_quote($nspace) . "(?:\\\\|\$)/", $class, $match)) {
             $module = [$alias, $nspace];
             break;
         }
     }
     if (!isset($module)) {
         throw new Exception("Class '{$class}' does not belong to a registered module");
     }
     $alias = [$alias];
     $nspace = explode('\\', $nspace);
     $local = array_slice(explode('\\', $class), count($nspace));
     $entity = array_merge($alias, $local);
     $aliasLcFirst = array_map('lcfirst', $alias);
     $aliasLcSplit = array_map(function ($value) {
         return strtolower(\Coast\str_camel_split($value, '-'));
     }, $alias);
     $localLcFirst = array_map('lcfirst', $local);
     $localLcSplit = array_map(function ($value) {
         return strtolower(\Coast\str_camel_split($value, '-'));
     }, $local);
     $entityLcFirst = array_map('lcfirst', $entity);
     $entityLcSplit = array_map(function ($value) {
         return strtolower(\Coast\str_camel_split($value, '-'));
     }, $entity);
     return self::$_classes[$class] = \Coast\array_object_smart(['class' => $class, 'name' => implode('_', $entityLcFirst), 'path' => implode('/', $entityLcSplit), 'module' => ['class' => implode('\\', $nspace), 'name' => implode('_', $aliasLcFirst), 'path' => implode('/', $aliasLcSplit)], 'local' => ['class' => implode('\\', $local), 'name' => implode('_', $localLcFirst), 'path' => implode('/', $localLcSplit)], 'singular' => class_exists($class) && isset($class::$chalkSingular) ? $class::$chalkSingular : implode('_', $entityLcFirst), 'plural' => class_exists($class) && isset($class::$chalkPlural) ? $class::$chalkPlural : implode('_', $entityLcFirst), 'group' => class_exists($class) && isset($class::$chalkGroup) ? $class::$chalkGroup : null, 'icon' => class_exists($class) && isset($class::$chalkIcon) ? $class::$chalkIcon : null]);
 }
Example #2
0
    ?>
    <?php 
    $this->start();
    ?>
        <div class="form-group form-group-vertical">
            <?php 
    if ($stackable) {
        ?>
                <?php 
        echo $this->render('input_text', ['name' => "{$name}[{$i}][name]", 'id' => "{$id}[{$i}][name]", 'placeholder' => 'Name', 'value' => $item['name'], 'disabled' => isset($disabled) ? $disabled : null, 'readOnly' => isset($readOnly) ? $readOnly : null]);
        ?>
            <?php 
    } else {
        ?>
                <?php 
        echo $this->render('input_pseudo', ['name' => "{$name}[{$i}][name]", 'value' => ucwords(\Coast\str_camel_split($item['name'])), 'disabled' => true]);
        ?>
                <?php 
        echo $this->render('input_hidden', ['name' => "{$name}[{$i}][name]", 'id' => "{$id}[{$i}][name]", 'value' => $item['name']]);
        ?>
            <?php 
    }
    ?>
            <?php 
    echo $this->render('textarea', ['name' => "{$name}[{$i}][value]", 'id' => "{$id}[{$i}][value]", 'value' => $item['value'], 'class' => isset($class) ? $class : null, 'rows' => isset($rows) ? $rows : null, 'cols' => isset($cols) ? $cols : null, 'disabled' => isset($disabled) ? $disabled : null, 'readOnly' => isset($readOnly) ? $readOnly : null]);
    ?>
        </div>  
    <?php 
    $items[] = $this->end();
}
if (isset($stackable) ? $stackable : true) {