Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.
Sign In
Not a member yet? Click here to register.

Upgrading v7 Infusions to v9

In infusion.php you will need to add ,
CodeDownload  
$settings = fusion_get_settings();


This might also be required in other places depending on the complexity of your infusion.

In this section ,
CodeDownload  
$inf_adminpanel[] = array(


Add, under rights page 5 as follows. Do not miss the , on the rights line.
CodeDownload  
   
"rights" => "DEMO",
"page" => 5



page 5 means that it will be listed under Infusions, 1-4 is the other tabs.

$inf_newtable[1] etc can all be striped of the number , like :
$inf_newtable[] row1;
$inf_newtable[] row2;
etc
The system will enumrate automatically.

TYPE = MyIsam should always be ENGINE = MyISAM,
preferably like,
CodeDownload  
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


Since we use UTF-8mb4 in 9.

You need to replace all <form> with openform(); and all </form> with closeform();
Since many old infusions use formaction, this is how you would make it work with openform();

CodeDownload  
$formaction = "".INFUSIONS."yourinfusion/target.php";
echo openform('inputform', 'post', $formaction, array('enctype' => 1,'class' => 'm-t-20'));


If you do not want to use the new form system you can manually insert tokens like,

CodeDownload  
               // Token data
               $options['form_id'] = "12345678";
               $options['max_tokens'] = "1";
               $options['remote_url'] = fusion_get_settings('site_path').'infusions/myinfusion/post.php';
               $token = \Defender\Token::generate_token($options['form_id'], $options['max_tokens'], $options['remote_url']);

               // Begin Form
               echo "<form id='".$options['form_id']."' name='postform' method='POST' action='".$options['remote_url']."'>\n";
               echo "<input type='hidden' name='fusion_token' value='".$token."' />\n";
               echo "<input type='hidden' name='form_id' value='".$options['form_id']."' />\n";
               
               // Form content as usual
               
               echo "</form>\n";



Please note that any MySQL errors will halt the Infuse as a whole, generic upgrade lines that fail or generic table modification attempts on non existing tables will result in a failure.
I have been searching for something like this, this is JUST what I needed. I was going to hire someone to update Infusions for me and now I do not have to if this works. Thank you for sharing this Falk!

Now, if we only had this for Themes! Is there a tutorial like this for updating Themes too?

Quote

In infusion.php you will need to add ,
CodeDownload  
$settings = fusion_get_settings();


This might also be required in other places depending on the complexity of your infusion.
What other files may this need to be placed in?

In this section ,
CodeDownload  
$inf_adminpanel[] = array(


Add, under rights page 5 as follows. Do not miss the , on the rights line.
CodeDownload  
   
"rights" => "DEMO",
"page" => 5


page 5 means that it will be listed under Infusions, 1-4 is the other tabs.

I know this is for Infusions that include Admin Panels but what file does this code go in? What are the files for Infusions with Admin Panels typically called? Also, is DEMO what goes in
CodeDownload  
"rights" => "DEMO",

and what is each of the pages 1-4 if you do not mind explaining a bit more.


$inf_newtable[1] etc can all be striped of the number , like :
$inf_newtable[] row1;
$inf_newtable[] row2;
etc
The system will enumrate automatically.

TYPE = MyIsam should always be ENGINE = MyISAM,
preferably like,
CodeDownload  
ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


Since we use UTF-8mb4 in 9.

You need to replace all <form> with openform(); and all </form> with closeform();
Since many old infusions use formaction, this is how you would make it work with openform();

CodeDownload  
$formaction = "".INFUSIONS."yourinfusion/target.php";
echo openform('inputform', 'post', $formaction, array('enctype' => 1,'class' => 'm-t-20'));



What file(s) can this code typically be found in?

If you do not want to use the new form system you can manually insert tokens like,

CodeDownload  
               // Token data
               $options['form_id'] = "12345678";
               $options['max_tokens'] = "1";
               $options['remote_url'] = fusion_get_settings('site_path').'infusions/myinfusion/post.php';
               $token = \Defender\Token::generate_token($options['form_id'], $options['max_tokens'], $options['remote_url']);

               // Begin Form
               echo "<form id='".$options['form_id']."' name='postform' method='POST' action='".$options['remote_url']."'>\n";
               echo "<input type='hidden' name='fusion_token' value='".$token."' />\n";
               echo "<input type='hidden' name='form_id' value='".$options['form_id']."' />\n";
               
               // Form content as usual
               
               echo "</form>\n";



What file(s) is this code in typically also?

Please note that any MySQL errors will halt the Infuse as a whole, generic upgrade lines that fail or generic table modification attempts on non existing tables will result in a failure.


I'd greatly appreciate answers to my questions, if you will, please. I am just learning how to update the Infusions so I am a little confused on a few things but would like to update them myself instead of paying someone to do it! It will save me tons of money and make me happy. I will definitely donate some money to the PHP-Fusion Project if I can figure this out and update all the Infusions I want to use and not have to pay others to do it.
Thread Information
Author
Replies
3 posts
Views
2,709 times
Last Post
Last updated on 2 months ago
You can view all discussion threads in this forum.
You cannot set up a bounty in this discussion thread.
You can start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You can download attachments in this forum.
You cannot up or down-vote on the post in this discussion thread.
Users who participated in discussion: Falk, SkeeredOfMyMind