| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- Lib::loadClass('SchemaReaderResource');
- Lib::loadClass('SchemaReaderResourceTableField');
- class SchemaReaderResourceTable extends SchemaReaderResource {
- protected $_uri;
- private $_name;
- private $_label;
- private $_description;
- private $_fields = array();
- public function __construct($uri) {
- parent::__construct($uri);
- }
- public function parseIniConfig($configData) {
- $this->_label = V::get('label', '', $configData);
- $this->_description = V::get('description', '', $configData);
- return true;
- }
- public function parseIniSubConfig($path, $configData) {
- $uri = $this->_uri . '/' . str_replace(':', '/', $path);
- $reader = new SchemaReaderResourceTableField($uri);
- if (!$reader->parseIniConfig($configData)) {
- if('1' == V::get('DBG_SCH', '', $_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;"> (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r("!parseIniConfig()");echo'</pre>';}
- continue;
- }
- $this->addField($resource);
- return true;
- }
- public function addField($resource) {
- $uri = $resource->getUri();
- if (array_key_exists($uri, $this->_fields)) {
- $this->_fields[$uri]->addPerms($resource->getPerms());
- } else {
- $this->_fields[$uri] = $resource;
- }
- }
- public function mergeFields($tbl) {
- foreach ($tbl->getFields() as $field) {
- $this->addField($field);
- }
- }
- public function getUri() { return $this->_uri; }
- public function getLabel() { return $this->_label; }
- public function getDescription() { return $this->_description; }
- public function getFields() { return $this->_fields; }
- }
|