function logToDatabase($cbResult = null) { // CONTENTBUILDER global $database, $ff_config; $database = JFactory::getDBO(); if ($this->dying) { return; } if (!is_object($cbResult['form']) && $this->editable && $this->editable_override) { $database->setQuery("Select id From #__facileforms_records Where form = " . $database->Quote($this->form) . " And user_id = " . $database->Quote(JFactory::getUser()->get('id', 0)) . " And user_id <> 0"); $records = $database->loadObjectList(); foreach ($records as $record) { $database->setQuery("Delete From #__facileforms_subrecords Where record = " . $record->id); $database->query(); $database->setQuery("Delete From #__facileforms_records Where id = " . $record->id); $database->query(); } } $record = new facileFormsRecords($database); $record->submitted = $this->submitted; $record->form = $this->form; $record->title = $this->formrow->title; $record->name = $this->formrow->name; $record->ip = $this->ip; $record->browser = $this->browser; $record->opsys = $this->opsys; $record->provider = $this->provider; $record->viewed = 0; $record->exported = 0; $record->archived = 0; if (JFactory::getUser()->get('id', 0) > 0) { $record->user_id = JFactory::getUser()->get('id', 0); $record->username = JFactory::getUser()->get('username', ''); $record->user_full_name = JFactory::getUser()->get('name', ''); } else { $record->user_id = JFactory::getUser()->get('id', 0); $record->username = '******'; $record->user_full_name = '-'; } // CONTENTBUILDER WILL TAKE OVER SAVING/UPDATE IF EXISTS $cbFileFields = array(); if (!is_object($cbResult['form'])) { if (!$record->store()) { $this->status = _FF_STATUS_SAVERECORD_FAILED; $this->message = $record->getError(); return; } // if $record_return = $record->id; if ($record_return && JFile::exists(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_contentbuilder' . DS . 'contentbuilder.xml')) { $last_update = JFactory::getDate(); jimport('joomla.version'); $version = new JVersion(); $is3 = false; if (version_compare($version->getShortVersion(), '3.0', '>=')) { $is3 = true; } $last_update = $is3 ? $last_update->toSql() : $last_update->toMySQL(); $db = JFactory::getDBO(); $db->setQuery("Select id From #__contentbuilder_records Where `type` = 'com_breezingforms' And `reference_id` = " . $db->Quote($this->form) . " And record_id = " . $db->Quote($record_return)); $res = $db->loadResult(); if (!$res) { $db->setQuery("Insert Into #__contentbuilder_records (session_id,`type`,last_update, published, record_id, reference_id) Values ('" . JFactory::getSession()->getId() . "','com_breezingforms'," . $db->Quote($last_update) . ",0, " . $db->Quote($record_return) . ", " . $db->Quote($this->form) . ")"); $db->query(); } else { $db->setQuery("Update #__contentbuilder_records Set last_update = " . $db->Quote($last_update) . ",edited = edited + 1 Where `type` = 'com_breezingforms' And `reference_id` = " . $db->Quote($this->form) . " And record_id = " . $db->Quote($record_return)); $db->query(); } } } $this->record_id = $record->id; $names = array(); $subrecord = new facileFormsSubrecords($database); $subrecord->record = $record->id; if (count($this->savedata)) { $cbData = array(); // CONTENTBUILDER file deletion/upgrade if (is_object($cbResult['form'])) { $db = JFactory::getDBO(); $db->setQuery('Select SQL_CALC_FOUND_ROWS * From #__contentbuilder_forms Where id = ' . JRequest::getInt('cb_form_id', 0) . ' And published = 1'); $_settings = $db->loadObject(); $_record = $cbResult['form']->getRecord(JRequest::getInt('record_id', 0), $_settings->published_only, $cbResult['frontend'] ? $_settings->own_only_fe ? JFactory::getUser()->get('id', 0) : -1 : ($_settings->own_only ? JFactory::getUser()->get('id', 0) : -1), true); foreach ($_record as $_rec) { $_files_deleted = array(); if ($_rec->recType == 'File Upload') { $_array = JRequest::getVar('cb_delete_' . $_rec->recElementId, array(), '', 'ARRAY'); foreach ($_array as $_key => $_arr) { if ($_arr == 1) { $_values = explode("\n", $_rec->recValue); if (isset($_values[$_key])) { if (strpos(strtolower($_values[$_key]), '{cbsite}') === 0) { $_values[$_key] = str_replace(array('{cbsite}', '{CBSite}'), array(JPATH_SITE, JPATH_SITE), $_values[$_key]); } if (JFile::exists($_values[$_key])) { JFile::delete($_values[$_key]); } if (!isset($_files_deleted[$_rec->recElementId])) { $_files_deleted[$_rec->recElementId] = array(); } $_files_deleted[$_rec->recElementId][] = $_key; } } } if (isset($_files_deleted[$_rec->recElementId]) && is_array($_files_deleted[$_rec->recElementId]) && count($_files_deleted[$_rec->recElementId])) { $_i = 0; foreach ($this->savedata as $data) { if ($data[_FF_DATA_ID] == $_rec->recElementId) { $_is_values = explode("\n", $_rec->recValue); $_j = 0; foreach ($_is_values as $_is_value) { if (!in_array($_j, $_files_deleted[$_rec->recElementId])) { $this->savedata[$_i][_FF_DATA_VALUE] .= $_is_value . "\n"; } $_j++; } $this->savedata[$_i][_FF_DATA_VALUE] = rtrim($this->savedata[$_i][_FF_DATA_VALUE]); break; } $_i++; } } else { if (true) { $next = count($this->savedata); $this->savedata[$next] = array(); $this->savedata[$next][_FF_DATA_ID] = $_rec->recElementId; $this->savedata[$next][_FF_DATA_NAME] = $_rec->recName; $this->savedata[$next][_FF_DATA_TITLE] = $_rec->recTitle; $this->savedata[$next][_FF_DATA_TYPE] = $_rec->recType; $this->savedata[$next][_FF_DATA_VALUE] = ''; $_is_values = explode("\n", $_rec->recValue); foreach ($_is_values as $_is_value) { $this->savedata[$next][_FF_DATA_VALUE] .= $_is_value . "\n"; } $this->savedata[$next][_FF_DATA_VALUE] = rtrim($this->savedata[$next][_FF_DATA_VALUE]); } } } } } $_savedata = array(); if (!is_object($cbResult['form'])) { foreach ($this->savedata as $data) { if ($data[_FF_DATA_TYPE] == 'File Upload') { if (!isset($_savedata[$data[_FF_DATA_ID]])) { $_savedata[$data[_FF_DATA_ID]] = ''; } $_savedata[$data[_FF_DATA_ID]] .= $data[_FF_DATA_VALUE] . "\n"; } } } $isset = array(); foreach ($this->savedata as $data) { // CONTENTBUILDER WILL TAKE OVER SAVING/UPDATE IF EXISTS if (!is_object($cbResult['form'])) { $subrecord->id = NULL; $subrecord->element = $data[_FF_DATA_ID]; $subrecord->name = $data[_FF_DATA_NAME]; $subrecord->title = $data[_FF_DATA_TITLE]; $subrecord->type = $data[_FF_DATA_TYPE]; if (isset($_savedata[$data[_FF_DATA_ID]]) && !isset($isset[$data[_FF_DATA_ID]])) { $subrecord->value = trim($_savedata[$data[_FF_DATA_ID]]); } else { $subrecord->value = $data[_FF_DATA_VALUE]; } if (!isset($isset[$data[_FF_DATA_ID]])) { if (!$subrecord->store()) { $this->status = _FF_STATUS_SAVESUBRECORD_FAILED; $this->message = $subrecord->getError(); return; } } if ($data[_FF_DATA_TYPE] == 'File Upload') { $isset[$data[_FF_DATA_ID]] = true; } } else { require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_contentbuilder' . DS . 'classes' . DS . 'contentbuilder.php'; $cbNonEditableFields = contentbuilder::getListNonEditableElements($cbResult['data']['id']); if (!in_array($data[_FF_DATA_ID], $cbNonEditableFields)) { switch ($data[_FF_DATA_TYPE]) { case 'Checkbox': case 'Checkbox Group': case 'Radio Button': case 'Radio Group': case 'Select List': if (!isset($cbData[$data[_FF_DATA_ID]])) { $cbData[$data[_FF_DATA_ID]] = array(); } $cbData[$data[_FF_DATA_ID]][] = $data[_FF_DATA_VALUE]; break; case 'File Upload': if (!isset($cbData[$data[_FF_DATA_ID]])) { $cbData[$data[_FF_DATA_ID]] = ''; $cbFileFields[] = $data[_FF_DATA_ID]; } $cbData[$data[_FF_DATA_ID]] .= $data[_FF_DATA_VALUE] . "\n"; break; default: $cbData[$data[_FF_DATA_ID]] = $data[_FF_DATA_VALUE]; } } } } // foreach // CONTENTBUILDER BEGIN if (is_object($cbResult['form'])) { JPluginHelper::importPlugin('contentbuilder_submit'); $submit_dispatcher = JDispatcher::getInstance(); jimport('joomla.version'); $version = new JVersion(); $is15 = true; if (version_compare($version->getShortVersion(), '1.6', '>=')) { $is15 = false; } $values = array(); $names = $cbResult['form']->getAllElements(); foreach ($names as $id => $name) { if (isset($cbData[$id])) { if (in_array($id, $cbFileFields) && trim($cbData[$id]) == '') { $values[$id] = ''; } else { if (in_array($id, $cbFileFields) && trim($cbData[$id]) != '') { $values[$id] = trim($cbData[$id]); } else { $values[$id] = $cbData[$id]; } } } } $submit_before_result = $submit_dispatcher->trigger('onBeforeSubmit', array(JRequest::getInt('cb_record_id', 0), $cbResult['form'], $values)); $record_return = $cbResult['form']->saveRecord(JRequest::getInt('cb_record_id', 0), $values); $db = JFactory::getDBO(); $db->setQuery('Select SQL_CALC_FOUND_ROWS * From #__contentbuilder_forms Where id = ' . JRequest::getInt('cb_form_id', 0) . ' And published = 1'); $cbData = $db->loadObject(); if ($record_return) { $this->record_id = $record_return; $sef = ''; $ignore_lang_code = '*'; if ($cbResult['data']['default_lang_code_ignore']) { jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '1.6', '>=')) { $db->setQuery("Select lang_code From #__languages Where published = 1 And sef = " . $db->Quote(trim(JRequest::getCmd('lang', '')))); $ignore_lang_code = $db->loadResult(); if (!$ignore_lang_code) { $ignore_lang_code = '*'; } } else { $codes = contentbuilder::getLanguageCodes(); foreach ($codes as $code) { if (strstr(strtolower($code), strtolower(trim(JRequest::getCmd('lang', '')))) !== false) { $ignore_lang_code = strtolower($code); break; } } } $sef = trim(JRequest::getCmd('lang', '')); if ($ignore_lang_code == '*') { $sef = ''; } } else { jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '1.6', '>=')) { $db->setQuery("Select sef From #__languages Where published = 1 And lang_code = " . $db->Quote($cbResult['data']['default_lang_code'])); $sef = $db->loadResult(); } else { $codes = contentbuilder::getLanguageCodes(); foreach ($codes as $code) { if ($code == $cbResult['data']['default_lang_code']) { $sef = explode('-', $code); if (count($sef)) { $sef = strtolower($sef[0]); } break; } } } } $language = $cbResult['data']['default_lang_code_ignore'] ? $ignore_lang_code : $cbResult['data']['default_lang_code']; $db->setQuery("Select id From #__contentbuilder_records Where `type` = 'com_breezingforms' And `reference_id` = " . $db->Quote($cbResult['form']->getReferenceId()) . " And record_id = " . $db->Quote($record_return)); $res = $db->loadResult(); $last_update = JFactory::getDate(); $version = new JVersion(); $is3 = false; if (version_compare($version->getShortVersion(), '3.0', '>=')) { $is3 = true; } $last_update = $is3 ? $last_update->toSql() : $last_update->toMySQL(); if (!$res) { $is_future = 0; $created_up = JFactory::getDate(); $created_up = $is3 ? $created_up->toSql() : $created_up->toMySQL(); if (intval($cbData->default_publish_up_days) != 0) { $is_future = 1; $date = JFactory::getDate(strtotime('now +' . intval($cbData->default_publish_up_days) . ' days')); $created_up = $is3 ? $date->toSql() : $date->toMySQL(); } $created_down = '0000-00-00 00:00:00'; if (intval($cbData->default_publish_down_days) != 0) { $date = JFactory::getDate(strtotime($created_up . ' +' . intval($cbData->default_publish_down_days) . ' days')); $created_down = $is3 ? $date->toSql() : $date->toMySQL(); } $db->setQuery("Insert Into #__contentbuilder_records (session_id,`type`,last_update,is_future,lang_code, sef, published, record_id, reference_id, publish_up, publish_down) Values ('" . JFactory::getSession()->getId() . "','com_breezingforms'," . $db->Quote($last_update) . ",{$is_future}, " . $db->Quote($language) . "," . $db->Quote(trim($sef)) . "," . $db->Quote($cbData->auto_publish && !$is_future ? 1 : 0) . ", " . $db->Quote($record_return) . ", " . $db->Quote($cbResult['form']->getReferenceId()) . ", " . $db->Quote($created_up) . ", " . $db->Quote($created_down) . ")"); $db->query(); } else { $db->setQuery("Update #__contentbuilder_records Set last_update = " . $db->Quote($last_update) . ",lang_code = " . $db->Quote($language) . ", sef = " . $db->Quote(trim($sef)) . ", edited = edited + 1 Where `type` = 'com_breezingforms' And `reference_id` = " . $db->Quote($cbResult['form']->getReferenceId()) . " And record_id = " . $db->Quote($record_return)); $db->query(); } } $article_id = 0; // creating the article if (is_object($cbData) && $cbData->create_articles) { JRequest::setVar('cb_category_id', null); JRequest::setVar('cb_controller', null); jimport('joomla.version'); $version = new JVersion(); if (JFactory::getApplication()->isSite() && JRequest::getInt('Itemid', 0)) { if (version_compare($version->getShortVersion(), '1.6', '>=')) { $menu = JSite::getMenu(); $item = $menu->getActive(); if (is_object($item)) { JRequest::setVar('cb_category_id', $item->params->get('cb_category_id', null)); JRequest::setVar('cb_controller', $item->params->get('cb_controller', null)); } } else { $params = JComponentHelper::getParams('com_contentbuilder'); JRequest::setVar('cb_category_id', $params->get('cb_category_id', null)); JRequest::setVar('cb_controller', $params->get('cb_controller', null)); } } $cbData->page_title = $cbData->use_view_name_as_title ? $cbData->name : $cbResult['form']->getPageTitle(); $cbData->labels = $cbResult['form']->getElementLabels(); $ids = array(); foreach ($cbData->labels as $reference_id => $label) { $ids[] = $db->Quote($reference_id); } $cbData->labels = array(); if (count($ids)) { $db->setQuery("Select Distinct `label`, reference_id From #__contentbuilder_elements Where form_id = " . JRequest::getInt('cb_form_id', 0) . " And reference_id In (" . implode(',', $ids) . ") And published = 1 Order By ordering"); $rows = $db->loadAssocList(); $ids = array(); foreach ($rows as $row) { $ids[] = $row['reference_id']; } } $cbData->items = $cbResult['form']->getRecord($record_return, $cbData->published_only, $cbResult['frontend'] ? $cbData->own_only_fe ? JFactory::getUser()->get('id', 0) : -1 : ($cbData->own_only ? JFactory::getUser()->get('id', 0) : -1), true); if (!count($cbData->items)) { JError::raiseError(404, JText::_('COM_CONTENTBUILDER_RECORD_NOT_FOUND')); } $config = array(); $full = false; $article_id = contentbuilder::createArticle(JRequest::getInt('cb_form_id', 0), $record_return, $cbData->items, $ids, $cbData->title_field, $cbResult['form']->getRecordMetadata($record_return), $config, $full, true, JRequest::getVar('cb_category_id', null)); $cache = JFactory::getCache('com_content'); $cache->clean(); $cache = JFactory::getCache('com_contentbuilder'); $cache->clean(); } $submit_after_result = $submit_dispatcher->trigger('onAfterSubmit', array($record_return, $article_id, $cbResult['form'], $values)); } // CONTENTBUILDER END // joomla 3 tagging $db = JFactory::getDBO(); jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '3.1', '>=') && $this->formrow->tags_content != '') { $title = ''; $tags_body = ''; if (trim($this->formrow->tags_content_template) == '') { $lol = 0; $tags_body = '<ul class="category list-striped list-condensed">' . "\n"; foreach ($this->savedata as $data) { if ($data[_FF_DATA_ID] == $this->formrow->tags_content_template_default_element) { $title = $data[_FF_DATA_VALUE]; } if ($lol == 1) { $lol = 0; } $tagvalue = ''; if (is_array($data[_FF_DATA_VALUE])) { $tagvalue = implode(', ', $data[_FF_DATA_VALUE]); } else { $tagvalue = $data[_FF_DATA_VALUE]; } $tagvalue = bf_cleanString($tagvalue); $tags_body .= '<li class="cat-list-row' . $lol . '"><strong class="list-title">' . htmlentities($data[_FF_DATA_TITLE], ENT_QUOTES, 'UTF-8') . '</strong><div>' . htmlentities($tagvalue, ENT_QUOTES, 'UTF-8') . '</div></li>' . "\n"; $lol++; } $tags_body .= '</ul>' . "\n"; } else { $tags_body = $this->formrow->tags_content_template; foreach ($this->savedata as $data) { if ($data[_FF_DATA_ID] == $this->formrow->tags_content_template_default_element) { $title = $data[_FF_DATA_VALUE]; } $tagvalue = ''; if (is_array($data[_FF_DATA_VALUE])) { $tagvalue = implode(', ', $data[_FF_DATA_VALUE]); } else { $tagvalue = $data[_FF_DATA_VALUE]; } $tagvalue = bf_cleanString($tagvalue); $tags_body = str_replace('{' . $data[_FF_DATA_NAME] . ':label}', htmlentities($data[_FF_DATA_TITLE], ENT_QUOTES, 'UTF-8'), $tags_body); $tags_body = str_replace('{' . $data[_FF_DATA_NAME] . ':value}', htmlentities($tagvalue, ENT_QUOTES, 'UTF-8'), $tags_body); } $matches = array(); preg_match_all("/\\{BFImageScale([^}]*)\\}/i", $tags_body, $matches); if (isset($matches[0]) && isset($matches[1]) && is_array($matches[1]) && count($matches[1]) > 0) { $i = 0; foreach ($matches[1] as $match) { $options = explode(';', trim($match)); $options_length = count($options); for ($x = 0; $x < $options_length; $x++) { $options[$x] = trim($options[$x]); if ($options[$x] == '') { unset($options[$x]); } } $options[] = 'record-id: ' . $this->record_id; $options[] = 'form-id: ' . $this->form; $out = implode('; ', $options); $tags_body = str_replace($matches[0][$i], '{BFImageScale ' . $out . '}', $tags_body); $i++; } } $matches = array(); preg_match_all("/\\{BFDownload([^}]*)\\}/i", $tags_body, $matches); if (isset($matches[0]) && isset($matches[1]) && is_array($matches[1]) && count($matches[1]) > 0) { $i = 0; foreach ($matches[1] as $match) { $options = explode(';', trim($match)); $options_length = count($options); for ($x = 0; $x < $options_length; $x++) { $options[$x] = trim($options[$x]); if ($options[$x] == '') { unset($options[$x]); } } $options[] = 'record-id: ' . $this->record_id; $options[] = 'form-id: ' . $this->form; $out = implode('; ', $options); $tags_body = str_replace($matches[0][$i], '{BFDownload ' . $out . '}', $tags_body); $i++; } } } if (trim($title) == '' && isset($this->savedata[0])) { $title = $this->savedata[0][_FF_DATA_TITLE]; } else { if (trim($title) == '' && !isset($this->savedata[0])) { $title = 'Unknown'; } } $tag_date = JFactory::getDate(); // Clean text for xhtml transitional compliance $introtext = ''; $fulltext = ''; $tags_body = str_replace('<br>', '<br />', $tags_body); // Search for the {readmore} tag and split the text up accordingly. $pattern = '#<hr\\s+id=("|\')system-readmore("|\')\\s*\\/*>#i'; $tagPos = preg_match($pattern, $tags_body); if ($tagPos == 0) { $introtext = $tags_body; } else { list($introtext, $fulltext) = preg_split($pattern, $tags_body, 2); } $db->setQuery("Insert Into \n #__content \n (\n `title`,\n `alias`,\n `introtext`,\n `fulltext`,\n `state`,\n `catid`,\n `created`,\n `created_by`,\n `modified`,\n `modified_by`,\n `checked_out`,\n `checked_out_time`,\n `publish_up`,\n `publish_down`,\n `attribs`,\n `version`,\n `metakey`,\n `metadesc`,\n `metadata`,\n `access`,\n `created_by_alias`,\n `language`,\n `featured`\n ) \n Values \n (\n " . $db->quote($title) . ",\n " . $db->quote(bf_stringURLUnicodeSlug($item_id . '-' . $title)) . ",\n " . $db->quote($introtext) . ",\n " . $db->quote($fulltext) . ",\n " . intval($this->formrow->tags_content_default_state) . ",\n " . intval($this->formrow->tags_content_default_category) . ",\n '" . $tag_date->toSql() . "',\n " . $db->quote(JFactory::getUser()->get('id', 0)) . ",\n '" . $tag_date->toSql() . "',\n " . $db->quote(JFactory::getUser()->get('id', 0)) . ",\n '0',\n '0000-00-00 00:00:00',\n '" . ($this->formrow->tags_content_default_publishup == '' || $this->formrow->tags_content_default_publishup == '0000-00-00 00:00:00' ? $tag_date->toSql() : $this->formrow->tags_content_default_publishup) . "',\n '" . ($this->formrow->tags_content_default_publishdown == '' || $this->formrow->tags_content_default_publishdown == '0000-00-00 00:00:00' ? '0000-00-00 00:00:00' : $this->formrow->tags_content_default_publishdown) . "',\n '',\n '1',\n '',\n '',\n '',\n " . intval($this->formrow->tags_content_default_access) . ",\n " . $db->quote(JFactory::getUser()->get('username', 'Anonymous')) . ",\n " . $db->quote($this->formrow->tags_content_default_language) . ",\n " . intval($this->formrow->tags_content_default_featured) . "\n )\n "); $db->query(); $item_id = $db->insertid(); JFactory::getDbo()->setQuery("Select type_id From #__content_types Where type_alias = 'com_content.article'"); $tag_typeid = JFactory::getDbo()->loadResult(); $db->setQuery("Insert Into #__ucm_content (\n core_catid,\n core_content_item_id,\n core_type_alias, \n core_title, \n core_alias, \n core_body, \n core_created_time,\n core_modified_time,\n core_created_user_id,\n core_created_by_alias,\n core_modified_user_id,\n core_state,\n core_access,\n core_language,\n core_type_id,\n core_featured,\n core_publish_up,\n core_publish_down\n ) Values (\n " . intval($this->formrow->tags_content_default_category) . ",\n '" . $item_id . "',\n 'com_content.article',\n " . $db->quote($title) . ",\n " . $db->quote(bf_stringURLUnicodeSlug($title)) . ",\n " . $db->quote($tags_body) . ",\n '" . $tag_date->toSql() . "',\n '" . $tag_date->toSql() . "',\n " . $db->quote(JFactory::getUser()->get('id', 0)) . ",\n " . $db->quote(JFactory::getUser()->get('username', 'Anonymous')) . ",\n " . $db->quote(JFactory::getUser()->get('id', 0)) . ",\n " . intval($this->formrow->tags_content_default_state) . ",\n " . intval($this->formrow->tags_content_default_access) . ",\n " . $db->quote($this->formrow->tags_content_default_language) . ",\n " . intval($tag_typeid) . ",\n " . intval($this->formrow->tags_content_default_featured) . ",\n '" . ($this->formrow->tags_content_default_publishup == '' || $this->formrow->tags_content_default_publishup == '0000-00-00 00:00:00' ? $tag_date->toSql() : $this->formrow->tags_content_default_publishup) . "',\n '" . ($this->formrow->tags_content_default_publishdown == '' || $this->formrow->tags_content_default_publishdown == '0000-00-00 00:00:00' ? '0000-00-00 00:00:00' : $this->formrow->tags_content_default_publishdown) . "'\n )"); $db->query(); $ucm_id = $db->insertid(); JFactory::getDbo()->setQuery("Select lang_id From #__languages Where lang_code=" . $db->quote($this->formrow->tags_content_default_language)); $lang_id = JFactory::getDbo()->loadColumn(); JFactory::getDbo()->setQuery("Insert Into #__ucm_base (\n ucm_id, \n ucm_item_id, \n ucm_type_id, \n ucm_language_id\n ) Values (\n " . $ucm_id . ",\n " . $item_id . ",\n " . intval($tag_typeid) . ",\n " . ($lang_id ? intval($lang_id) : 0) . "\n )"); JFactory::getDbo()->query(); $tags_content = explode(',', $this->formrow->tags_content); JArrayHelper::toInteger($tags_content); foreach ($tags_content as $tags_content_entry) { JFactory::getDbo()->setQuery("Insert Into #__contentitem_tag_map (\n type_alias, \n core_content_id, \n content_item_id, \n tag_id, \n tag_date, \n type_id\n ) Values (\n 'com_content.article',\n " . $ucm_id . ",\n " . $item_id . ",\n " . $tags_content_entry . ",\n '" . $tag_date->toSql() . "',\n " . $tag_typeid . "\n )"); try { JFactory::getDbo()->query(); } catch (Exception $e) { } } } // joomla 3 tagging end } require_once JPATH_SITE . '/administrator/components/com_breezingforms/libraries/crosstec/classes/BFIntegrate.php'; $integrate = new BFIntegrate($this->form); if (count($this->savedata)) { foreach ($this->savedata as $data) { $integrate->field($data); } } $integrate->commit(); if (isset($record_return)) { return $record_return; } }
/** * Gets the currencies * @return array List of products */ function getData() { $mainframe = JFactory::getApplication(); $option = 'com_contentbuilder'; // Lets load the data if it doesn't already exist if (empty($this->_data)) { $query = $this->_buildQuery(); $this->_data = $this->_getList($query, 0, 1); if (!count($this->_data)) { JError::raiseError(404, JText::_('COM_CONTENTBUILDER_FORM_NOT_FOUND')); } foreach ($this->_data as $data) { if (!$this->frontend && $data->display_in == 0) { JError::raiseError(404, JText::_('COM_CONTENTBUILDER_FORM_NOT_FOUND')); } else { if ($this->frontend && $data->display_in == 1) { JError::raiseError(404, JText::_('COM_CONTENTBUILDER_FORM_NOT_FOUND')); } } // filter by category if requested by menu item if (JRequest::getVar('cb_category_menu_filter', null) !== null && JRequest::getVar('cb_category_menu_filter', 0) == 1 && JRequest::getVar('cb_category_id', null) !== null) { if (JRequest::getInt('cb_category_id', -1) > -2) { $this->setState('article_category_filter', JRequest::getInt('cb_category_id', -1)); } else { $this->setState('article_category_filter', $data->default_category); } } $data->show_page_heading = $this->_show_page_heading; $data->page_class = $this->_page_class; $data->form_id = $this->_id; if ($data->type && $data->reference_id) { $data->form = contentbuilder::getForm($data->type, $data->reference_id); if (!$data->form->exists) { JError::raiseError(404, JText::_('COM_CONTENTBUILDER_FORM_NOT_FOUND')); } $data->page_title = ''; if (JRequest::getInt('cb_prefix_in_title', 1)) { if (!$this->_menu_item) { $data->page_title = $data->use_view_name_as_title ? $data->name : $data->form->getPageTitle(); } else { $data->page_title = $data->use_view_name_as_title ? $data->name : JFactory::getDocument()->getTitle(); } } // enables the record randomizer $now = JFactory::getDate(); $data->rand_update = intval($data->rand_update); if ($data->rand_update < 1) { $data->rand_update = 86400; } jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '3.0', '>=')) { $___now = $now->toSql(); } else { $___now = $now->toMySQL(); } if ($data->initial_sort_order == 'Rand' && ($data->rand_date_update == '0000-00-00 00:00:00' || $now->toUnix() - strtotime($data->rand_date_update) >= $data->rand_update)) { $this->_db->setQuery("UPDATE #__contentbuilder_records SET rand_date = '" . $___now . "' + interval rand()*10000 day Where `type` = " . $this->_db->Quote($data->type) . " And reference_id = " . $this->_db->Quote($data->reference_id)); $this->_db->query(); $this->_db->setQuery("Update #__contentbuilder_forms Set rand_date_update = '" . $___now . "'"); $this->_db->query(); } $data->labels = $data->form->getElementLabels(); if (JRequest::getBool('filter_reset', false)) { JFactory::getSession()->clear('com_contentbuilder.filter_signal.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.filter.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.calendar_filter_from.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.calendar_filter_to.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.calendar_formats.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.filter_keywords.' . $this->_id); JFactory::getSession()->clear('com_contentbuilder.filter_article_categories.' . $this->_id); } else { if ((JFactory::getSession()->get('com_contentbuilder.filter_signal.' . $this->_id, false) || JRequest::getBool('contentbuilder_filter_signal', false)) && $data->allow_external_filter) { $orders = array(); $filters = array(); $filters_from = array(); $filters_to = array(); $calendar_formats = array(); // renew on request if (JRequest::getBool('contentbuilder_filter_signal', false)) { if (JRequest::getVar('cbListFilterKeywords', '')) { $this->setState('formsd_filter', JRequest::getVar('cbListFilterKeywords', '')); } if (JRequest::getVar('cbListFilterArticleCategories', -1) > -1) { $this->setState('article_category_filter', JRequest::getInt('cbListFilterArticleCategories', -1)); } $filters = JRequest::getVar('cb_filter', array(), 'POST', 'array'); $filters_from = JRequest::getVar('cbListFilterCalendarFrom', array(), 'POST', 'array'); $filters_to = JRequest::getVar('cbListFilterCalendarTo', array(), 'POST', 'array'); $calendar_formats = JRequest::getVar('cb_filter_calendar_format', array(), 'POST', 'array'); JFactory::getSession()->set('com_contentbuilder.filter_signal.' . $this->_id, true); JFactory::getSession()->set('com_contentbuilder.filter.' . $this->_id, $filters); JFactory::getSession()->set('com_contentbuilder.filter_keywords.' . $this->_id, JRequest::getVar('cbListFilterKeywords', '')); JFactory::getSession()->set('com_contentbuilder.filter_article_categories.' . $this->_id, JRequest::getInt('cbListFilterArticleCategories', -1)); JFactory::getSession()->set('com_contentbuilder.calendar_filter_from.' . $this->_id, $filters_from); JFactory::getSession()->set('com_contentbuilder.calendar_filter_to.' . $this->_id, $filters_to); JFactory::getSession()->set('com_contentbuilder.calendar_formats.' . $this->_id, $calendar_formats); // else pick from session } else { if (JFactory::getSession()->get('com_contentbuilder.filter_signal.' . $this->_id, false)) { $filters = JFactory::getSession()->get('com_contentbuilder.filter.' . $this->_id, array()); $filters_from = JFactory::getSession()->get('com_contentbuilder.calendar_filter_from.' . $this->_id, array()); $filters_to = JFactory::getSession()->get('com_contentbuilder.calendar_filter_to.' . $this->_id, array()); $calendar_formats = JFactory::getSession()->get('com_contentbuilder.calendar_formats.' . $this->_id, array()); $filter_keywords = JFactory::getSession()->get('com_contentbuilder.filter_keywords.' . $this->_id, ''); $filter_cats = JFactory::getSession()->get('com_contentbuilder.filter_article_categories.' . $this->_id, -1); if ($filter_keywords != '') { $this->setState('formsd_filter', $filter_keywords); } if ($filter_cats != -1) { $this->setState('article_category_filter', $filter_cats); } } } foreach ($calendar_formats as $col => $calendar_format) { if (isset($filters[$col])) { $filter_exploded = explode('/', $filters[$col]); if (isset($filter_exploded[2])) { $to_exploded = explode('to', $filter_exploded[2]); switch (count($to_exploded)) { case 2: if ($to_exploded[0] != '') { $filters[$col] = '@range/date/' . contentbuilder_convert_date(trim($to_exploded[0]), $calendar_format) . ' to ' . contentbuilder_convert_date(trim($to_exploded[1]), $calendar_format); } else { $filters[$col] = '@range/date/to ' . contentbuilder_convert_date(trim($to_exploded[1]), $calendar_format); } break; case 1: $filters[$col] = '@range/date/' . contentbuilder_convert_date(trim($to_exploded[0]), $calendar_format); break; } if (isset($to_exploded[0]) && isset($to_exploded[1]) && trim($to_exploded[0]) == '' && trim($to_exploded[1]) == '') { $filters[$col] = ''; } if (isset($to_exploded[0]) && !isset($to_exploded[1]) && trim($to_exploded[0]) == '') { $filters[$col] = ''; } } } } $new_filters = array(); $i = 1; foreach ($filters as $filter_key => $filter) { if ($filter != '') { $orders[$filter_key] = $i; $new_filters[$filter_key] = explode('|', $filter); } $i++; } $this->_menu_filter = $new_filters; $this->_menu_filter_order = $orders; } } $ordered_extra_title = ''; foreach ($this->_menu_filter_order as $order_key => $order) { if (isset($this->_menu_filter[$order_key])) { // range test $is_range = strstr(strtolower(implode(',', $this->_menu_filter[$order_key])), '@range') !== false; $is_match = strstr(strtolower(implode(',', $this->_menu_filter[$order_key])), '@match') !== false; if ($is_range) { $ex = explode('/', implode(', ', $this->_menu_filter[$order_key])); if (count($ex) == 3) { $ex2 = explode('to', trim($ex[2])); $out = ''; $val = $ex2[0]; $val2 = ''; if (isset($ex2[1])) { $val2 = $ex2[1]; } if (strtolower(trim($ex[1])) == 'date') { $val = JHTML::_('date', $ex2[0], JText::_('DATE_FORMAT_LC3')); if (isset($ex2[1])) { $val2 = JHTML::_('date', $ex2[1], JText::_('DATE_FORMAT_LC3')); } } if (count($ex2) == 2) { $out = (trim($ex2[0]) ? JText::_('COM_CONTENTBUILDER_FROM') . ' ' . trim($val) : '') . ' ' . JText::_('COM_CONTENTBUILDER_TO') . ' ' . trim($val2); } else { if (count($ex2) > 0) { $out = JText::_('COM_CONTENTBUILDER_FROM2') . ' ' . trim($val); } } if ($out) { $this->_menu_filter[$order_key] = $ex; $ordered_extra_title .= ' » ' . htmlentities($data->labels[$order_key], ENT_QUOTES, 'UTF-8') . ': ' . htmlentities($out, ENT_QUOTES, 'UTF-8'); } } } else { if ($is_match) { $ex = explode('/', implode(', ', $this->_menu_filter[$order_key])); if (count($ex) == 2) { $ex2 = explode(';', trim($ex[1])); $out = ''; $size = count($ex2); $i = 0; foreach ($ex2 as $val) { if ($i + 1 < $size) { $out .= trim($val) . ' ' . JText::_('COM_CONTENTBUILDER_AND') . ' '; } else { $out .= trim($val); } $i++; } if ($out) { $this->_menu_filter[$order_key] = $ex; $ordered_extra_title .= ' » ' . htmlentities($data->labels[$order_key], ENT_QUOTES, 'UTF-8') . ': ' . htmlentities($out, ENT_QUOTES, 'UTF-8'); } } } else { $ordered_extra_title .= ' » ' . htmlentities($data->labels[$order_key], ENT_QUOTES, 'UTF-8') . ': ' . htmlentities(implode(', ', $this->_menu_filter[$order_key]), ENT_QUOTES, 'UTF-8'); } } } } $data->slug = $data->page_title; $data->slug2 = ''; // "buddy quaid hack", should be an option in future versions jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '1.6', '>=')) { if ($this->_show_page_heading && $this->_page_title != '' && $this->_page_heading != '' && $this->_page_title == $this->_page_heading) { $data->page_title = $this->_page_title; } else { if (JRequest::getInt('cb_filter_in_title', 1)) { $data->slug2 = str_replace(' » ', '', $ordered_extra_title); $data->page_title .= $ordered_extra_title; } } } else { if ($this->_show_page_heading && $this->_page_title != '' && !JRequest::getInt('cb_prefix_in_title', 1)) { $data->page_title = $this->_page_title; } else { if (JRequest::getInt('cb_filter_in_title', 1)) { $data->slug2 = str_replace(' » ', '', $ordered_extra_title); $data->page_title .= $ordered_extra_title; } } } if ($this->frontend) { $document = JFactory::getDocument(); $document->setTitle(html_entity_decode($data->page_title, ENT_QUOTES, 'UTF-8')); } $ids = array(); foreach ($data->labels as $reference_id => $label) { $ids[] = $this->_db->Quote($reference_id); } $searchable_elements = contentbuilder::getListSearchableElements($this->_id); $data->display_filter = count($searchable_elements) && $data->show_filter; $data->linkable_elements = contentbuilder::getListLinkableElements($this->_id); $data->labels = array(); $order_types = array(); if (count($ids)) { $this->_db->setQuery("Select Distinct `id`,`label`, reference_id, `order_type` From #__contentbuilder_elements Where form_id = " . intval($this->_id) . " And reference_id In (" . implode(',', $ids) . ") And published = 1 And list_include = 1 Order By ordering"); $rows = $this->_db->loadAssocList(); $ids = array(); foreach ($rows as $row) { // cleaned up, in desired order $data->labels[$row['reference_id']] = $row['label']; $ids[] = $row['reference_id']; $order_types['col' . $row['reference_id']] = $row['order_type']; } } $act_as_registration = array(); if ($data->act_as_registration && $data->registration_username_field && $data->registration_name_field && $data->registration_email_field && $data->registration_email_repeat_field && $data->registration_password_field && $data->registration_password_repeat_field) { $act_as_registration[$data->registration_username_field] = 'registration_username_field'; $act_as_registration[$data->registration_name_field] = 'registration_name_field'; $act_as_registration[$data->registration_email_field] = 'registration_email_field'; } $data->items = $data->form->getListRecords($ids, $this->getState('formsd_filter'), $searchable_elements, $this->getState('limitstart'), $this->getState('limit'), $this->getState('formsd_filter_order'), $order_types, $this->getState('formsd_filter_order_Dir') ? $this->getState('formsd_filter_order_Dir') : $data->initial_order_dir, 0, $data->published_only, $this->frontend ? $data->own_only_fe ? JFactory::getUser()->get('id', 0) : -1 : ($data->own_only ? JFactory::getUser()->get('id', 0) : -1), $this->getState('formsd_filter_state'), $this->getState('formsd_filter_publish'), $data->initial_sort_order == -1 ? -1 : 'col' . $data->initial_sort_order, $data->initial_sort_order2 == -1 ? -1 : 'col' . $data->initial_sort_order2, $data->initial_sort_order3 == -1 ? -1 : 'col' . $data->initial_sort_order3, $this->_menu_filter, $this->frontend ? $data->show_all_languages_fe : true, $this->getState('formsd_filter_language'), $act_as_registration, $data, $this->getState('article_category_filter')); if ($data->items === null) { $mainframe->setUserState($option . 'formsd_filter_order', ''); JError::raiseError(500, JText::_('Stale list setup detected. Please reload view.')); } $data->items = contentbuilder::applyItemWrappers($this->_id, $data->items, $data); $this->_total = $data->form->getListRecordsTotal($ids, $this->getState('formsd_filter'), $searchable_elements); $data->visible_cols = $ids; $data->states = array(); $data->state_colors = array(); $data->state_titles = array(); $data->published_items = array(); $data->states = contentbuilder::getListStates($this->_id); if ($data->list_state) { $data->state_colors = contentbuilder::getStateColors($data->items, $this->_id); $data->state_titles = contentbuilder::getStateTitles($data->items, $this->_id); } if ($data->list_publish) { $data->published_items = contentbuilder::getRecordsPublishInfo($data->items, $data->type, $data->reference_id); } $data->lang_codes = array(); if ($data->list_language) { $data->lang_codes = contentbuilder::getRecordsLanguage($data->items, $data->type, $data->reference_id); } $data->languages = contentbuilder::getLanguageCodes(); // Search for the {readmore} tag and split the text up accordingly. $pattern = '#<hr\\s+id=("|\')system-readmore("|\')\\s*\\/*>#i'; $tagPos = preg_match($pattern, $data->intro_text); $fulltext = ''; if ($tagPos == 0) { $introtext = $data->intro_text; } else { list($introtext, $fulltext) = preg_split($pattern, $data->intro_text, 2); } $data->intro_text = $introtext . ($fulltext ? '<br/><br/>' . $fulltext : ''); } return $data; } } return null; }
function change_list_language() { $this->_db->setQuery('Select reference_id,`type` From #__contentbuilder_forms Where id = ' . intval($this->_id)); $typeref = $this->_db->loadAssoc(); if (!is_array($typeref)) { return; } $reference_id = $typeref['reference_id']; $type = $typeref['type']; $items = JRequest::getVar('cid', array(), 'request', 'array'); $sef = ''; jimport('joomla.version'); $version = new JVersion(); if (version_compare($version->getShortVersion(), '1.6', '>=')) { $this->_db->setQuery("Select sef From #__languages Where published = 1 And lang_code = " . $this->_db->Quote(JRequest::getVar('list_language', '*'))); $sef = $this->_db->loadResult(); } else { $codes = contentbuilder::getLanguageCodes(); foreach ($codes as $code) { if ($code == JRequest::getVar('list_language', '*')) { $sef = explode('-', $code); if (count($sef)) { $sef = strtolower($sef[0]); } break; } } } foreach ($items as $item) { $this->_db->setQuery("Select id From #__contentbuilder_records Where `type` = " . $this->_db->Quote($type) . " And `reference_id` = " . $this->_db->Quote($reference_id) . " And record_id = " . $this->_db->Quote($item)); $res = $this->_db->loadResult(); if (!$res) { $this->_db->setQuery("Insert Into #__contentbuilder_records (`type`,lang_code, sef, record_id, reference_id) Values (" . $this->_db->Quote($type) . "," . $this->_db->Quote(JRequest::getVar('list_language', '*')) . ", " . $this->_db->Quote($sef) . ", " . $this->_db->Quote($item) . ", " . $this->_db->Quote($reference_id) . ")"); $this->_db->query(); } else { $this->_db->setQuery("Update #__contentbuilder_records Set sef = " . $this->_db->Quote($sef) . ", lang_code = " . $this->_db->Quote(JRequest::getVar('list_language', '*')) . " Where `type` = " . $this->_db->Quote($type) . " And `reference_id` = " . $this->_db->Quote($reference_id) . " And record_id = " . $this->_db->Quote($item)); $this->_db->query(); } if (version_compare($version->getShortVersion(), '1.6', '>=')) { $this->_db->setQuery("Update #__contentbuilder_articles As articles, #__content As content Set content.language = " . $this->_db->Quote(JRequest::getVar('list_language', '*')) . " Where ( content.state = 1 Or content.state = 0 ) And content.id = articles.article_id And articles.`type` = " . intval($type) . " And articles.reference_id = " . $this->_db->Quote($reference_id) . " And articles.record_id = " . $this->_db->Quote($item)); $this->_db->query(); } else { $this->_db->setQuery("Select attribs From #__contentbuilder_articles As articles, #__content As content Where ( content.state = 1 Or content.state = 0 ) And content.id = articles.article_id And articles.form_id = " . intval($this->_id) . " And articles.record_id = " . $this->_db->Quote($item)); $attribs = $this->_db->loadResult(); if ($attribs) { $params = new JParameter($attribs); $params->set('language', JRequest::getVar('list_language', '*')); $this->_db->setQuery("Update #__contentbuilder_articles As articles, #__content As content Set attribs = " . $this->_db->Quote($params->toString()) . " Where ( content.state = 1 Or content.state = 0 ) And content.id = articles.article_id And articles.`type` = " . intval($type) . " And articles.reference_id = " . $this->_db->Quote($reference_id) . " And articles.record_id = " . $this->_db->Quote($item)); $this->_db->query(); } } } $cache = JFactory::getCache('com_content'); $cache->clean(); $cache = JFactory::getCache('com_contentbuilder'); $cache->clean(); }
function getForm() { $query = ' Select * From #__contentbuilder_forms ' . ' Where id = ' . $this->_id; $this->_db->setQuery($query); $data = $this->_db->loadObject(); if (!$data) { $data = new stdClass(); $data->id = 0; $data->type = null; $data->reference_id = null; $data->name = null; $data->tag = null; $data->details_template = null; $data->details_prepare = null; $data->intro_text = null; $data->title = null; $data->created = null; $data->modified = null; $data->metadata = true; $data->export_xls = null; $data->print_button = true; $data->created_by = null; $data->modified_by = null; $data->published = null; $data->display_in = null; $data->published_only = null; $data->show_id_column = true; $data->select_column = false; $data->edit_button = false; $data->list_states = false; $data->config = null; $data->editable_prepare = null; $data->editable_template = null; $data->use_view_name_as_title = false; $data->list_states = $this->_default_list_states; $data->own_only = false; $data->own_only_fe = false; $data->list_state = false; $data->list_publish = false; $data->initial_sort_order = -1; $data->initial_sort_order2 = -1; $data->initial_sort_order3 = -1; $data->initial_order_dir = 'desc'; $data->default_section = 0; $data->default_category = 0; $data->create_articles = 1; $data->title_field = 0; $data->delete_articles = 1; $data->edit_by_type = 0; $data->email_notifications = 1; $data->email_update_notifications = 0; $data->limited_article_options = 1; $data->limited_article_options_fe = 1; $data->upload_directory = JPATH_SITE . DS . 'media' . DS . 'contentbuilder' . DS . 'upload'; $data->protect_upload_directory = 1; $data->limit_add = 0; $data->limit_edit = 0; $data->verification_required_view = 0; $data->verification_days_view = 0; $data->verification_required_new = 0; $data->verification_days_new = 0; $data->verification_required_edit = 0; $data->verification_days_edit = 0; $data->verification_url_new = ''; $data->verification_url_view = ''; $data->verification_url_edit = ''; $data->default_lang_code = '*'; $data->default_lang_code_ignore = 0; $data->show_all_languages_fe = 1; $data->list_language = 0; $data->default_publish_up_days = 0; $data->default_publish_down_days = 0; $data->default_access = 0; $data->default_featured = 0; $data->list_article = 0; $data->list_author = 0; $data->list_rating = 0; $data->email_template = ''; $data->email_subject = ''; $data->email_alternative_from = ''; $data->email_alternative_fromname = ''; $data->email_recipients = ''; $data->email_recipients_attach_uploads = ''; $data->email_html = ''; $data->email_admin_template = ''; $data->email_admin_subject = ''; $data->email_admin_alternative_from = ''; $data->email_admin_alternative_fromname = ''; $data->email_admin_recipients = ''; $data->email_admin_recipients_attach_uploads = ''; $data->email_admin_html = ''; $data->act_as_registration = 0; $data->registration_username_field = ''; $data->registration_password_field = ''; $data->registration_password_repeat_field = ''; $data->registration_email_field = ''; $data->registration_email_repeat_field = ''; $data->registration_name_field = ''; $data->auto_publish = 0; $data->force_login = 0; $data->force_url = ''; $data->registration_bypass_plugin = ''; $data->registration_bypass_plugin_params = ''; $data->registration_bypass_verification_name = ''; $data->registration_bypass_verify_view = ''; $data->theme_plugin = ''; $data->rating_slots = 5; $data->rand_date_update = '0000-00-00 00:00:00'; $data->rand_update = '86400'; $data->article_record_impact_publish = 0; $data->article_record_impact_language = 0; $data->allow_external_filter = 0; $data->show_filter = 1; $data->show_records_per_page = 1; $data->initial_list_limit = 20; $data->save_button_title = ''; $data->apply_button_title = ''; $data->filter_exact_match = 0; $data->ordering = 0; } $data->forms = array(); $data->types = contentbuilder::getTypes(); if ($data->type) { $data->forms = contentbuilder::getForms($data->type); } $data->form = null; if ($data->type && $data->reference_id) { $data->form = contentbuilder::getForm($data->type, $data->reference_id); if (!$data->form->exists) { JFactory::getApplication()->redirect('index.php?option=com_contentbuilder&controller=forms&limitstart=' . $this->getState('limitstart', 0), JText::_('COM_CONTENTBUILDER_FORM_NOT_FOUND'), 'error'); } if (isset($data->form->properties) && isset($data->form->properties->name)) { $data->type_name = $data->form->properties->name; } else { $data->type_name = ''; } $data->title = $data->form->getPageTitle(); if (is_object($data->form)) { contentbuilder::synchElements($data->id, $data->form); $elements_table = $this->getTable('elements'); $elements_table->reorder('form_id=' . $data->id); } } $db = JFactory::getDBO(); $db->setQuery("Select * From #__contentbuilder_list_states Where form_id = " . $this->_id . " Order By id"); $list_states = $db->loadAssocList(); if (count($list_states)) { $data->list_states = $list_states; } else { $data->list_states = $this->_default_list_states; } $data->language_codes = contentbuilder::getLanguageCodes(); $version = new JVersion(); if (version_compare($version->getShortVersion(), '1.6', '>=')) { $data->sectioncategories = $this->getOptions(); $data->accesslevels = array(); } else { $db->setQuery("Select * From #__groups"); $data->accesslevels = $db->loadAssocList(); // Joomla 1.5 begin // get sections and categories $db->setQuery("Select `title`, `id` From #__sections Where published = 1 Order By ordering"); $sections = $db->loadAssocList(); $i = 0; foreach ($sections as $section) { if (!isset($sections['categories'])) { $sections[$i]['categories'] = array(); } $db->setQuery("Select `title`, `id` From #__categories Where section = {$section['id']} And published = 1 Order By ordering"); $cats = $db->loadAssocList(); foreach ($cats as $cat) { if ($cat) { $sections[$i]['categories'][] = $cat; } } if (!count($cats)) { unset($sections[$i]); } $i++; } $sections = array_merge(array(), $sections); $data->sectioncategories = $sections; // Joomla 1.5 end } $this->_form_data = $data; return $data; }