Ejemplo n.º 1
0
 function getBBSCategories($aSelectedID = array(), $bOptions = false)
 {
     if (!is_array($aSelectedID)) {
         $aSelectedID = array($aSelectedID);
     }
     bff::i()->GetModule('bbs');
     $aCats = $this->db->select('SELECT id, title, 0 as disabled FROM ' . TABLE_BBS_CATEGORIES . ' WHERE numlevel=1 ORDER BY numleft');
     if ($bOptions) {
         $sOptions = '';
         array_unshift($aCats, array('id' => 0, 'title' => 'любой', 'disabled' => 0), array('id' => -2, 'title' => '------------------------', 'disabled' => 1), array('id' => 1, 'title' => 'Все разделы сайта', 'disabled' => 0));
         foreach ($aCats as $v) {
             $sOptions .= '<option value="' . $v['id'] . '" class="' . ($v['id'] == 0 || $v['id'] == 1 ? 'bold' : '') . '" ' . ($v['id'] == -2 ? 'disabled' : '') . ' ' . (in_array($v['id'], $aSelectedID) ? ' selected="selected"' : '') . '>' . $v['title'] . '</option>';
         }
     } else {
         array_unshift($aCats, array('id' => 1, 'title' => 'Все разделы сайта'));
         $sCheckbox = '';
         foreach ($aCats as $v) {
             $sCheckbox .= '<label><input type="checkbox" name="cat[]" class="catcheck ' . ($v['id'] == 1 ? 'all bold' : 'cat') . '" value="' . $v['id'] . '"' . (in_array($v['id'], $aSelectedID) ? ' checked="checked"' : '') . '/> ' . $v['title'] . '</label><br/>';
         }
     }
     $aCats = func::array_transparent($aCats, 'id', true);
     return array('cats' => $aCats, 'options' => !empty($sOptions) ? $sOptions : '', 'checks' => !empty($sCheckbox) ? $sCheckbox : '');
 }
Ejemplo n.º 2
0
 function edit()
 {
     if (bff::$isAjax) {
         $this->input->postm(array('id' => TYPE_UINT, 'reg' => TYPE_ARRAY_UINT, 'contacts' => TYPE_ARRAY_NOHTML, 'descr' => TYPE_NOTAGS, 'info' => TYPE_NOTAGS, 'img' => TYPE_ARRAY_NOHTML, 'imgfav' => TYPE_NOHTML, 'imo' => TYPE_NOHTML, 'price' => TYPE_NUM, 'price_torg' => TYPE_BOOL, 'price_bart' => TYPE_BOOL, 'video' => TYPE_NOHTML, 'period' => TYPE_UINT), $p);
         $sqlCheck = ' WHERE id = ' . $p['id'];
         if ($this->security->isMember()) {
             $sqlCheck .= ' AND user_id = ' . $this->security->getUserID();
         } else {
             if (!$this->isEditPassGranted($p['id'])) {
                 $this->ajaxResponse(Errors::ACCESSDENIED);
             }
         }
         $aData = $this->db->one_array('SELECT id, status, cat1_id, cat2_id, cat_id, cat_type, descr FROM ' . TABLE_BBS_ITEMS . $sqlCheck);
         if (empty($aData)) {
             $this->ajaxResponse(Errors::ACCESSDENIED);
         }
         $this->input->clean_array($p['reg'], array(1 => TYPE_UINT, 2 => TYPE_UINT, 3 => TYPE_UINT));
         $aDynpropsData = $this->input->post('dp', TYPE_ARRAY);
         if (!empty($aDynpropsData)) {
             $dp = $this->initDynprops();
             $aDynpropsData = $dp->prepareSaveDataByID($aDynpropsData, $dp->getByID(array_keys($aDynpropsData)), 'update');
         }
         $sRegionsTitle = '';
         if (!empty($p['reg'])) {
             $aRegions = $this->db->select('SELECT title, numlevel FROM ' . TABLE_BBS_REGIONS . ' WHERE id IN(' . join(',', $p['reg']) . ') ORDER BY numlevel');
             if (!empty($aRegions)) {
                 $aRegions = func::array_transparent($aRegions, 'numlevel', true);
                 $nRegionStart = 1;
                 if (sizeof($aRegions) == 1) {
                     $sRegionsTitle = $aRegions[$nRegionStart]['title'];
                 } else {
                     if (sizeof($aRegions) == 3) {
                         $nRegionStart = 2;
                     }
                     $sRegionsTitle = $aRegions[$nRegionStart]['title'] . ($aRegions[$nRegionStart + 1] ? ', ' . $aRegions[$nRegionStart + 1]['title'] : '');
                 }
             }
         }
         if ($this->errors->no()) {
             $p['contacts']['site'] = str_replace(array('http://', 'https://', 'ftp://'), '', $p['contacts']['site']);
             if (empty($p['contacts']['site'])) {
                 $p['contacts']['site'] = '';
             }
             $adtxtLimit = config::get('bbs_adtxt_limit');
             if (!empty($adtxtLimit)) {
                 $p['descr'] = mb_substr($p['descr'], 0, $adtxtLimit);
             }
             $p['descr'] = func::cleanComment($p['descr']);
             $p['info'] = func::cleanComment($p['info']);
             $sqlNOW = $this->db->getNOW();
             $sqlStatus = '';
             $isModified = $p['imo'] != md5('(*&^%$+_)578' . join(',', $p['img'])) || $aData['descr'] != $p['descr'];
             if ($isModified) {
                 $sqlStatus = ', moderated = 0';
             }
             $res = $this->db->execute('UPDATE ' . TABLE_BBS_ITEMS . ' SET
                 country_id = ' . $p['reg'][1] . ', region_id = ' . $p['reg'][2] . ', city_id = ' . $p['reg'][3] . ',  
                 img = :img, imgcnt = ' . sizeof($p['img']) . ', imgfav = :imgfav, 
                 price = ' . $p['price'] . ', price_torg = ' . $p['price_torg'] . ', price_bart = ' . $p['price_bart'] . ',   
                 contacts_name = :c_name, contacts_email = :c_email, contacts_phone = :c_phone, contacts_skype = :c_skype, contacts_site = :c_site, video = :video, 
                 descr = :descr, descr_regions = :descr_regions, info = :info, mkeywords = :mkeywords, mdescription = :mdescription, modified = ' . $sqlNOW . '
                 ' . (!empty($aDynpropsData) ? $aDynpropsData : '') . $sqlStatus . '
                 WHERE id = ' . $p['id'] . '              
             ', array(array(':img', join(',', $p['img']), PDO::PARAM_STR), array(':imgfav', $p['imgfav'], PDO::PARAM_STR), array(':c_name', isset($p['contacts']['name']) ? $p['contacts']['name'] : '', PDO::PARAM_STR), array(':c_email', isset($p['contacts']['email']) ? $p['contacts']['email'] : '', PDO::PARAM_STR), array(':c_phone', isset($p['contacts']['phone']) ? $p['contacts']['phone'] : '', PDO::PARAM_STR), array(':c_skype', isset($p['contacts']['skype']) ? $p['contacts']['skype'] : '', PDO::PARAM_STR), array(':c_site', isset($p['contacts']['site']) ? $p['contacts']['site'] : '', PDO::PARAM_STR), array(':video', $p['video'], PDO::PARAM_STR), array(':descr', $p['descr'], PDO::PARAM_STR), array(':descr_regions', $sRegionsTitle, PDO::PARAM_STR), array(':info', $p['info'], PDO::PARAM_STR), array(':mkeywords', $p['descr'], PDO::PARAM_STR), array(':mdescription', $p['descr'], PDO::PARAM_STR)));
             $success = $res === 1;
             $this->ajaxResponse(array('res' => $success));
         }
         $this->ajaxResponse(null);
     }
     $nItemID = $this->input->id('id');
     if (!$nItemID) {
         func::JSRedirect('/');
     }
     $nUserID = $this->security->getUserID();
     $dp = $this->initDynprops();
     $aData = $this->db->one_array('SELECT I.id, ' . $this->security->decodeBBSEditPass('I.pass') . ', I.user_id, I.status, I.moderated,
                           I.cat_id, C.regions as cat_regions, C.prices as cat_prices, C.prices_sett as cat_prices_sett,
                           I.country_id, I.region_id, I.city_id,
                           I.img, I.imgfav, I.imgcnt, I.descr, I.info, I.price, I.price_torg, I.price_bart, I.video,
                           I.contacts_name, I.contacts_email, I.contacts_phone, I.contacts_skype, I.contacts_site
                           , I.f' . join(', I.f', range($dp->datafield_int_first, $dp->datafield_text_last)) . '
                           FROM ' . TABLE_BBS_ITEMS . ' I, ' . TABLE_BBS_CATEGORIES . ' C
                           WHERE I.id = ' . $nItemID . ' AND I.cat_id = C.id
                           ');
     if (empty($aData)) {
         func::JSRedirect('/');
     }
     if ($aData['user_id'] == 0) {
         //доступ только по паролю
         if (!$this->isEditPassGranted($nItemID)) {
             $aData = array('item_id' => $nItemID, 'user_id' => $nUserID);
             return $this->tplFetchPHP($aData, 'item.edit.pass.php');
         }
     } else {
         if ($aData['user_id'] != $nUserID) {
             //не является владельцем объявления
             return $this->showForbidden('Вы не являетесь владельцем данного объявления.');
         }
     }
     if ($aData['status'] == BBS_STATUS_BLOCKED && $aData['moderated'] == 0) {
         return $this->showForbidden('Объявление ожидает проверки модератора.');
     }
     $aDynprops = $dp->form($aData['cat_id'], $aData, true, array(), 'dp', 'dynprops.form.edit.php', $this->module_dir_tpl);
     $aData['dp'] = $aDynprops['form'];
     unset($aDynprops);
     $aData['regions'] = $this->db->select('SELECT R.id, R.pid, R.title
                                    FROM ' . TABLE_BBS_REGIONS . ' R, ' . TABLE_BBS_REGIONS . ' R2
                                    WHERE R.numlevel IN(1,2) AND R.enabled = 1 AND (R.pid = 0 OR (R.pid = R2.id AND R2.enabled = 1)) 
                                    ORDER BY R.main DESC, R.num, R.title');
     $aData['regions'] = $this->db->transformRowsToTree($aData['regions'], 'id', 'pid', 'sub');
     if ($aData['country_id'] && $aData['region_id'] && $aData['city_id']) {
         $aData['cities'] = $this->db->select('SELECT R.id, R.title
                                    FROM ' . TABLE_BBS_REGIONS . ' R 
                                    WHERE R.pid = ' . $aData['region_id'] . ' AND R.enabled = 1 
                                    ORDER BY R.main DESC, R.num, R.title');
     }
     if ($nUserID) {
         $aData['items_status'] = $this->db->one_array('SELECT 
                 SUM(I.status = ' . BBS_STATUS_PUBLICATED . ') as active,
                 SUM(I.status = ' . BBS_STATUS_PUBLICATED_OUT . ') as notactive,
                 SUM(I.status = ' . BBS_STATUS_BLOCKED . ') as blocked 
               FROM ' . TABLE_BBS_ITEMS . ' I 
               WHERE I.user_id = ' . $nUserID . ' AND I.status !=' . BBS_STATUS_NEW);
     }
     $aConfig = array('adtxt_limit');
     $aConfig[] = 'images_limit' . ($this->security->isMember() ? '_reg' : '');
     $aData['config'] = config::get($aConfig, false, $this->module_name . '_');
     $aData['redirect'] = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : SITEURL . '/item/' . $nItemID;
     config::get('tpl_bbs_item_edit', 1);
     config::set('userMenuCurrent', 2);
     config::set('bbsCurrentCategory', $aData['cat_id']);
     $this->includeJS(array('bbs.txt', 'bbs.edit'));
     $this->includeJS(array('swfupload/swfupload'), false, true);
     return $this->tplFetchPHP($aData, 'item.edit.php');
 }
Ejemplo n.º 3
0
 function cities_listing($nOnlyMain = 0)
 {
     if (!$this->haveAccessTo('cities')) {
         return $this->showAccessDenied();
     }
     if (bff::$isAjax) {
         //$cache = Cache::singleton();
         switch (func::GET('act')) {
             case 'toggle-enabled':
                 if (!($nRecordID = $this->input->id())) {
                     $this->ajaxResponse(Errors::UNKNOWNRECORD);
                 }
                 $res = $this->db->execute('UPDATE ' . TABLE_CITY . ' SET enabled=(1-enabled) WHERE city_id=' . $nRecordID);
                 if ($res) {
                     //$cache->delete('geo-сities-all');
                     //$cache->delete('geo-сities-main');
                 }
                 $this->ajaxResponse($res ? Errors::SUCCESS : Errors::IMPOSSIBLE);
                 break;
             case 'toggle-main':
                 if (!($nRecordID = $this->input->id())) {
                     $this->ajaxResponse(Errors::UNKNOWNRECORD);
                 }
                 $res = $this->db->execute('UPDATE ' . TABLE_CITY . ' SET main=(1-main) WHERE city_id=' . $nRecordID);
                 if ($res) {
                     //$cache->delete('geo-сities-main');
                 }
                 $this->ajaxResponse($res ? Errors::SUCCESS : Errors::IMPOSSIBLE);
                 break;
             case 'main-add':
                 if (!($nRecordID = $this->input->id('city', 'p'))) {
                     $this->ajaxResponse(Errors::UNKNOWNRECORD);
                 }
                 $res = $this->db->execute('UPDATE ' . TABLE_CITY . ' SET main=1 WHERE city_id=' . $nRecordID);
                 if ($res) {
                     //$cache->delete('geo-сities-main');
                 }
                 $this->ajaxResponse($res ? Errors::SUCCESS : Errors::IMPOSSIBLE);
                 break;
             case 'rotate':
                 $f = func::GET('f');
                 $f = $f == 'num' ? 'num' : 'numreg';
                 $res = $this->db->rotateTablednd(TABLE_CITY, '', 'city_id', $f);
                 if ($res) {
                     //$cache->delete('geo-сities-all');
                     //$cache->delete('geo-сities-main');
                     $this->ajaxResponse(Errors::SUCCESS);
                 } else {
                     $this->ajaxResponse(Errors::IMPOSSIBLE);
                 }
                 break;
             case 'notmain-list':
                 $sQ = func::POST('q', true);
                 //получаем список подходящих по названию городов, исключая
                 //- основные города
                 $aResult = $this->db->select('SELECT C.city_id as id, C.title FROM ' . TABLE_CITY . ' C 
                               WHERE C.main=0 AND C.title LIKE (' . $this->db->str2sql($sQ . '%') . ')
                               ORDER BY C.title');
                 $aCities = array();
                 foreach ($aResult as $c) {
                     $aCities[$c['id']] = $c['title'];
                 }
                 unset($aResult);
                 $this->ajaxResponse($aCities);
                 break;
         }
         $this->ajaxResponse(Errors::IMPOSSIBLE);
     }
     $aData = array('main' => $nOnlyMain, 'users' => func::GET('users'), 'region' => func::GET('region', false, true));
     $aData['rotate'] = ($aData['main'] || $aData['region']) && !($aData['main'] && $aData['region']) && !$aData['users'] ? 1 : 0;
     $aData['rotate_field'] = $aData['rotate'] ? $aData['main'] ? 'num' : 'numreg' : 'title';
     $aData['cities'] = $this->db->select('SELECT C.*, C.city_id as id, COUNT(U.user_id) as users 
         FROM ' . TABLE_CITY . ' C
             LEFT JOIN ' . TABLE_USERS . ' U ON U.city_id=C.city_id
         WHERE 1=1 ' . ($aData['region'] ? ' AND C.region_id = ' . $aData['region'] . ' ' : '') . ' 
                   ' . ($aData['main'] ? ' AND C.main = 1 ' : '') . '
         GROUP BY C.city_id
        ' . ($aData['users'] ? ' HAVING users > 0 ' : '') . '
         ORDER BY C.' . $aData['rotate_field']);
     $aData['regions_options'] = $this->geoOblastOptions($aData['region'], $aRegions);
     $aData['regions'] = func::array_transparent($aRegions, 'region_id', true);
     $this->tplAssignByRef('aData', $aData);
     $this->includeJS(array('tablednd', 'autocomplete'));
     return $this->tplFetch('admin.cities.listing.tpl');
 }
Ejemplo n.º 4
0
 function items_edit()
 {
     if (!$this->haveAccessTo('items-edit')) {
         return $this->showAccessDenied();
     }
     if (bff::$isAjax) {
         $this->input->postm(array('id' => TYPE_UINT, 'reg' => TYPE_ARRAY_UINT, 'contacts' => TYPE_ARRAY_STR, 'descr' => TYPE_STR, 'info' => TYPE_STR, 'price' => TYPE_NUM, 'price_torg' => TYPE_BOOL, 'price_bart' => TYPE_BOOL, 'video' => TYPE_STR, 'mkeywords' => TYPE_STR, 'mdescription' => TYPE_STR), $p);
         $this->input->clean_array($p['reg'], array(1 => TYPE_UINT, 2 => TYPE_UINT, 3 => TYPE_UINT));
         $aDynpropsData = $this->input->post('dp', TYPE_ARRAY);
         if (!empty($aDynpropsData)) {
             $dp = $this->initDynprops();
             $aDynpropsData = $dp->prepareSaveDataByID($aDynpropsData, $dp->getByID(array_keys($aDynpropsData)), 'update');
         }
         $sRegionsTitle = '';
         if (!empty($p['reg'])) {
             $aRegions = $this->db->select('SELECT title, numlevel FROM ' . TABLE_BBS_REGIONS . ' WHERE id IN(' . join(',', $p['reg']) . ') ORDER BY numlevel');
             if (!empty($aRegions)) {
                 $aRegions = func::array_transparent($aRegions, 'numlevel', true);
                 $nRegionStart = 1;
                 if (sizeof($aRegions) == 1) {
                     $sRegionsTitle = $aRegions[$nRegionStart]['title'];
                 } else {
                     if (sizeof($aRegions) == 3) {
                         $nRegionStart = 2;
                     }
                     $sRegionsTitle = $aRegions[$nRegionStart]['title'] . ($aRegions[$nRegionStart + 1] ? ', ' . $aRegions[$nRegionStart + 1]['title'] : '');
                 }
             }
         }
         if ($this->errors->no()) {
             if (!empty($p['contacts']['site']) && $p['contacts']['site'] == 'http://') {
                 $p['contacts']['site'] = '';
             }
             $adtxtLimit = config::get('bbs_adtxt_limit');
             if (!empty($adtxtLimit)) {
                 $p['descr'] = mb_substr($p['descr'], 0, $adtxtLimit);
             }
             $sqlNOW = $this->db->getNOW();
             $res = $this->db->execute('UPDATE ' . TABLE_BBS_ITEMS . ' SET
                 country_id = ' . $p['reg'][1] . ', region_id = ' . $p['reg'][2] . ', city_id = ' . $p['reg'][3] . ',  
                 price = ' . $p['price'] . ', price_torg = ' . $p['price_torg'] . ', price_bart = ' . $p['price_bart'] . ',   
                 contacts_name = :c_name, contacts_email = :c_email, contacts_phone = :c_phone, contacts_skype = :c_skype, contacts_site = :c_site, video = :video, 
                 descr = :descr, descr_regions = :descr_regions, info = :info, mkeywords = :mkeywords, mdescription = :mdescription, modified = ' . $sqlNOW . '
                 ' . (!empty($aDynpropsData) ? $aDynpropsData : '') . '
                 WHERE id = ' . $p['id'] . '              
             ', array(array(':c_name', isset($p['contacts']['name']) ? $p['contacts']['name'] : '', PDO::PARAM_STR), array(':c_email', isset($p['contacts']['email']) ? $p['contacts']['email'] : '', PDO::PARAM_STR), array(':c_phone', isset($p['contacts']['phone']) ? $p['contacts']['phone'] : '', PDO::PARAM_STR), array(':c_skype', isset($p['contacts']['skype']) ? $p['contacts']['skype'] : '', PDO::PARAM_STR), array(':c_site', isset($p['contacts']['site']) ? $p['contacts']['site'] : '', PDO::PARAM_STR), array(':video', $p['video'], PDO::PARAM_STR), array(':descr', $p['descr'], PDO::PARAM_STR), array(':descr_regions', $sRegionsTitle, PDO::PARAM_STR), array(':info', $p['info'], PDO::PARAM_STR), array(':mkeywords', $p['mkeywords'], PDO::PARAM_STR), array(':mdescription', $p['mdescription'], PDO::PARAM_STR)));
             $this->ajaxResponse(array('res' => $res === 1));
         }
         $this->ajaxResponse(null);
     }
     $sFilter = $this->input->get('f', TYPE_STR);
     // listing filter
     $sRedirect = 'items_listing&' . $sFilter;
     $sFilter = rawurlencode($sFilter);
     $nRecordID = $this->input->id();
     if (!$nRecordID) {
         $this->adminRedirect(Errors::IMPOSSIBLE, $sRedirect);
     }
     $dp = $this->initDynprops();
     $aData = $this->db->one_array('SELECT I.*, C.regions as cat_regions, C.prices as cat_prices, C.prices_sett as cat_prices_sett,
                             CT.title as cat_type_title
                           FROM ' . TABLE_BBS_ITEMS . ' I
                             LEFT JOIN ' . TABLE_BBS_CATEGORIES_TYPES . ' CT ON I.cat_type = CT.id,
                             ' . TABLE_BBS_CATEGORIES . ' C
                           WHERE I.id = ' . $nRecordID . ' AND I.cat_id = C.id');
     if (empty($aData)) {
         $this->adminRedirect(Errors::IMPOSSIBLE, $sRedirect);
     }
     $aDynprops = $dp->form($aData['cat_id'], $aData, true, array(), 'dp', 'dynprops.form.edit.php', $this->module_dir_tpl);
     $aData['dp'] = !empty($aDynprops['form']) ? $aDynprops['form'] : 0;
     unset($aDynprops);
     $aData['regions'] = $this->db->select('SELECT R.id, R.pid, R.title
                                    FROM ' . TABLE_BBS_REGIONS . ' R, ' . TABLE_BBS_REGIONS . ' R2
                                    WHERE R.numlevel IN(1,2) AND R.enabled = 1 AND (R.pid = 0 OR (R.pid = R2.id AND R2.enabled = 1)) 
                                    ORDER BY R.main DESC, R.num, R.title');
     $aData['regions'] = $this->db->transformRowsToTree($aData['regions'], 'id', 'pid', 'sub');
     if ($aData['country_id'] && $aData['region_id'] && $aData['city_id']) {
         $aData['cities'] = $this->db->select('SELECT R.id, R.title
                                    FROM ' . TABLE_BBS_REGIONS . ' R 
                                    WHERE R.pid = ' . $aData['region_id'] . ' AND R.enabled = 1 
                                    ORDER BY R.main DESC, R.num, R.title');
     }
     if ($this->items_images) {
         $aData['img'] = !empty($aData['img']) ? explode(',', $aData['img']) : array();
         $this->items_images_limit = config::get('bbs_images_limit' . ($aData['user_id'] > 0 ? '_reg' : ''));
     }
     $aData['cats_path'] = '';
     $aParentsID = $this->tree_getNodeParentsID($aData['cat_id']);
     $aParentsID[] = $aData['cat_id'];
     if (!empty($aParentsID)) {
         $sQuery = 'SELECT C.title
                    FROM ' . TABLE_BBS_CATEGORIES . ' C
                    WHERE ' . $this->db->prepareIN('C.id', $aParentsID) . '
                    ORDER BY C.numleft';
         $aData['cats_path'] = join('&nbsp;&nbsp;<img src="/img/arrowRightSmall.png" />&nbsp;&nbsp;', $this->db->select_one_column($sQuery));
     }
     $aData['f'] =& $sFilter;
     $this->includeJS(array('bbs.txt', 'admin.bbs.edit'), false, false);
     $this->includeJS(array('swfupload/swfupload'));
     return $this->tplFetchPHP($aData, 'admin.items.edit.php');
 }
Ejemplo n.º 5
0
 /**
  * Подготовка запроса сохранения значений свойств по ID владельцев
  * @param mixed id владельца
  * @param array значения свойств: array(id владельца=>значения, ...)
  * @param array параметры свойств: без группировки по id владельца
  * @param string тип запроса: 'insert', 'update'
  * @return array @see prepareSaveDataByOwner
  */
 public function prepareSaveDataByOwner($mOwnerID, $aDynpropsData, $aDynprops, $sQueryType = 'insert')
 {
     if (!empty($mOwnerID) && !empty($aDynpropsData) && !empty($aDynprops)) {
         if (!is_array($mOwnerID)) {
             $mOwnerID = array($mOwnerID);
         }
         $aDynprops = func::array_transparent($aDynprops, $this->ownerColumn);
         $aResult = array();
         foreach ($mOwnerID as $ownerID) {
             if ($ownerID > 0) {
                 $aResult[$ownerID] = $this->prepareSaveData(isset($aDynpropsData[$ownerID]) ? $aDynpropsData[$ownerID] : array(), isset($aDynprops[$ownerID]) ? $aDynprops[$ownerID] : array(), $sQueryType);
             }
         }
         return $aResult;
     }
     return array();
 }