function __construct($oModule, $aParam = array())
 {
     $this->_oModule = $oModule;
     $this->_aParam = $aParam;
     if (count($aParam) && isset($aParam['photo']) && $aParam['photo'] != 0) {
         $aFile = BxDolService::call('photos', 'get_photo_array', array($aParam['photo'], 'browse'), 'Search');
         if (!$aFile['no_image']) {
             $aParam = array_merge($aParam, array('thumbnail' => $GLOBALS['oBxSitesModule']->_oTemplate->parseHtmlByName('thumb110.html', array('image' => $aFile['file'], 'spacer' => getTemplateIcon('spacer.gif')))));
         }
     }
     $this->_aCustomForm = $this->getFullForm();
     $this->_aCustomForm['form_attrs']['action'] = BX_DOL_URL_ROOT . $this->_oModule->_oConfig->getBaseUri() . 'edit/' . $aParam['id'];
     $oCategories = new BxDolCategories();
     $oCategories->getTagObjectConfig();
     $this->_aCustomForm['inputs']['categories'] = $oCategories->getGroupChooser('bx_sites', (int) $this->_oModule->iOwnerId, true, $this->_aParam['categories']);
     $aFormInputsSubmit = array('Submit' => array('type' => 'submit', 'name' => 'submit_form', 'value' => _t('_Submit'), 'colspan' => false));
     $this->_aCustomForm['inputs'] = array_merge($this->_aCustomForm['inputs'], $aFormInputsSubmit);
     parent::__construct($this->_aCustomForm);
 }