Problème d'affichage des pages php

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Comment ça ? :shock:
Je ne comprends pas trop ta perplexité… tu n'as pas besoin de ça !

Ouvre simplement ton fichier dans ton éditeur de texte et change le codage. Les caractères seront automatiquement transformés. Ne sachant pas quel éditeur tu utilises je ne peux pas te dire comment faire exactement. Mais par exemple dans SciTe il suffit de faire Fichier > Encodage. L'éditeur s'occupe de tout. Tu n'as qu'à essayer pour voir :wink:
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

J'utilise HAPedit et j'ai pas cette fonction...
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ton HAPedit il a bien enregistré une page en UTF-8, donc il devrait selon toute probabilité être capable de faire le chemin en sens inverse…

Si ce n'est pas le cas, tu as du utiliser un autre éditeur pour enregistrer en utf-8. Prends un éditeur supportant UTF-8 (ex : SciTE) et ouvre la page en utf-8 (vérifie que les accents s'affichent normalement) puis Fichier > Encodage > 8bits :wink:
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

pfff On peut le faire avec Dreamwaver MX ? :roll:
Bacchus
Lézard vert
Messages : 103
Inscription : 28 avr. 2005, 19:02

Message par Bacchus »

Ben si tu as Dream MX c'est à toi de voire, regarde dans les options...c'est comme ça qu'on apprend. :wink:
Bacchus
Ancien pseudo: psyco_thug | Lézard vert | Inscrit le: 25 Fév 2004
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

A mon avis, si tu changes ta ligne

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
en

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
ça devrait marcher pour les caractères bizarres. Par contre ça t'obligera ensuite à tout coder en utf-8 (dans dreamweaver pour un nouveau document tu vas dans editions-preferences-nouveau document-codage par defaut, et pour un document existant c'est dans proprietes de la page-titre/codage-codage). Pour tes images c'est peut être simplement une erreur d'adresse. Je vois par exemple

Code : Tout sélectionner

http://www.e-central.fr/?page=201main.php&g2_view=core.DownloadItem&g2_itemId=45&g2_serialNumber=2&g2_GALLERYSID=1a06a8723565ca751d970b764f39b172
Est-ce que ça ne devrait pas être

Code : Tout sélectionner

http://www.e-central.fr/main.php?page=201&g2_view=core.DownloadItem&g2_itemId=45&g2_serialNumber=2&g2_GALLERYSID=1a06a8723565ca751d970b764f39b172
c'est à dire inverse ?page=201main.php en main.php?page=201.
Par ailleurs tu as dans ton code deux fois

Code : Tout sélectionner

  </body>
</html>
. Tu peux supprimer ceux qui ne sont pas tout à la fin.

Edit : je viens de comprendre, tu as également 2 fois <doctype...><html><head><body> en fait la page que tu veux inclure dans ta page principale ne doit pas contenir ces éléments sinon ils sont répétés. Tu ne dois inclure que ce qu'il y a entre <body> et </body>. Sinon si tu veux inclure le reste c'est ta propre page qui ne doit pas avoir ces éléments ( en gros il ne te reste alors dans ton code que <?php include "main.php"; ?>)
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

SB a écrit :A mon avis, si tu changes ta ligne

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
en

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
ça devrait marcher pour les caractères bizarres. Par contre ça t'obligera ensuite à tout coder en utf-8
Je l'ai fait mais pas de changements ni de modifs à faire ensuite...Mais je vais revérifier toutes les pages.
Pour tes images c'est peut être simplement une erreur d'adresse. Je vois par exemple

Code : Tout sélectionner

http://www.e-central.fr/?page=201main.php&g2_view=core.DownloadItem&g2_itemId=45&g2_serialNumber=2&g2_GALLERYSID=1a06a8723565ca751d970b764f39b172
Est-ce que ça ne devrait pas être

Code : Tout sélectionner

http://www.e-central.fr/main.php?page=201&g2_view=core.DownloadItem&g2_itemId=45&g2_serialNumber=2&g2_GALLERYSID=1a06a8723565ca751d970b764f39b172
c'est à dire inverse ?page=201main.php en main.php?page=201.
Sauf que ça se fait tout seul, j'ai aucune ligne de code comme ça dans ma page... :shock:
Mon code réel :
Coté HTML :

Code : Tout sélectionner

<li><a href="?page=201" title="Espace d&eacute;tente"> Humour </a></li>
Coté PHP :

Code : Tout sélectionner

elseif ($page=='201') {include('humour/main.php');}
Par ailleurs tu as dans ton code deux fois

Code : Tout sélectionner

  </body>
</html>
. Tu peux supprimer ceux qui ne sont pas tout à la fin.

Edit : je viens de comprendre, tu as également 2 fois <doctype...><html><head><body> en fait la page que tu veux inclure dans ta page principale ne doit pas contenir ces éléments sinon ils sont répétés. Tu ne dois inclure que ce qu'il y a entre <body> et </body>. Sinon si tu veux inclure le reste c'est ta propre page qui ne doit pas avoir ces éléments ( en gros il ne te reste alors dans ton code que <?php include "main.php"; ?>)
C'est un document PHP qui est apelé, il n'y a pas toutes ses balises HTML dedans, je ne comprend pas non plus, j'ai vu ça aussi cette nuit en passant la page humour au validateur W3C. Mon site modifierait tout seul le code à générer ??? :? :shock: :shock:
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Le site je ne pense pas (ou alors tu as un hébergeur spécial) mais ton éditeur de sites c'est possible (par exemple si tu utilises Nvu, voilà pourquoi je ne pense pas l'utiliser un jour). Quand on va sur http://www.e-central.fr/humour/main.php on voit bien qu'il y a les en-têtes html qu'il faut que tu supprimes.
D'ailleurs pour tes photos le problème d'adresse est à régler sur cette page également. Comme elle sera incluse dans la page d'accueil qui n'est pas dans le même dossier, l'adresse doit être modifiée pour apparaitre depuis cette dernière. En gros il faut rajouter quelque chose comme /humour/main.php si ton code ressemble à

Code : Tout sélectionner

<img src="?g2_view=core.DownloadItem&g2_itemId=96&g2_serialNumber=2&g2_GALLERYSID=b6a0a7629edee91c9d32f8e523557829">
C'est le code de cette page que tu devrais nous donner pour qu'on puisse t'aider.
Invité

Message par Invité »

Je viens de débloquer la situation !

Il me suffit de mettre :
HTML:

Code : Tout sélectionner

<li><a href="humour/main.php?page=201" title="Espace d&eacute;tente"> Humour </a></li>
PHP :

Code : Tout sélectionner

elseif ($page=='201') {include('humour/main.php');}
La page s'ouvre ! (enfin :o ) Mais pas dans le cadre central... :?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Je n'ai pas tout suivi là… on parle de quelle page ? :oops:
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

J'ai l'impression que c'est pas bien clair dans ta tête. :roll:
Il faut savoir ce que tu veux : tout afficher dans le cadre central ou afficher chaque page séparément. Un site, ça se pense un minimum avant, et après on essaie de se tenir à se qu'on a décidé, sinon on n'avance pas. Là tu n'as pas débloquer la situation, tu as juste fait en sorte que ton code php ne serve plus à rien puisque tu affiches maintenant chaque page séparément.
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

Ben c'est ce que je vous a dit, je veu un affichage dans le centre. Mais en attendant de trouver la solution j'ai mis le code comme ça afin que la page s'affiche correctement... Sauf qu'elle n'est pas dans le cadre (mais ça ne saurait tarder :wink: ).

Ce que je n'arrive pas à comprendre : "C'est un document PHP qui est appelé, il n'y a pas toutes ses balises HTML dedans"... d'où peuvent-elles sortir ? :shock:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bon. Je vais sur la page http://www.e-central.fr/humour/main.php
C'est juste ? C'est bien là qu'il y a le problème ?

Je clique pour aller dans une galerie… par exemple la première "Images informatiques". Là je clique sur une image… et effectivement je reste sur la même page.
C'est bien de ce problème qu'on parle ?

Dans ce cas je dois avouer que ça ne vas pas être évident, vu que ce n'est pas un truc que tu as monté toi-même (j'imagine). :?
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

lordbdp a écrit :Ben c'est ce que je vous a dit, je veu un affichage dans le centre.
Dans ce cas, tu n'as pas le choix, tu dois remettre

Code : Tout sélectionner

<li><a href="?page=201" title="Espace d&eacute;tente"> Humour </a></li>
pour que le lien reste en interne dans la page d'accueil. Ensuite c'est dans ta page http://www.e-central.fr/humour/main.php que tu dois changer les liens de tes photos. Je vais essayer d'être clair. Ta page d'accueil et ta page humour/main.php ne sont pas dans le même dossier. Comme son nom l'indique, ta page humour/main.php est dans un sous-dossier "humour". En conséquence tu ne pourras pas voir simultanément les images dans ces 2 pages ! Il te faut choisir. Donc si tu inclus ta page humour dans le cadre de la page d'accueil, tu ne dois plus voir directement les images en cliquant sur http://www.e-central.fr/humour/main.php . Il faut que tu rajoutes aux endroits marqués

Code : Tout sélectionner

<img src="...">
le nom du dossier devant pour que ça donne

Code : Tout sélectionner

<img src="humour/...">
lordbdp a écrit :Ce que je n'arrive pas à comprendre : "C'est un document PHP qui est appelé, il n'y a pas toutes ses balises HTML dedans"... d'où peuvent-elles sortir ? :shock:
Tu en es sur ou tu dis ça parce que tu penses que les pages php n'ont pas ces balises ? Parce que les pages php peuvent tout à fait avoir ces balises si on le souhaite. Php ne signifie pas absence des balises <doctype> et <html>. Quand tu ouvres ta page http://www.e-central.fr/humour/main.php dans HAPedit ou n'importe quel autre éditeur, est-ce que ces balises y sont ? Si oui, supprime-les.
lordbdp
Gecko
Messages : 87
Inscription : 22 sept. 2005, 19:51

Message par lordbdp »

J'ai remis le lien défectueux...

Page main.php :

Code : Tout sélectionner

<?php
/*
 * $RCSfile: main.php,v $
 *
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2005 Bharat Mediratta
 *
 * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
include(dirname(__FILE__) . '/bootstrap.inc');

/*
 * If they don't have a setup password, we assume that the config.php is
 * empty and this is an initial install.
 */
if (!@$gallery->getConfig('setup.password')) {
    /* May be invalid if a multisite install lost its config.php; galleryBaseUrl unknown */
    header('Location: install/');
    return;
}

if (GalleryUtilities::isEmbedded()) {
    require_once(dirname(__FILE__) . '/init.inc');
} else {
    /* If this is a request for a public data file, give it to the user immediately */
    list ($view, $itemId) = GalleryUtilities::getRequestVariables('view', 'itemId');
    if ($view == 'core.DownloadItem' && !empty($itemId)) {
    /*
     * Our urls are immutable because they have the serial numbers embedded.
     * So if the browser presents us with an If-Modified-Since then it has
     * the latest version of the file already.
     */
    if (function_exists('getallheaders')) {
        $headers = GetAllHeaders();
        if (isset($headers['If-Modified-Since']) || isset($headers['If-modified-since'])) {
        header('HTTP/1.x 304 Not Modified');
        flush();
        return;
        }
    }

    /*
     * Fast download depends on having data.gallery.cache set, so set it now.  If for some
     * reason we fail, we'll reset it in init.inc (but that's ok).
     */
    $gallery->setConfig(
        'data.gallery.cache', $gallery->getConfig('data.gallery.base') . '/cache/');

    $path = GalleryDataCache::getCachePath(
        array('type' => 'fast-download', 'itemId' => $itemId));
    /* We don't have a platform yet so we have to use the raw file_exists */
    if (file_exists($path)) {
        include($path);
        if (GalleryFastDownload()) {
        flush();
        return;
        }
    }
    }

    /* Otherwise, proceed with our regular process */
    require_once(dirname(__FILE__) . '/init.inc');
    $ret = GalleryInitFirstPass();
    if ($ret->isError()) {
    _GalleryMain_errorHandler($ret->wrap(__FILE__, __LINE__), null, false);
    return;
    }

    /* Process the request */
    GalleryMain();
    flush();
}

function GalleryMain($embedded=false) {
    global $gallery;

    /* Process the request */
    list($ret, $g2Data) = _GalleryMain($embedded);
    if ($ret->isSuccess()) {
    $gallery->performShutdownActions();

    /* Write out our session data */
    $session =& $gallery->getSession();
    $ret = $session->save();
    }

    /* Complete our transaction */
    if ($ret->isSuccess() && $gallery->isStorageInitialized()) {
    $storage =& $gallery->getStorage();
    $ret = $storage->commitTransaction();
    }

    /* Error handling (or redirect info in debug mode) */
    if ($ret->isError()) {
    _GalleryMain_errorHandler($ret->wrap(__FILE__, __LINE__), $g2Data);
    $g2Data['isDone'] = true;

    if ($ret->isError() && $gallery->isStorageInitialized()) {
        /* Nuke our transaction, too */
        $storage =& $gallery->getStorage();
        $storage->rollbackTransaction();
    }
    } else if (isset($g2Data['redirectUrl'])) {
    /* If we're in debug mode, show a redirect page */
    print '<h1> Debug Redirect </h1> ' .
        'Not automatically redirecting you to the next page because we\'re in debug mode<br/>';
    printf('<a href="%s">Continue to the next page</a>', $g2Data['redirectUrl']);
    print '<hr/>';
    print $gallery->getDebugBuffer();
    }

    return $g2Data;
}

/**
 * Process our request
 * @return array object GalleryStatus a status code
 *               array[]
 */
function _GalleryMain($embedded=false) {
    global $gallery;

    $main = array();
    $urlGenerator =& $gallery->getUrlGenerator();
    $urlGenerator->initNavigation();

    /* Figure out the target view/controller */
    list($viewName, $controllerName) = GalleryUtilities::getRequestVariables('view', 'controller');

    if (!$embedded && $gallery->getConfig('mode.embed.only') && $viewName != 'core.DownloadItem') {
    /* Lock out direct access when embed-only is set */
    return array(GalleryStatus::error(ERROR_PERMISSION_DENIED, __FILE__, __LINE__), null);
    }

    /* Check if core module needs upgrading */
    list ($ret, $core) = GalleryCoreApi::loadPlugin('module', 'core', true);
    if ($ret->isError()) {
    return array($ret->wrap(__FILE__, __LINE__), null);
    }
    $installedVersions = $core->getInstalledVersions();
    if ($installedVersions['core'] != $core->getVersion()) {
    $redirectUrl = $urlGenerator->getCurrentUrlDir(true) . 'upgrade/index.php';
    return array(GalleryStatus::success(), _GalleryMain_doRedirect($redirectUrl));
    }

    $ret = GalleryInitSecondPass();
    if ($ret->isError()) {
    return array($ret->wrap(__FILE__, __LINE__), null);
    }

    /* Load and run the appropriate controller */
    $results = array();
    if (!empty($controllerName)) {
    GalleryCoreApi::relativeRequireOnce('modules/core/classes/GalleryController.class');
    list ($ret, $controller) = GalleryController::loadController($controllerName);
    if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
    }

    /* Get our form and return variables */
    $form = GalleryUtilities::getFormVariables('form');

    /* Let the controller handle the input */
    list ($ret, $results) = $controller->handleRequest($form);
    if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
    }
    /* Check to make sure we got back everything we want */
    if (!isset($results['status']) ||
        !isset($results['error']) ||
        (!isset($results['redirect']) &&
         !isset($results['delegate']) &&
         !isset($results['return']))) {
        return array(GalleryStatus::error(ERROR_BAD_PARAMETER, __FILE__, __LINE__,
                          'Controller results are missing status, ' .
                          'error, (redirect, delegate, return)'),
             null);
    }

    /* Try to return if the controller instructs it */
    if (!empty($results['return'])) {
        list ($ret, $navigationLinks) = $urlGenerator->getNavigationLinks(1);
        if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
        }
        if (count($navigationLinks) > 0) {
        /* Go back to the previous navigation point in our history */
        $redirectUrl = $navigationLinks[0]['url'];
        } else {
        $redirectUrl = GalleryUtilities::getRequestVariables('return');
        if (empty($redirectUrl)) {
            $redirectUrl = GalleryUtilities::getRequestVariables('formUrl');
        }
        }
    }

    /* Failing that, redirect if so instructed */
    if (empty($redirectUrl) && !empty($results['redirect'])) {
        /*
         * If we have a status, store its data in the session and attach it
         * to the URL.
         */
        if (!empty($results['status'])) {
        $session =& $gallery->getSession();
        $results['redirect']['statusId'] = $session->putStatus($results['status']);
        }

        $urlToGenerate = $results['redirect'];
        /* Keep our navId in the URL */
        $navId = $urlGenerator->getNavigationId();
        if (!empty($navId)) {
        $urlToGenerate['navId'] = $navId;
        }
        $redirectUrl = $urlGenerator->generateUrl($urlToGenerate);
    }

    /* If we have a redirect url.. use it */
    if (!empty($redirectUrl)) {
        return array(GalleryStatus::success(),
             _GalleryMain_doRedirect($redirectUrl, null, $controllerName));
    }

    /* Let the controller specify the next view */
    if (!empty($results['delegate'])) {
        /* Load any errors into the request */
        if (!empty($results['error'])) {
        foreach ($results['error'] as $error) {
            GalleryUtilities::putRequestVariable($error, 1);
        }
        }

        /* Save the view name, put the rest into the request so the view can get it */
        foreach ($results['delegate'] as $key => $value) {
        switch($key) {
        case 'view':
            $viewName = $value;
            break;

        default:
            GalleryUtilities::putRequestVariable($key, $value);
            break;
        }
        }
    }
    }

    /* Load and run the appropriate view */
    if (empty($viewName)) {
    $viewName = 'core.ShowItem';
    }

    list ($ret, $view) = GalleryView::loadView($viewName);
    if ($ret->isError()) {
    return array($ret->wrap(__FILE__, __LINE__), null);
    }

    /* Initialize our container for template data */
    $gallery->setCurrentView($viewName);

    /*
     * If this is an immediate view, it will send its own output directly.  This is
     * used in the situation where we want to send back data that's not controlled by the
     * layout.  That's usually something that's not user-visible like a binary file.
     */
    $data = array();
    if ($view->isImmediate()) {
    $status = isset($results['status']) ? $results['status'] : array();
    $error = isset($results['error']) ? $results['error'] : array();
    $ret = $view->renderImmediate($status, $error);
    if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
    }
    $data['isDone'] = true;
    } else {
    GalleryCoreApi::relativeRequireOnce('modules/core/classes/GalleryTemplate.class');
    $template = new GalleryTemplate(dirname(__FILE__));
    list ($ret, $results, $theme) = $view->doLoadTemplate($template, $embedded);
    if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
    }
    if (isset($results['redirect']) || isset($results['redirectUrl'])) {
        if (isset($results['redirectUrl'])) {
        $redirectUrl = $results['redirectUrl'];
        } else {
        $redirectUrl = $urlGenerator->generateUrl($results['redirect']);
        }
        return array(GalleryStatus::success(),
             _GalleryMain_doRedirect($redirectUrl, $template));
    }

    if (empty($results['body'])) {
        return array(GalleryStatus::error(ERROR_BAD_PARAMETER, __FILE__, __LINE__,
                          'View results are missing body file'), null);
    }

    $templatePath = 'gallery:' . $results['body'];
    $template->setVariable('l10Domain', $theme->getL10Domain());

    if ($embedded) {
        list ($ret, $html) = $template->fetch($templatePath);
        if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
        }
        $data = $theme->splitHtml($html, $results);
        $data['isDone'] = false;
    } else {
        $ret = $template->display($templatePath);
        if ($ret->isError()) {
        return array($ret->wrap(__FILE__, __LINE__), null);
        }
        $data['isDone'] = true;
    }
    }

    return array(GalleryStatus::success(), $data);
}

function _GalleryMain_doRedirect($redirectUrl, $template=null, $controller=null) {
    global $gallery;
    if ($gallery->getDebug() == false || $gallery->getDebug() == 'logged') {
    /*
     * The URL generator makes HTML 4.01 compliant URLs using
     * & but we don't want those in our Location: header.
     */
    $redirectUrl = str_replace('&', '&', $redirectUrl);

    /*
     * IIS 3.0 - 5.0 webservers will ignore all other headers if the location header is set.
     * It will simply not send other headers, e.g. the set-cookie header, which is important
     * for us in the login and logout requests / redirects.
     * see: http://support.microsoft.com/kb/q176113/
     * Our solution: detect IIS version and append GALLERYSID to the Location URL if necessary
     */
    if (in_array($controller, array('core.Logout', 'core.UserLogin', 'publishxp.Login'))) {
        /* Check if it's IIS and if the version is < 6.0 */
        $webserver = GalleryUtilities::getServerVar('SERVER_SOFTWARE');
        if (!empty($webserver) &&
            preg_match('|^Microsoft-IIS/(\d)\.\d$|', trim($webserver), $matches) &&
            $matches[1] < 6) {
        /*
         * It is IIS and it's a version with this bug, check if GALLERYSID is already in
         * the URL, else append it
         */
        $session =& $gallery->getSession();
        $sessionParamString =
            GalleryUtilities::prefixFormVariable(urlencode($session->getKey())) . '=' .
            urlencode($session->getId());
        if (!strstr($redirectUrl, $sessionParamString)) {
            $redirectUrl .= (strpos($redirectUrl, '?') === false) ? '?' : '&';
            $redirectUrl .= $sessionParamString;
        }
        }
    }

    /* Use our PHP VM for testability */
    $phpVm = $gallery->getPhpVm();
    $phpVm->header("Location: $redirectUrl");
    return array('isDone' => true);
    } else {
    return array('isDone' => true, 'redirectUrl' => $redirectUrl, 'template' => $template);
    }
}

/* TODO: move this out of main.php so that we don't have load it on every page view */
function _GalleryMain_errorHandler($error, $g2Data=null, $initOk=true) {
    global $gallery;
    $failsafe = false;
    if (!$initOk) {
    $failsafe = true;
    }

    if (!$failsafe) {
    list ($ret, $themeId) =
        GalleryCoreApi::getPluginParameter('module', 'core', 'default.theme');
    if ($ret->isError()) {
        $failsafe = true;
    }
    }

    if (!$failsafe) {
    list ($ret, $theme) = GalleryCoreApi::loadPlugin('theme', $themeId);
    if ($ret->isError()) {
        $failsafe = true;
    }
    $templateAdapter =& $gallery->getTemplateAdapter();
    $templateAdapter->setTheme($theme);
    }

    if (!$failsafe) {
    list ($ret, $view) = GalleryView::loadView('core.ErrorPage');
    if ($ret->isError()) {
        $failsafe = true;
    }
    }

    if (!$failsafe) {
    $dummyForm = array();
    GalleryCoreApi::relativeRequireOnce('modules/core/classes/GalleryTemplate.class');
    $template = new GalleryTemplate(dirname(__FILE__));
    $view->setError($error);
    list ($ret, $results) = $view->loadTemplate($template, $dummyForm);
    if ($ret->isError()) {
        $failsafe = true;
    }

    $t =& $template->getVariableByReference('theme');
    $t['errorTemplate'] = $results['body'];
    }

    if (!$failsafe) {
    $template->setVariable('l10Domain', 'modules_core');
    list ($ret, $templatePath) = $theme->showErrorPage($template);
    if ($ret->isError()) {
        $failsafe = true;
    }
    }

    if (!$failsafe) {
    $template->setVariable('l10Domain', 'themes_' . $themeId);
    $ret = $template->display("themes/$themeId/templates/$templatePath");
    if ($ret->isError()) {
        $failsafe = true;
    }
    }

    if ($failsafe) {
    /* Some kind of catastrophic failure.  Just dump the error out to the browser. */
    print '<h2>Error</h2>' . $error->getAsHtml(false);
    if ($gallery->getDebug() == 'buffered') {
        print '<h3>Debug Output</h3><pre>' . $gallery->getDebugBuffer() . '</pre>';
    }
    return;
    }
}
?>
Moi je n'y ai pas vu les balises HTML mais elles sont peut-être cachées... Pas plus que pour

Code : Tout sélectionner

<img src="...">
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités