Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

nicko510
2009-12-11 09:45:48

Salut et merci à vous !
Effectivement c'était les 2 _ qui posaient problème :s
J'ai voulu éviter le copier-coller pour essayer de bien comprendre ce que je faisais ; du coup je ne suis pas prêt de faire la même erreur. :p

Eric
2009-12-10 21:30:59

Bien vu ! Elle m'avait échappée celle-là ;-)

Si nicko510 s'est appuyé sur ce que j'ai donné, il devrait avoir résolu son pb.

rvelices
2009-12-10 21:19:05

ce n'est pas _FILE_ mais __FILE__ (2 underscores au debut et 2 a la fin)

Eric
2009-12-10 18:35:56

Salut.

En premier, tu dois définir le chemin de base de ton plugin pour qu'il s'exécute dans le bon dossier. Par exemple :

Code:

define('MonPlugin_DIR' , basename(dirname(__FILE__)));
define('MonPlugin_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');

Ensuite, lorsque tu fais appel à des fichiers dans le dossier du plugin ou lorsque tu initialises les templates (modèles d'affichage), tu utilises les chemins précedemment définis. Exemple avec ton code :

Code:

  function plugin_admin_menu($menu)
  {
    array_push($menu,
      array(
        'NAME' => 'Editeur',
        'URL' => get_admin_plugin_menu_link(MonPlugin_PATH.'/admin/editeurplugin_admin.php')
      )
    );
    return $menu;
  }

A adapter lorsque tu appelles ton fichier data.dat.

En aparté, l'entête

Code:

/*
Plugin Name: Editeur
Version:0.1
Description: Permet d'éditer Qui-suis, Tarifs, Liens.
Plugin URI:http://www.nicko510.com
*/

N'est nécessaire que dans le fichier main.inc.php. Inutile de la reproduire dans tous les fichiers php de ton plugin.

Gotcha
2009-12-10 18:11:58

*** Je risque de dire une bêtise plus grosse que moi ***

Ce n'est pas une histoire de nom de fichier/dossier ?

nicko510
2009-12-10 17:44:59

Bonjour,
j'essaie de créer un plugin. J'ai suivi la doc, mais lors de l'activation j'ai ces messages qui apparaissent :

Notice: Use of undefined constant _FILE_ - assumed '_FILE_' in /home/plantepa/public_html/piwigo/plugins/editeur/main.inc.php on line 25

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/plantepa/public_html/piwigo/plugins/editeur/main.inc.php:25) in /home/plantepa/public_html/piwigo/include/user.inc.php on line 29

Notice: Use of undefined constant _FILE_ - assumed '_FILE_' in /home/plantepa/public_html/piwigo/plugins/editeur/main.inc.php on line 34

Warning: Cannot modify header information - headers already sent by (output started at /home/plantepa/public_html/piwigo/plugins/editeur/main.inc.php:25) in /home/plantepa/public_html/piwigo/include/page_header.php on line 98

Voici mon main.inc.php :

Code:

<?php
/*
Plugin Name: Editeur
Version:0.1
Description: Permet d'&eacute;diter Qui-suis, Tarifs, Liens.
Plugin URI:http://www.nicko510.com
*/
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt ! ');
class Editeur
{
  var $my_config;
  function load_config()
  { 
    if ( !isset($this->my_config)
      or empty($this->my_config['Bio']) )
    {
      $this->my_config['Bio'] = 'bio bio';
      $this->my_config['Liens'] = 'Liens liens';
      $this->my_config['Tarifs'] = 'tarif tarifs';
      $this->save_config();
    }
  }
  function save_config()
  {
    $file = fopen(dirname(_FILE_).'/data.dat','w' );
    fwrite($file, serialize($this->my_config) );
    fclose( $file );
  }
  function plugin_admin_menu($menu)
  {
    array_push($menu,
      array(
        'NAME' => 'Editeur',
        'URL' => get_admin_plugin_menu_link(dirname(_FILE_).'/admin/editeurplugin_admin.php')
      )
    );
    return $menu;
  }
}
$obj = new Editeur();
$obj->load_config();

add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') );
set_plugin_data($plugin['id'],$obj)
?>

et voici mon editeurplugin_admin.php:

Code:

<?php
/*
Plugin Name: Editeur de texte
Version:0.1
Description: Permet d'&eacute;diter Qui-suis, Tarifs, Liens.
Plugin URI:http://www.paulineplante.com
*/
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt ! ');
class Editeur
{
  var $my_config;
  function load_config()
  { 
    if ( !isset($this->my_config)
      or empty($this->my_config['Bio']) )
    {
      $this->my_config['Bio'] = 'bio bio';
      $this->my_config['Liens'] = 'Liens liens';
      $this->my_config['Tarifs'] = 'tarif tarifs';
      $this->save_config();
    }
  }
  function save_config()
  {
    $file = fopen(dirname(_FILE_).'/data.dat','w' );
    fwrite($file, serialize($this->my_config) );
    fclose( $file );
  }
  function plugin_admin_menu($menu)
  {
    array_push($menu,
      array(
        'NAME' => 'Editeur',
        'URL' => get_admin_plugin_menu_link(dirname(_FILE_).'/admin/editeurplugin_admin.php')
      )
    );
    return $menu;
  }
}
$obj = new Editeur();
$obj->load_config();

add_event_handler('get_admin_plugin_menu_links', array(&$obj, 'plugin_admin_menu') );
set_plugin_data($plugin['id'],$obj)
?>

Si j'essaie de supprimer _FILE_, j'obtiens des messages me disant que je n'ai pas les droits requis ...
Une idée ?

Merci.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2025 · Contact