1: <?php
  2:   3:   4:   5:   6:   7:   8:   9:  10:  11:  12:  13:  14: 
 15: 
 16: defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
 17: 
 18:  19:  20:  21:  22:  23: 
 24: class cApiNavSubCollection extends ItemCollection {
 25: 
 26:      27:  28: 
 29:     public function __construct() {
 30:         global $cfg;
 31:         parent::__construct($cfg['tab']['nav_sub'], 'idnavs');
 32:         $this->_setItemClass('cApiNavSub');
 33: 
 34:         
 35:         $this->_setJoinPartner('cApiNavMainCollection');
 36:         $this->_setJoinPartner('cApiAreaCollection');
 37:     }
 38: 
 39:      40:  41:  42:  43:  44:  45:  46:  47:  48: 
 49:     public function create($navm, $area, $level, $location, $online = '1') {
 50:         $item = parent::createNewItem();
 51: 
 52:         if (is_string($area)) {
 53:             $c = new cApiArea();
 54:             $c->loadBy('name', $area);
 55: 
 56:             if ($c->isLoaded()) {
 57:                 $area = $c->get('idarea');
 58:             } else {
 59:                 $area = 0;
 60:                 cWarning(__FILE__, __LINE__, "Could not resolve area [$area] passed to method [create], assuming 0");
 61:             }
 62:         }
 63: 
 64:         $item->set('idnavm', cSecurity::toInteger($navm));
 65:         $item->set('idarea', $area);
 66:         $item->set('level', cSecurity::toInteger($level));
 67:         $item->set('location', cSecurity::escapeString($location));
 68:         $item->set('online', cSecurity::toInteger($online));
 69: 
 70:         $item->store();
 71: 
 72:         return ($item);
 73:     }
 74: 
 75: }
 76: 
 77:  78:  79:  80:  81:  82: 
 83: class cApiNavSub extends Item {
 84: 
 85:      86:  87:  88:  89: 
 90:     public function __construct($mId = false) {
 91:         global $cfg;
 92:         parent::__construct($cfg['tab']['nav_sub'], 'idnavs');
 93:         $this->setFilters(array(
 94:             'addslashes'
 95:         ), array(
 96:             'stripslashes'
 97:         ));
 98:         if ($mId !== false) {
 99:             $this->loadByPrimaryKey($mId);
100:         }
101:     }
102: 
103: }
104: