Aide - Recherche - Membres - Calendrier
Version complète : Changement d'adresse d'un fichier
Forum osCommerce-fr > Les Bases d'OsCommerce MS2 > Fonctionnement
Yann à Moulins
Bonjour à tous,

Voilà mon problème, j'ai deux fichiers qui s'appellent define_mainpage.php, l'un est dans la partie admin et l'autre dans catalog/includes/languages/french/

Je voudrais déplacer celui qui est dans french pour le remonter de deux dossiers, c'est à dire dans includes.

Mais j'ai une partie de code qui me gêne, et j'aurai voulu savoir si quelqu'un pouvait m'aider à arranger ceci.

Voici le code qui est juste au dessus du corps de la page (head, body ...) :

CODE
<?php

require('includes/application_top.php');

// This will cause it to look for 'catalog/language/(L)/define_mainpage.php'

$HTTP_GET_VARS['filename'] = FILENAME_DEFINE_MAINPAGE;

switch ($HTTP_GET_VARS['action']) {
case 'save':
if ( ($HTTP_GET_VARS['lngdir']) && ($HTTP_GET_VARS['filename']) ) {
if ($HTTP_GET_VARS['filename'] == $language . '.php') {
$file = DIR_FS_CATALOG_LANGUAGES . $HTTP_GET_VARS['filename'];
} else {
$file = DIR_FS_CATALOG_LANGUAGES . $HTTP_GET_VARS['lngdir'] . '/' . $HTTP_GET_VARS['filename'];
}
if (file_exists($file)) {
if (file_exists('bak' . $file)) {
@unlink('bak' . $file);
}
@rename($file, 'bak' . $file);
$new_file = fopen($file, 'w');
$file_contents = stripslashes($HTTP_POST_VARS['file_contents']);
fwrite($new_file, $file_contents, strlen($file_contents));
fclose($new_file);
}
tep_redirect(tep_href_link(FILENAME_DEFINE_MAINPAGE, 'lngdir=' . $HTTP_GET_VARS['lngdir']));
}
break;
}

if (!$HTTP_GET_VARS['lngdir']) $HTTP_GET_VARS['lngdir'] = $language;

$languages_array = array();
$languages = tep_get_languages();
$lng_exists = false;
for ($i=0; $i<sizeof($languages); $i++) {
if ($languages[$i]['directory'] == $HTTP_GET_VARS['lngdir']) $lng_exists = true;

$languages_array[] = array('id' => $languages[$i]['directory'],
'text' => $languages[$i]['name']);
}
if (!$lng_exists) $HTTP_GET_VARS['lngdir'] = $language;
?>


Je sais c'est pas évident, mais ça m'aiderait tellement. rolleyes.gif
Gnidhal
et pourquoi veux-tu faire ça ???
en fait avec cette contrib tu génère depuis l'admin un contenu HTML qui sera inclus dans la page index.php
ce contenu html est enregistré dans includes/languages/french/define_mainpage.php (pour le français) et si tu as une autre langue, ce même fichier sera généré dans le dossier de langue qui va bien...
Tout marche très bien comme ça.
Quel est ton but au juste ?
Yann à Moulins
Bonjour Gnidhal,

Désolé de t'embeter encore,

L'idée que j'ai est de créer une boxe administrable, c'est à dire qu'au lieu d'avoir la page index administrable, en faire un menu.

Mais je me redirige vers la fonction include mais depuis les boxes.
C'est à dire que j'ai créé une page dans les boxe : qui s'appelle menu.php et c'est elle qui va appeler la page define_mainpage.php.

Le soucis étant que mon include ressemble actuellement à ça :
include('../languages/french/define_mainpage.php');

Je pense que tu as compris la manipulation :
faut que je ressorte du dossier pour aller chercher dans un autre dossier, puis encore dans un autre.

La mise en page n'étant pas un problème... lol

Aurais tu la solution miracle?

Merci encore Gnidhal.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.