Example #1
0
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
Example #2
0
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;
}
Example #3
0
	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
Example #4
0
	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
Example #5
0
	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