function getScriptPackage() { global $ff_config; $pkg = JRequest::getVar( 'pkg', null); if (is_null($pkg)) $pkg = $pkg = $ff_config->scriptpkg; else if ($pkg == '- blank -') $pkg = ''; else { $ok = _ff_selectValue( "select count(*) from `#__facileforms_scripts` ". "where package = '$pkg'" ); if (!$ok) $pkg = $ff_config->scriptpkg; } // if if ($pkg != $ff_config->scriptpkg) { $ff_config->scriptpkg = $pkg; $ff_config->store(); } // if return $pkg; } // getScriptPackage
function getFormPackage() { global $ff_config; $pkg = JRequest::getVar('pkg', null); if (is_null($pkg)) { $pkg = $pkg = $ff_config->formpkg; } else { if ($pkg == '- blank -') { $pkg = ''; } else { $ok = _ff_selectValue("select count(*) from `#__facileforms_forms` " . "where package = " . JFactory::getDBO()->Quote($pkg) . ""); if (!$ok) { $pkg = $ff_config->formpkg; } } } // if if ($pkg != $ff_config->formpkg) { $ff_config->formpkg = $pkg; $ff_config->store(); } // if return $pkg; }
function exportScript($name, $table, $cond, $id, $code, $ind, &$xml) { if ($cond > 0) { $nl = "\n"; $xml .= indent($ind).'<'.$name.'cond>'.$cond.'</'.$name.'cond>'.nl(); if ($cond == 1) { if($id){ $xml .= indent($ind).'<'.$name.'id>'.$id.'</'.$name.'id>'.nl(); $funcname = _ff_selectValue('select name from '.$table.' where id='.$id); if ($funcname && $funcname != '') $xml .= indent($ind).'<'.$name.'name>'.$funcname.'</'.$name.'name>'.nl(); } } else { $code = expstring($code); if ($code != '') $xml .= indent($ind).'<'.$name.'code>'.$code.'</'.$name.'code>'.nl(); } // if } // if } // exportScript
function getScriptPiece($pid, &$row, $table, $tag, &$xref) { $cond = $this->getInt($pid, $tag.'cond'); $id = NULL; $code = NULL; switch ($cond) { case 1: $idx = $this->getInt($pid, $tag.'id'); // first priority: xref if (count($xref)) foreach ($xref as $x) if ($x[0] == $idx) { $id = $x[1]; break; } // if if ($id == NULL) { $name = $this->getText($pid, $tag.'name'); if ($name != '') { // search published $id = _ff_selectValue( "select id from ".$table." ". "where name='".$name."' and published=1 ". "order by type, title, id" ); if ($this->hasErrors()) return; } // if if ($id == NULL) { if ($name != '') { // search also unpublished $id = _ff_selectValue( "select id from ".$table." ". "where name='".$name."' ". "order by type, title, id" ); if ($this->hasErrors()) return; } // if if ($id == NULL) { // finally change to type 2 and emit warning $cond = 2; $code = '// '.$tag.' '.$idx.'/'.$name.' '.BFText::_('COM_BREEZINGFORMS_INSTALLER_TAGNOTFOUND'); $nm = $this->getText($pid, 'name'); $this->warnings[] = $nm.': '.$tag.' '.$idx.'/'.$name.' '.BFText::_('COM_BREEZINGFORMS_INSTALLER_TAGNOTFOUND'); } // if } // if } // if break; case 2: $code = $this->getText($pid, $tag.'code'); break; default: } // if eval ( '$row->'.$tag.'cond = $cond; '. '$row->'.$tag.'id = $id; '. '$row->'.$tag.'code = $code;' ); } // getScriptPiece
function step3($option) { global $ff_admpath,$mainframe, $ff_config, $errors, $errmode; $instmode = intval(JRequest::getVar( 'ff_installmode', 1)); $instsamp = intval(JRequest::getVar( 'ff_instsamples', 0)); $instqmsamp = intval(JRequest::getVar( 'ff_instqmsamples', 0)); $instold = intval(JRequest::getVar( 'ff_instoldlib', 0)); // list of sample forms before 1.4 $sampleforms = "'SampleContactForm',". "'SampleCountrySelect',". "'SamplePaneNavigation',". "'SamplePizzaShop',". "'SampleEmbeddedCode',". "'SamplePieceApp',". "'RnrContestRegist',". "'RnrContestList'"; // list of sample menus before 1.4 $samplemenus = "'Facile Forms Sample Menu'"; // list of sample scripts before 1.4 $stdscripts = "'ff_anychecked',". "'ff_checked',". "'ff_countQuerySelections',". "'ff_getfocus',". "'ff_getQuerySelections',". "'ff_getQuerySelectedRows',". "'ff_integer_or_empty',". "'ff_nextpage',". "'ff_page1',". "'ff_page2',". "'ff_page3',". "'ff_previouspage',". "'ff_showaction',". "'ff_showelementinit',". "'ff_showforminit',". "'ff_showsubmitted',". "'ff_showvalidation',". "'ff_submittedhome',". "'ff_unchecked',". "'ff_validate_form',". "'ff_validate_nextpage',". "'ff_validate_page',". "'ff_validate_submit',". "'ff_validemail',". "'ff_valuenotempty'"; // list of sample pieces before 1.4 $stdpieces = "'ff_InitUtilities',". "'ff_SubmitUtilities',". "'ff_redirectParent',". "'ff_getPageByName',". "'ff_setSelected',". "'ff_setChecked',". "'ff_setValue'"; // database update $sql_path = $ff_admpath.'/sql'; $errors = array(); $errmode = 'log'; switch ($instmode) { case 0: // New install: create tables facileFormsInstaller::exec_sql($sql_path.'/create.sql'); $ff_config = new facileFormsConfig(); break; case 1: // Reinstall: no db change break; case 2: // Upgrade from 1.0.x facileFormsInstaller::exec_sql($sql_path.'/upgrade_1.1.sql'); case 3: // Upgrade from 1.1.x facileFormsInstaller::exec_sql($sql_path.'/upgrade_1.2.sql'); case 4: // Upgrade from 1.2.x facileFormsInstaller::exec_sql($sql_path.'/upgrade_1.3.sql'); case 5: // Upgrade from 1.3.x facileFormsInstaller::exec_sql($sql_path.'/upgrade_1.4.sql'); default: break; } // switch // get xref to old samples $oldscripts = NULL; $oldpieces = NULL; if ($instmode>=2 && $instmode<=5) { // upgrades until 1.4 // get old xref tables $oldscripts = _ff_select("select id, name from #__facileforms_scripts where name in ($stdscripts)"); $oldpieces = _ff_select("select id, name from #__facileforms_pieces where name in ($stdpieces)"); // drop old std scripts & pieces _ff_query("delete from #__facileforms_scripts where name in ($stdscripts)"); _ff_query("delete from #__facileforms_pieces where name in ($stdpieces)"); } // if // call installer to load new std libraries $xmlfile = $ff_admpath.'/packages/stdlib.english.xml'; $inst = new ff_importPackage(); $inst->import($xmlfile); if (intval($instold) == 1) { // call installer to load backward compatibility library $xmlfile = $ff_admpath.'/packages/oldlib.english.xml'; $inst->import($xmlfile); } // if if (intval($instsamp) == 1) { if ($instmode>=2 && $instmode<=5) { // upgrades until 1.4 // drop old sample forms $rows = _ff_select("select id from #__facileforms_forms where name in ($sampleforms)"); if (count($rows)) foreach ($rows as $row) { _ff_query("delete from #__facileforms_elements where form = $row->id"); _ff_query("delete from #__facileforms_forms where id = $row->id"); } // if // drop old sample menus $rows = _ff_select("select id from #__facileforms_compmenus where title in ($samplemenus)"); if (count($rows)) foreach ($rows as $row) _ff_query("delete from #__facileforms_compmenus where id=$row->id or parent=$row->id"); } // if // call installer to load new samples $xmlfile = $ff_admpath.'/packages/samples.english.xml'; $inst->import($xmlfile); } // if if (intval($instqmsamp) == 1) { $xmlfile = $ff_admpath.'/packages/quickmode.samples.xml'; if(file_exists($xmlfile)){ $inst->import($xmlfile); } } // relink items refering to old scripts and pieces relinkScripts($oldscripts); relinkPieces($oldpieces); // adjust component menu jimport('joomla.version'); $version = new JVersion(); if(version_compare($version->getShortVersion(), '1.6', '>=')){ updateComponentMenus(); _ff_query( "update #__menu set `alias` = 'BreezingForms' ". "where `link`='index.php?option=com_breezingforms'" ); _ff_query( "update #__menu set `alias` = 'Manage Records', img='components/com_breezingforms/images/js/ThemeOffice/checkin.png' ". "where `link`='index.php?option=com_breezingforms&act=managerecs'" ); _ff_query( "update #__menu set `alias` = 'Manage Backend Menus', img='components/com_breezingforms/images/js/ThemeOffice/mainmenu.png' ". "where `link`='index.php?option=com_breezingforms&act=managemenus'" ); _ff_query( "update #__menu set `alias` = 'Manage Forms', img='components/com_breezingforms/images/js/ThemeOffice/content.png' ". "where `link`='index.php?option=com_breezingforms&act=manageforms'" ); _ff_query( "update #__menu set `alias` = 'Manage Scripts', img='components/com_breezingforms/images/js/ThemeOffice/controlpanel.png' ". "where `link`='index.php?option=com_breezingforms&act=managescripts'" ); _ff_query( "update #__menu set `alias` = 'Manage Pieces', img='components/com_breezingforms/images/js/ThemeOffice/controlpanel.png' ". "where `link`='index.php?option=com_breezingforms&act=managepieces'" ); _ff_query( "update #__menu set `alias` = 'Integrator', img='components/com_breezingforms/images/js/ThemeOffice/controlpanel.png' ". "where `link`='index.php?option=com_breezingforms&act=integrate'" ); _ff_query( "update #__menu set `alias` = 'Configuration', img='components/com_breezingforms/images/js/ThemeOffice/config.png' ". "where `link`='index.php?option=com_breezingforms&act=configuration'" ); } else { _ff_query("update #__components set admin_menu_link='' where `option`='com_breezingforms' and parent=0"); updateComponentMenus(); // assign nice icons to facileforms _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/checkin.png' ". "where admin_menu_link='option=com_breezingforms&act=managerecs'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/mainmenu.png' ". "where admin_menu_link='option=com_breezingforms&act=managemenus'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/content.png' ". "where admin_menu_link='option=com_breezingforms&act=manageforms'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/controlpanel.png' ". "where admin_menu_link='option=com_breezingforms&act=managescripts'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/controlpanel.png' ". "where admin_menu_link='option=com_breezingforms&act=managepieces'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/config.png' ". "where admin_menu_link='option=com_breezingforms&act=integrate'" ); _ff_query( "update #__components set admin_menu_img='components/com_breezingforms/images/js/ThemeOffice/config.png' ". "where admin_menu_link='option=com_breezingforms&act=configuration'" ); // fix broken menuitems $id = _ff_selectValue( "select min(id) from #__components ". "where `parent`=0 and `option`='com_breezingforms'" ); if ($id) _ff_query( "update #__menu ". "set componentid=$id, link='index.php?option=com_breezingforms' ". "where type='components' and params like 'ff_com_name=%'" ); } if ($ff_config->images == '{mossite}/administrator/components/com_breezingforms/images') $ff_config->images = '{mossite}/components/com_breezingforms/images'; if ($ff_config->uploads == '{mospath}/administrator/components/com_breezingforms/uploads') $ff_config->uploads = '{mospath}/components/com_breezingforms/uploads'; $ff_config->store(); HTML_facileFormsInstaller::step3($option, $errors); } // step3
function relinkPieces(&$oldpieces) { if (count($oldpieces)) { foreach ($oldpieces as $row) { $newid = _ff_selectValue("select max(id) from #__facileforms_pieces where name = " . JFactory::getDBO()->Quote($row->name) . ""); if ($newid) { _ff_query("update #__facileforms_forms set piece1id={$newid} where piece1id={$row->id}"); _ff_query("update #__facileforms_forms set piece2id={$newid} where piece2id={$row->id}"); _ff_query("update #__facileforms_forms set piece3id={$newid} where piece3id={$row->id}"); _ff_query("update #__facileforms_forms set piece4id={$newid} where piece4id={$row->id}"); } // if } } // foreach }
function relinkPieces(&$oldpieces) { if (count($oldpieces)) foreach ($oldpieces as $row) { $newid = _ff_selectValue("select max(id) from #__facileforms_pieces where name = '".$row->name."'"); if ($newid) { _ff_query("update #__facileforms_forms set piece1id=$newid where piece1id=$row->id"); _ff_query("update #__facileforms_forms set piece2id=$newid where piece2id=$row->id"); _ff_query("update #__facileforms_forms set piece3id=$newid where piece3id=$row->id"); _ff_query("update #__facileforms_forms set piece4id=$newid where piece4id=$row->id"); } // if } // foreach } // relinkPieces