示例#1
0
 public function __construct($expression, $flags = null)
 {
     parent::__construct(glob($expression, $flags));
 }
示例#2
0
 public function __construct($input = [], $flags = 0, $iterator_class = "\\classes\\collection_iterator")
 {
     parent::__construct($input, $flags, $iterator_class);
 }
示例#3
0
 public function get_options()
 {
     $html = '';
     /** @var $class table */
     $class = $this->get_link_module();
     $fields = $this->get_link_fields();
     /** @var $object table */
     $obj = new $class();
     if (!isset($this->options['order'])) {
         $this->options['order'] = $obj->get_primary_key_name();
     }
     $options = $class::get_all(array_merge($fields, [$obj->get_primary_key_name(), 'parent_' . $obj->get_primary_key_name()]), $this->options);
     if (!$this->required) {
         $html .= '<option value="0">- Please Select -</option>';
     }
     $parents = new collection();
     $options->iterate(function ($object) use(&$parents) {
         if (!$object->get_parent_primary_key()) {
             $object->_children = new collection();
             $parents[$object->get_primary_key()] = $object;
         } else {
             if (isset($parents[$object->get_parent_primary_key()])) {
                 $parents[$object->get_parent_primary_key()]->_children[] = $object;
             }
         }
     });
     /* @var \classes\table $object */
     $parents->iterate(function ($object) use(&$html, $fields) {
         $html .= '<option value="' . $object->{$object->get_primary_key_name()} . '" ' . ($this->is_selected($object->{$object->get_primary_key_name()}) ? 'selected="selected"' : '') . '>' . $this->get_object_title($object, $fields) . '</option>';
         if ($object->_children->count()) {
             $object->_children->iterate(function ($sub_object) use(&$html, $fields) {
                 $html .= '<option value="' . $sub_object->{$sub_object->get_primary_key_name()} . '" ' . ($this->is_selected($sub_object->{$sub_object->get_primary_key_name()}) ? 'selected="selected"' : '') . '>' . $this->get_object_title($sub_object, $fields, 1) . '</option>';
             });
         }
     });
     return $html;
 }