mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 12:48:26 +02:00
Fixes #849 and corrects a table-name issue with plugin upgrades.
This commit is contained in:
@@ -2098,7 +2098,7 @@ class pluginBuilder
|
|||||||
foreach($plugFolders as $dir)
|
foreach($plugFolders as $dir)
|
||||||
{
|
{
|
||||||
$lanDir[$dir] = $dir;
|
$lanDir[$dir] = $dir;
|
||||||
if(file_exists(e_PLUGIN.$dir."/admin_config.php"))
|
if(E107_DEBUG_LEVEL == 0 && file_exists(e_PLUGIN.$dir."/admin_config.php"))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -2122,7 +2122,7 @@ class pluginBuilder
|
|||||||
</colgroup>
|
</colgroup>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Build an admin-area and xml file for: </td>
|
<td>Build an admin-area and xml file for: </td>
|
||||||
<td><div class='input-append'>".$frm->open('createPlugin','get').$frm->select("newplugin",$newDir).$frm->admin_button('step', 2,'other','Go')."</div> ".$frm->checkbox('createFiles',1,1,'Create Files').$frm->close()."</td>
|
<td><div class='input-append'>".$frm->open('createPlugin','get',e_SELF."?mode=create").$frm->select("newplugin",$newDir).$frm->admin_button('step', 2,'other','Go')."</div> ".$frm->checkbox('createFiles',1,1,'Create Files').$frm->close()."</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
@@ -2663,7 +2663,7 @@ TEMPLATE;
|
|||||||
{
|
{
|
||||||
$frm = e107::getForm();
|
$frm = e107::getForm();
|
||||||
|
|
||||||
$modes = array("main"=>"Main Area","cat"=>"Categories","other1"=>"Other 1","other2"=>"Other 2");
|
$modes = array("main"=>"Main Area","cat"=>"Categories","other1"=>"Other 1","other2"=>"Other 2","other3"=>"Other 3","other4"=>"Other 4");
|
||||||
|
|
||||||
// echo "TABLE COUNT= ".$this->tableCount ;
|
// echo "TABLE COUNT= ".$this->tableCount ;
|
||||||
|
|
||||||
|
@@ -70,12 +70,12 @@ class e107plugin
|
|||||||
|
|
||||||
protected $core_plugins = array(
|
protected $core_plugins = array(
|
||||||
"_blank","admin_menu","alt_auth","banner","blogcalendar_menu",
|
"_blank","admin_menu","alt_auth","banner","blogcalendar_menu",
|
||||||
"calendar_menu","chatbox_menu", "clock_menu","comment_menu",
|
"chatbox_menu", "clock_menu","comment_menu",
|
||||||
"contact", "download","faqs", "featurebox", "forum","gallery",
|
"contact", "download","faqs", "featurebox", "forum","gallery",
|
||||||
"gsitemap","import", "linkwords", "list_new", "log", "login_menu",
|
"gsitemap","import", "linkwords", "list_new", "log", "login_menu",
|
||||||
"metaweblog", "newforumposts_main", "news", "newsfeed",
|
"metaweblog", "newforumposts_main", "news", "newsfeed",
|
||||||
"newsletter","online", "page", "pdf", "pm", "pm","poll",
|
"newsletter","online", "page", "pm","poll",
|
||||||
"rss_menu","search_menu","siteinfo", "social", "tagwords", "tinymce",
|
"rss_menu","search_menu","siteinfo", "social", "tagwords", "tinymce4",
|
||||||
"trackback","tree_menu","user"
|
"trackback","tree_menu","user"
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1404,7 +1404,7 @@ class e107plugin
|
|||||||
if (!file_exists($path.'plugin.xml') || $function == '')
|
if (!file_exists($path.'plugin.xml') || $function == '')
|
||||||
{
|
{
|
||||||
$error[] = EPL_ADLAN_77;
|
$error[] = EPL_ADLAN_77;
|
||||||
$canContinue = FALSE;
|
$canContinue = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($canContinue && $this->parse_plugin_xml($plug['plugin_path']))
|
if ($canContinue && $this->parse_plugin_xml($plug['plugin_path']))
|
||||||
@@ -1426,24 +1426,24 @@ class e107plugin
|
|||||||
$canContinue = $this->XmlDependencies($plug_vars['dependencies']);
|
$canContinue = $this->XmlDependencies($plug_vars['dependencies']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$canContinue)
|
if ($canContinue === false)
|
||||||
{
|
{
|
||||||
|
return false;
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// All the dependencies are OK - can start the install now
|
// All the dependencies are OK - can start the install now
|
||||||
|
|
||||||
if ($canContinue) // Run custom {plugin}_setup install/upgrade etc. for INSERT, ALTER etc. etc. etc.
|
// Run custom {plugin}_setup install/upgrade etc. for INSERT, ALTER etc. etc. etc.
|
||||||
{
|
|
||||||
$ret = $this->execute_function($plug['plugin_path'], $function, 'pre');
|
$ret = $this->execute_function($plug['plugin_path'], $function, 'pre');
|
||||||
if (!is_bool($ret))
|
if (!is_bool($ret))
|
||||||
|
{
|
||||||
$txt .= $ret;
|
$txt .= $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Handle tables
|
// Handle tables
|
||||||
if ($canContinue && count($sql_list)) // TODO - move to it's own function. XmlTables().
|
$this->XmlTables($function, $plug);
|
||||||
|
|
||||||
|
if ($canContinue && count($sql_list)) // TODO - move more of it to $this->XmlTables().
|
||||||
{
|
{
|
||||||
|
|
||||||
require_once(e_HANDLER.'db_table_admin_class.php');
|
require_once(e_HANDLER.'db_table_admin_class.php');
|
||||||
@@ -1468,6 +1468,10 @@ class e107plugin
|
|||||||
$status = $this->manage_tables('add', array($sqlTable)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; // Pass the statement to create the table
|
$status = $this->manage_tables('add', array($sqlTable)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR; // Pass the statement to create the table
|
||||||
$mes->add($txt, $status);
|
$mes->add($txt, $status);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Has Bugs.. - @See replacement: $this->XmlTables()
|
||||||
case 'upgrade':
|
case 'upgrade':
|
||||||
|
|
||||||
$tmp = $dbHandler->update_table_structure($ct, FALSE, TRUE, $pref['multilanguage']);
|
$tmp = $dbHandler->update_table_structure($ct, FALSE, TRUE, $pref['multilanguage']);
|
||||||
@@ -1480,11 +1484,14 @@ class e107plugin
|
|||||||
$error[] = $tmp;
|
$error[] = $tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
case 'refresh': // Leave things alone
|
case 'refresh': // Leave things alone
|
||||||
|
case 'upgrade':
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'uninstall':
|
case 'uninstall':
|
||||||
if (vartrue($options['delete_tables'], FALSE))
|
if (vartrue($options['delete_tables'], FALSE))
|
||||||
{
|
{
|
||||||
@@ -1619,9 +1626,33 @@ class e107plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Placeholder.
|
// Placeholder.
|
||||||
function XmlTables($data)
|
function XmlTables($function, $plug)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
$sqlFile = e_PLUGIN.$plug['plugin_path'].'/'.$plug['plugin_path']."_sql.php";
|
||||||
|
|
||||||
|
if(!is_readable($sqlFile))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once(e_HANDLER."db_verify_class.php");
|
||||||
|
$dbv = new db_verify;
|
||||||
|
|
||||||
|
if($function == 'upgrade')
|
||||||
|
{
|
||||||
|
$dbv->errors = array();
|
||||||
|
$dbv->compare($plug['plugin_path']);
|
||||||
|
if($dbv->errors())
|
||||||
|
{
|
||||||
|
$dbv->compileResults();
|
||||||
|
$dbv->runFix();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2145,6 +2176,7 @@ class e107plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process XML tags <mainPrefs> and <pluginPrefs>
|
* Process XML tags <mainPrefs> and <pluginPrefs>
|
||||||
* @param object $mode 'core' or the folder name of the plugin.
|
* @param object $mode 'core' or the folder name of the plugin.
|
||||||
|
71
e107_plugins/tinymce4/tinymce4_setup.php
Normal file
71
e107_plugins/tinymce4/tinymce4_setup.php
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* e107 website system
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008-2009 e107 Inc (e107.org)
|
||||||
|
* Released under the terms and conditions of the
|
||||||
|
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
*
|
||||||
|
* Custom TinyMce4 install/uninstall/update routines
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('e107_INIT')) { exit; }
|
||||||
|
|
||||||
|
|
||||||
|
class tinymce4_setup
|
||||||
|
{
|
||||||
|
function upgrade_required()
|
||||||
|
{
|
||||||
|
$list = e107::getConfig()->get('e_meta_list');
|
||||||
|
|
||||||
|
if(in_array('tinymce4',$list))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(file_exists(e_PLUGIN."tinymce4/e_meta.php")) // Outdated file.
|
||||||
|
{
|
||||||
|
e107::getMessage()->addInfo("Please delete the outdated file <b>".e_PLUGIN."tinymce4/e_meta.php</b> and then run the updating process.");
|
||||||
|
// print_a(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS,8));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
function install_pre($var)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function install_post($var)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function uninstall_options()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function uninstall_post($var)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_pre($var)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_post($var)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
}
|
Reference in New Issue
Block a user