Erreur lors de l'administration des modules [Réglé]
riptide Membre non connecté
Booster Roquette
-
Booster Roquette
- Voir le profil du membre riptide
- Inscrit le : 29/02/2012
- Site internet
- Groupes :
Reprise du message précédent
Bonsoir,J'ai remplacer les fichiers comme dis, et j'ai plus de site j'ai ça:
Fatal error: ExtensionPointProviderService::load_modules_providers() [<a href='extensionpointproviderservice.load-modules-providers'>extensionpointproviderservice.load-modules-providers</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Module" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /homez.337/arfoooan/www/aaa-tchatt/kernel/framework/phpboost/extension-provider/ExtensionPointProviderService.class.php on line 165
Une autre chose pour l'isncription des membres le code capchat n'est jamais bon même si marque le bon je sais pas d'ou ça viens si c'est lié à ça ou pas..
Alors j'ai upload ma sauvegarde ftp et vider le cach en attendant la sortie de la v4.0.4
Édité par riptide Le 01/05/2013 à 21h04
samghami Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre samghami
- Inscrit le : 16/04/2012
- Site internet
Fatal error: Call to undefined method ModuleConfiguration::get_authors_website() in /public_html/admin/modules/controllers/AdminModuleAddController.class.php on line 98
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Ce problème a été corrigé dans la version 4.0.4, mets à jours tes fichiers avec la dernière version pour ne plus avoir le problème.
sgoelff Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre sgoelff
- Inscrit le : 12/12/2011
mon site est en version 4.0.6, il a été récupéré par ReidLos et Elenwii...
et j'ai toujours l'erreur suivante:
Fatal error: Call to undefined method ModuleConfiguration::get_authors_website() in /homez.139/leschevar/www/admin/modules/controllers/AdminModuleAddController.class.php on line 98
Pouvez--vous m'aider?
Merci
sgoelff Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre sgoelff
- Inscrit le : 12/12/2011
personne ne souhaite m'aider à ce sujet?
Merci d'avance
Voici le code de mon fichier
Code BBCODE :
<?php
/*##################################################
* AdminModuleAddController.class.php
* -------------------
* begin : September 20, 2011
* copyright : (C) 2011 Patrick DUBEAU
* email : daaxwizeman@gmail.com
*
*
###################################################
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
###################################################*/
class AdminModuleAddController extends AdminController
{
private $lang;
private $view;
private $form;
private $submit_button;
public function execute(HTTPRequestCustom $request)
{
$this->init();
$this->upload_form();
$this->build_view();
foreach ($this->get_modules_not_installed() as $name => $module)
{
try {
if ($request->get_string('add-' . $module->get_id()))
{
$activate = $request->get_bool('activated-' . $module->get_id(), false);
$this->install_module($module->get_id(), $activate);
}
}
catch (UnexistingHTTPParameterException $e){}
}
if ($this->submit_button->has_been_submited() && $this->form->validate())
{
$this->upload_module();
}
$this->view->put('UPLOAD_FORM', $this->form->display());
return new AdminModulesDisplayResponse($this->view, $this->lang['modules.add_module']);
}
private function init()
{
$this->load_lang();
$this->view = new FileTemplate('admin/modules/AdminModuleAddController.tpl');
$this->view->add_lang($this->lang);
}
private function load_lang()
{
$this->lang = LangLoader::get('admin-modules-common');
}
private function upload_form()
{
$form = new HTMLForm('upload_module');
$fieldset = new FormFieldsetHTML('upload', $this->lang['modules.upload_module']);
$form->add_fieldset($fieldset);
$fieldset->add_field(new FormFieldFilePicker('file', $this->lang['modules.upload_description']));
$this->submit_button = new FormButtonDefaultSubmit();
$form->add_button($this->submit_button);
$this->form = $form;
}
private function build_view()
{
$modules_not_installed = $this->get_modules_not_installed();
foreach ($modules_not_installed as $id => $module)
{
$configuration = $module->get_configuration();
$authors_website = $configuration->get_authors_website();
$this->view->assign_block_vars('available', array(
'ID' => $module->get_id(),
'NAME' => ucfirst($configuration->get_name()),
'ICON' => $module->get_id(),
'VERSION' => $configuration->get_version(),
'AUTHOR' => $configuration->get_authors_list(),
'AUTHOR_WEBSITE' => !empty($authors_website) ? '<a href="' . $authors_website . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '',
'DESCRIPTION' => $configuration->get_description(),
'COMPATIBILITY' => $configuration->get_compatibility(),
'PHP_VERSION' => $configuration->get_php_version(),
'URL_REWRITE_RULES' => $configuration->get_url_rewrite_rules()
));
}
$this->view->put_all(array(
'C_MODULES_AVAILABLE' => count($modules_not_installed) > 0 ? true : false,
));
}
private function get_modules_not_installed()
{
$modules_not_installed = array();
$modules_folder = new Folder(PATH_TO_ROOT);
foreach ($modules_folder->get_folders() as $folder)
{
$folder_name = $folder->get_name();
if ($folder_name != 'lang' && !ModulesManager::is_module_installed($folder_name))
{
try
{
$module = new Module($folder_name);
$module_configuration = $module->get_configuration();
$modules_not_installed[$folder_name] = $module;
}
catch (IOException $ex)
{
continue;
}
}
}
sort($modules_not_installed);
return $modules_not_installed;
}
private function install_module($module_id, $activate)
{
switch(ModulesManager::install_module($module_id, $activate))
{
case ModulesManager::CONFIG_CONFLICT:
$this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_config_conflict', 'errors'), MessageHelper::WARNING, 10));
break;
case ModulesManager::UNEXISTING_MODULE:
$this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_unexist_module', 'errors'), MessageHelper::WARNING, 10));
break;
case ModulesManager::MODULE_ALREADY_INSTALLED:
$this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_already_installed_module', 'errors'), MessageHelper::WARNING, 10));
break;
case ModulesManager::PHP_VERSION_CONFLICT:
$this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_php_version_conflict', 'errors'), MessageHelper::WARNING, 10));
break;
case ModulesManager::MODULE_INSTALLED:
default:
$this->view->put('MSG', MessageHelper::display($this->lang['modules.install_success'], MessageHelper::SUCCESS, 10));
}
}
private function upload_module()
{
$modules_folder = PATH_TO_ROOT . '/';
if (!is_writable($modules_folder))
{
$is_writable = @chmod($dir, 0755);
}
else
{
$is_writable = true;
}
if ($is_writable)
{
$file = $this->form->get_value('file');
if ($file !== null)
{
if (!ModulesManager::is_module_installed($file->get_name_without_extension()))
{
$upload = new Upload($modules_folder);
$upload->disableContentCheck();
if ($upload->file('upload_module_file', '`([A-Za-z0-9-_]+).(gzip|zip)+$`i'))
{
$archive_path = $modules_folder . $upload->get_filename();
if ($upload->get_extension() == 'gzip')
{
import('php/pcl/pcltar', LIB_IMPORT);
PclTarExtract($upload->get_filename(), $modules_folder);
$file = new File($archive_path);
$file->delete();
}
else if ($upload->get_extension() == 'zip')
{
import('php/pcl/pclzip', LIB_IMPORT);
$zip = new PclZip($archive_path);
$zip->extract(PCLZIP_OPT_PATH, $modules_folder, PCLZIP_OPT_SET_CHMOD, 0755);
$file = new File($archive_path);
$file->delete();
}
$this->install_module($file->get_name_without_extension(), true);
}
else
{
$this->view->put('MSG', MessageHelper::display($this->lang['modules.upload_invalid_format'], MessageHelper::NOTICE, 4));
}
}
else
{
$this->view->put('MSG', MessageHelper::display($this->lang['modules.already_installed'], MessageHelper::NOTICE, 4));
}
}
else
{
$this->view->put('MSG', MessageHelper::display($this->lang['modules.upload_error'], MessageHelper::NOTICE, 4));
}
}
}
}
?>Édité par sgoelff Le 20/11/2013 à 17h24
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
C'est bien ce que je disais, le fichier n'a pas été mis à jour...
Remplace son contenu par :
Code PHP :
<?php /*################################################## * AdminModuleAddController.class.php * ------------------- * begin : September 20, 2011 * copyright : (C) 2011 Patrick DUBEAU * email : daaxwizeman@gmail.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ class AdminModuleAddController extends AdminController { private $lang; private $view; private $form; private $submit_button; public function execute(HTTPRequestCustom $request) { $this->init(); $this->upload_form(); $this->build_view(); foreach ($this->get_modules_not_installed() as $name => $module) { try { if ($request->get_string('add-' . $module->get_id())) { $activate = $request->get_bool('activated-' . $module->get_id(), false); $this->install_module($module->get_id(), $activate); } } catch (UnexistingHTTPParameterException $e){} } if ($this->submit_button->has_been_submited() && $this->form->validate()) { $this->upload_module(); } $this->view->put('UPLOAD_FORM', $this->form->display()); return new AdminModulesDisplayResponse($this->view, $this->lang['modules.add_module']); } private function init() { $this->load_lang(); $this->view = new FileTemplate('admin/modules/AdminModuleAddController.tpl'); $this->view->add_lang($this->lang); } private function load_lang() { $this->lang = LangLoader::get('admin-modules-common'); } private function upload_form() { $form = new HTMLForm('upload_module'); $fieldset = new FormFieldsetHTML('upload', $this->lang['modules.upload_module']); $form->add_fieldset($fieldset); $fieldset->add_field(new FormFieldFilePicker('file', $this->lang['modules.upload_description'])); $this->submit_button = new FormButtonDefaultSubmit(); $form->add_button($this->submit_button); $this->form = $form; } private function build_view() { $modules_not_installed = $this->get_modules_not_installed(); foreach ($modules_not_installed as $id => $module) { $configuration = $module->get_configuration(); $author = $configuration->get_author(); $author_email = $configuration->get_author_email(); $author_website = $configuration->get_author_website(); $this->view->assign_block_vars('available', array( 'ID' => $module->get_id(), 'NAME' => ucfirst($configuration->get_name()), 'ICON' => $module->get_id(), 'VERSION' => $configuration->get_version(), 'AUTHOR' => !empty($author_email) ? '<a href="mailto:' . $author_email . '">' . $author . '</a>' : $author, 'AUTHOR_WEBSITE' => !empty($author_website) ? '<a href="' . $author_website . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'DESCRIPTION' => $configuration->get_description(), 'COMPATIBILITY' => $configuration->get_compatibility(), 'PHP_VERSION' => $configuration->get_php_version(), 'URL_REWRITE_RULES' => $configuration->get_url_rewrite_rules() )); } $this->view->put_all(array( 'C_MODULES_AVAILABLE' => count($modules_not_installed) > 0 ? true : false, )); } private function get_modules_not_installed() { $modules_not_installed = array(); $modules_folder = new Folder(PATH_TO_ROOT); foreach ($modules_folder->get_folders() as $folder) { $folder_name = $folder->get_name(); if ($folder_name != 'lang' && !ModulesManager::is_module_installed($folder_name)) { try { $module = new Module($folder_name); $module_configuration = $module->get_configuration(); $modules_not_installed[$folder_name] = $module; } catch (IOException $ex) { continue; } } } sort($modules_not_installed); return $modules_not_installed; } private function install_module($module_id, $activate) { switch(ModulesManager::install_module($module_id, $activate)) { case ModulesManager::CONFIG_CONFLICT: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_config_conflict', 'errors'), MessageHelper::WARNING, 10)); break; case ModulesManager::UNEXISTING_MODULE: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_unexist_module', 'errors'), MessageHelper::WARNING, 10)); break; case ModulesManager::MODULE_ALREADY_INSTALLED: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_already_installed_module', 'errors'), MessageHelper::WARNING, 10)); break; case ModulesManager::PHP_VERSION_CONFLICT: $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('e_php_version_conflict', 'errors'), MessageHelper::WARNING, 10)); break; case ModulesManager::MODULE_INSTALLED: default: $this->view->put('MSG', MessageHelper::display($this->lang['modules.install_success'], MessageHelper::SUCCESS, 10)); } } private function upload_module() { $modules_folder = PATH_TO_ROOT . '/'; if (!is_writable($modules_folder)) { $is_writable = @chmod($dir, 0755); } else { $is_writable = true; } if ($is_writable) { $file = $this->form->get_value('file'); if ($file !== null) { if (!ModulesManager::is_module_installed($file->get_name_without_extension())) { $upload = new Upload($modules_folder); $upload->disableContentCheck(); if ($upload->file('upload_module_file', '`([A-Za-z0-9-_]+).(gzip|zip)+$`i')) { $archive_path = $modules_folder . $upload->get_filename(); if ($upload->get_extension() == 'gzip') { import('php/pcl/pcltar', LIB_IMPORT); PclTarExtract($upload->get_filename(), $modules_folder); $file = new File($archive_path); $file->delete(); } else if ($upload->get_extension() == 'zip') { import('php/pcl/pclzip', LIB_IMPORT); $zip = new PclZip($archive_path); $zip->extract(PCLZIP_OPT_PATH, $modules_folder, PCLZIP_OPT_SET_CHMOD, 0755); $file = new File($archive_path); $file->delete(); } $this->install_module($file->get_name_without_extension(), true); } else { $this->view->put('MSG', MessageHelper::display($this->lang['modules.upload_invalid_format'], MessageHelper::NOTICE, 4)); } } else { $this->view->put('MSG', MessageHelper::display($this->lang['modules.already_installed'], MessageHelper::NOTICE, 4)); } } else { $this->view->put('MSG', MessageHelper::display($this->lang['modules.upload_error'], MessageHelper::NOTICE, 4)); } } } } ?>
sgoelff Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre sgoelff
- Inscrit le : 12/12/2011
Cela fonctionne pour l'ajout des modules, j'ai remplacer le code...
Maintenant j'ai un soucis avec la gestion des modules
Pouvez-vous me donner le bon code de ce fichier?
Merci
Citation :
Call to undefined method ModuleConfiguration::get_authors_website() in /homez.139/leschevar/www/admin/modules/controllers/AdminModulesManagementController.class.php on line 62
Code BBCODE :
<?php
/*##################################################
* AdminModulesManagementController.class.php
* -------------------
* begin : September 20, 2011
* copyright : (C) 2011 Patrick DUBEAU
* email : daaxwizeman@gmail.com
*
*
###################################################
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
###################################################*/
class AdminModulesManagementController extends AdminController
{
private $lang;
private $view;
public function execute(HTTPRequestCustom $request)
{
$this->init();
$this->build_view();
$this->save($request);
return new AdminModulesDisplayResponse($this->view, $this->lang['modules.module_management']);
}
private function init()
{
$this->load_lang();
$this->view = new FileTemplate('admin/modules/AdminModulesManagementController.tpl');
$this->view->add_lang($this->lang);
}
private function load_lang()
{
$this->lang = LangLoader::get('admin-modules-common');
}
private function build_view()
{
$modules_activated = ModulesManager::get_activated_modules_map_sorted_by_localized_name();
$modules_installed = ModulesManager::get_installed_modules_map_sorted_by_localized_name();
foreach ($modules_installed as $module)
{
$configuration = $module->get_configuration();
$authors_website = $configuration->get_authors_website();
if (!in_array($module, $modules_activated))
{
$this->view->assign_block_vars('modules_not_activated', array(
'ID' => $module->get_id(),
'NAME' => ucfirst($configuration->get_name()),
'ICON' => $module->get_id(),
'VERSION' => $configuration->get_version(),
'AUTHOR' => $configuration->get_authors_list(),
'AUTHOR_WEBSITE' => !empty($authors_website) ? '<a href="' . $authors_website . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '',
'DESCRIPTION' => $configuration->get_description(),
'COMPATIBILITY' => $configuration->get_compatibility(),
'PHP_VERSION' => $configuration->get_php_version(),
'C_MODULE_ACTIVE' => $module->is_activated(),
'U_DELETE_LINK' => AdminModulesUrlBuilder::delete_module($module->get_id())->absolute()
));
}
else
{
$this->view->assign_block_vars('modules_activated', array(
'ID' => $module->get_id(),
'NAME' => ucfirst($configuration->get_name()),
'ICON' => $module->get_id(),
'VERSION' => $module->get_installed_version(),
'AUTHOR' => $configuration->get_authors_list(),
'AUTHOR_WEBSITE' => !empty($authors_website) ? '<a href="' . $authors_website . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '',
'DESCRIPTION' => $configuration->get_description(),
'COMPATIBILITY' => $configuration->get_compatibility(),
'PHP_VERSION' => $configuration->get_php_version(),
'C_MODULE_ACTIVE' => $module->is_activated(),
'U_DELETE_LINK' => AdminModulesUrlBuilder::delete_module($module->get_id())->absolute()
));
}
}
$this->view->put_all(array(
'C_MODULES_ACTIVATED' => count($modules_activated) > 0 ? true : false,
'C_MODULES_NOT_ACTIVATED' => (count($modules_installed) - count($modules_activated)) > 0 ? true : false
));
}
private function save(HTTPRequestCustom $request)
{
if ($request->get_bool('update', false))
{
$errors = array();
foreach (ModulesManager::get_installed_modules_map() as $module)
{
$request = AppContext::get_request();
$module_id = $module->get_id();
$activated = $request->get_bool('activated-' . $module_id, false);
$error = ModulesManager::update_module($module_id, $activated);
if (!empty($error))
$errors[$module->get_configuration()->get_name()] = $error;
}
if (empty($errors))
{
AppContext::get_response()->redirect(AdminModulesUrlBuilder::list_installed_modules());
}
else
{
foreach ($errors as $module_name => $error)
{
$this->view->assign_block_vars('errors', array(
'MSG' => MessageHelper::display($module_name . ' : ' . $error, MessageHelper::WARNING, 10)
));
}
}
}
}
}
?>sgoelff Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre sgoelff
- Inscrit le : 12/12/2011
j'ai repris les fichiers de code de la version 4.0.6 et cela fonctionne.
Bien à vous
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie