function maketableChronoContact($id, $option) { global $mainframe; $database =& JFactory::getDBO(); $query = "SELECT * FROM `#__components` WHERE `option` = 'com_chronocontact' AND parent='0' AND admin_menu_link='option=com_chronocontact'"; $database->setQuery($query); $result = $database->loadObject(); //$configs = JComponentHelper::getParams('com_chronocontact'); $configs = new JParameter($result->params); $table = JRequest::getVar('table'); $result = $database->getTableList(); if ($table) { $tables = array(); $tables[] = $table; $result = $database->getTableFields($tables, false); $table_fields = $result[$table]; $row = new StdClass(); $row->id = 0; HTML_ChronoContact::maketableChronoContact($row, $option, $table, $table_fields); } else { $row =& JTable::getInstance('chronocontact', 'Table'); $row->load($id); $html_message = ""; $multipagefields = ''; $multipagefieldsnames = array(); //check if form is a mother form and load childs fields $formparams = new JParameter($row->paramsall); $formplugins = explode(",", $formparams->get('plugins')); if (in_array('cf_multi_page', $formplugins)) { $query = "SELECT * FROM #__chrono_contact_plugins WHERE `form_id` = '" . $id . "' AND name='cf_multi_page'"; $database->setQuery($query); $multipageconfig = $database->loadObject(); $multipageparams = new JParameter($multipageconfig->params); $multipageforms = array(); if (trim($multipageparams->get('formsnames'))) { $multipageforms = explode(',', $multipageparams->get('formsnames')); $multipagefieldsnames = array(); $multipagefields = array(); } foreach ($multipageforms as $multipageform) { $query = "SELECT * FROM #__chrono_contact WHERE `name` = '" . $multipageform . "'"; $database->setQuery($query); $multipageformdata = $database->loadObject(); $multipagefields[] = $multipageformdata->fieldsnames; } $multipagefieldsnames = explode(",", implode(",", $multipagefields)); } $defaults = array('cf_id' => (object) array('Type' => 'INT(11)', 'Key' => 'PRI', 'Extra' => 'auto_increment'), 'uid' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'recordtime' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'ipaddress' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => ''), 'cf_user_id' => (object) array('Type' => 'VARCHAR(255)', 'Key' => '', 'Extra' => '')); $names = array(); if (trim($row->fieldsnames)) { $names = explode(",", $row->fieldsnames); } $fieldstypes = explode(",", $row->fieldstypes); foreach ($names as $name) { $defaults[$name] = (object) array('Type' => '', 'Key' => '', 'Extra' => ''); } if (count($multipagefieldsnames)) { foreach ($multipagefieldsnames as $multipagefieldsname) { $defaults[$multipagefieldsname] = (object) array('Type' => '', 'Key' => '', 'Extra' => ''); } } HTML_ChronoContact::maketableChronoContact($row, $option, '', $defaults); } }