Artiphp - CMS open source et gratuit
Vous êtes ici » Accueil/Forum
Saisissez votre recherche
RechercherRechercher   Liste des MembresListe des Membres   S'enregistrerS'enregistrer    ProfilProfil 
Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 


Connexion Artiphp4 / phpBB3
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Artiloo.com Index du Forum -> Scripts et Add ons des membres
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Sam 09 Fév 2008 20:31    Sujet du message: Répondre en citant

Nouvelle version du 9 février 2008 en ligne (même lien).

Mise à jour le 09/02/2008 :
- modification de la condition dans styles/prosilver/template/login_body.html : était trop restrictive et empêchait la connexion de contrôle pour l'accès au panneau d'administration de phpBB3


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Ven 29 Fév 2008 12:11    Sujet du message: MP à la première visite du forum Répondre en citant

J'aimerais qu'un message privée soit posté à la première visite du forum (ou suite à l'inscription sur le site).

Si un add-on Phpbb3 existe bien, il n'est pas compatible avec la connectivité Phpbb3 / Artiphp.

Si quelqu'un a déjà installé cela ou si quelqu'un a une idée de la façon de procéder...

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Jeu 27 Mar 2008 8:42    Sujet du message: Répondre en citant

Bonjour,

Il me semble (mais je n'en suis pas très sûr) qu'un sitemap existait sur le forum Phpbb2. Y en aura t-il un prochainement sur Phpbb3 ?

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Jeu 27 Mar 2008 20:13    Sujet du message: Répondre en citant

Bonjour,

Essaie de donner davantage d'éléments au sujet de cet add-on. Lien ? Message privé dans Artiphp ou dans phpBB3 ? Etc. ?

En ce qui concerne le site map, effectivement une version existe pour ArtiphpBB basé sur phpBB2.


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ivoyages



Inscrit le: 03 Jan 2004
Messages: 1522

MessagePosté le: Dim 30 Mar 2008 16:38    Sujet du message: Répondre en citant

Bonjour,

L'add-on sur l'envoi d'un MP est dispo ici

Ah c'était un sitemap basé sur Artiphpbb2.

Faudra peut être cherché du coté de Phpbb3, il en existe peut être un en cours de dev

Greg
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Sam 12 Avr 2008 9:45    Sujet du message: Re: MP à la première visite du forum Répondre en citant

ivoyages a écrit:
J'aimerais qu'un message privée soit posté à la première visite du forum (ou suite à l'inscription sur le site)...


En complétant le code dans artilogin.php, ça devrait logiquement suffire :
Code:
    case 'login':
        if ($user->data['is_registered']) {
            $retour_arti = true;
            break;
        }
        $username = utf8_encode($username);
        $autologin = $autologin == 1 ? true : false;
        $admin = 0;
        $viewonline = $user->data['session_viewonline'] ? $user->data['session_viewonline'] : 1;

        // Authentification de l'utilisateur
        $auth->login($username, $password, $autologin, $viewonline, $admin);

        if ($user->data['is_registered']) {

            // DEBUT Welcome PM on First Login (WPM) by DualFusion
            if ($config['wpm_enable'] && $user->data['user_lastvisit'] == 0) {
                include($phpbb_root_path . 'includes/functions_wpm.' . $phpEx);
                send_wpm($user->data['user_id']);
            }
            // FIN Welcome PM on First Login (WPM) by DualFusion

            $_SESSION['SESSION_MODO'] = $user->data['group_id'];
            $_SESSION['SESSION_IDPHPBB'] = $user->data['user_id'];
        }
    break;



jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Sam 12 Avr 2008 15:56    Sujet du message: Répondre en citant

En ce qui concerne le sitemap Google pour phpBB3, voici ce qu'il est possible de faire en l'état.

Etant donné que tu as déjà installé ArtiSitemap, modifie le fichier artzone/sitemapindex.php ainsi :
REMPLACE ou mets en commentaire
Code:
// On sélectionne les enregistrements dans la table des modules
$complmod="";
$req = mysql_query("SELECT nomModule, urlVisiteur FROM ".$extension."module WHERE urlVisiteur<>''");
while ($result = mysql_fetch_array($req)) {

    $module->nomModule = $result['nomModule'];
    include("../artzone/traduction_module.php");

    if ($module->nomModule=="Forumbb") {
        $complmod.="<tr>\n";
        $complmod.="<td valign=\"top\" width=\"90%\" style=\"BORDER:#000000 1px dashed\" bgcolor=\"#EAEAFF\">\n";
        $complmod.="<img src=\"imgadmin/fleche.gif\" alt=\"\" /> <a href=\"sitemapforum.php\"><b>".$LG_MAJSITMAPMOD." ".$tradnommodule."</b></a>\n";
        $filename = "../sitemapforum.xml";
        if (file_exists($filename)) {
            $complmod.="<i>($LG_LASTMAJSITMAP : " . date ("F d Y H:i", filemtime($filename));
            $complmod.="</i>)";
        }
        $complmod.="</td>\n";
        $complmod.="</tr>\n";
    }
}

PAR
Code:
if ($forumbb == 1) {
    $complmod = "<tr>\n";
    $complmod .= "<td valign=\"top\" width=\"90%\" style=\"border:#000000 1px dashed\" bgcolor=\"#EAEAFF\">\n";
    $complmod .= "<img src=\"imgadmin/fleche.gif\" alt=\"\" /> <a href=\"sitemap_phpbb3.php\"><b>" . $LG_MAJSITMAPMOD . " forum phpBB3</b></a>\n";
    $filename = '../sitemap_phpbb3.xml';
    if (file_exists($filename)) {
        $complmod .= "<i>($LG_LASTMAJSITMAP : " . date ("F d Y H:i", filemtime($filename)) . "</i>)";
    }
    $complmod .= "</td>\n";
    $complmod .= "</tr>\n";
}

(partie non testée)

Ensuite, crée un fichier vide sitemap_phpbb3.xml à la racine du site Artiphp (donc au même niveau que le fichier sitemap.xml existant).

Enfin, crée un fichier sitemap_phpbb3.php dans le répertoire artzone/ dans lequel tu colles ce code :
Code:
<?php
session_start();
error_reporting(0);

/************************************************
Artiphp 4 - Sitemap adapté pour phpBB3
copyright : Ronald Guérin - webmaster@artiloo.com
http://www.artiloo.com
jimro - 12 avril 2008
************************************************/

// Autorisation d'ouverture de cette page uniquement aux statuts autorisés
// -----------------------------------------------------------------------
if (!in_array($_SESSION['SESSION_STATUT'], array('artadmin', 'auteurqal', 'auteur'))) {
    header('Location: ../outils/erreur.php?ec=2');
    exit();
}

// Pour la version du 20/01/2008 du module de connexion Artiphp/phpBB3
include('../artzone/connect.php');
// Adaptation automatique du chemin vers phpBB3
$cheminphpBB = is_dir($cheminphpBB) ? $cheminphpBB : substr($cheminphpBB, 3);
$nom_repertoire_phpBB3 = substr($cheminphpBB, strrpos($cheminphpBB, '/') + 1);
// Initialisation de la connexion et des fonctions de phpBB3 utiles dans le contexte
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : $cheminphpBB . '/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require_once($phpbb_root_path . 'common.' . $phpEx);
require_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);

/*
// Pour la version du 09/02/2008 du module de connexion Artiphp/phpBB3
define('NEED_FCTS_PHPBB', true);
include('../artzone/connect.php');
// Adaptation automatique du chemin vers phpBB3
$cheminphpBB = is_dir($cheminphpBB) ? $cheminphpBB : substr($cheminphpBB, 3);
$nom_repertoire_phpBB3 = substr($cheminphpBB, strrpos($cheminphpBB, '/') + 1);
*/

// Préparation des requêtes sur les tables de phpBB3
// -------------------------------------------------
// Changement, si nécessaire, du charset pour la connexion à la base de données
if (version_compare(mysql_get_server_info($link), '4.1.3', '>=')) {
    mysql_query("SET NAMES 'utf8'", $link);
}
// Début de la session phpBB3
$user->session_begin();
//Récupération des droits de l'utilisateur anonyme
$tab_userdata = array();
$sql = "SELECT user_id, user_type, user_permissions FROM ".$extension2."users WHERE username_clean='anonymous'";
$res = $db->sql_query($sql);
$row = $db->sql_fetchrow($res);
$tab_userdata['user_id'] = $row['user_id'];
$tab_userdata['user_type'] = $row['user_type'];
$tab_userdata['user_permissions'] = $row['user_permissions'];
$auth->acl($tab_userdata);
// Identification des forums non-autorisés pour l'utilisateur anonyme (visiteurs non-connectés)
$forbidden_forums = $auth->acl_getf('!f_read', true);
$forbidden_forums = array_unique(array_keys($forbidden_forums));

// Création du fichier XML
$syndic = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$syndic .= "<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
$syndic .= "    <url>\n";
$syndic .= "    <loc>" . $votre_url . "/" . $nom_repertoire_phpBB3. "/</loc>\n";
$syndic .= "    <changefreq>always</changefreq>\n";
$syndic .= "    <priority>1.0</priority>\n";
$syndic .= "    </url>\n";

// Forums
$requete2 = "SELECT forum_id FROM ".$extension2."forums WHERE forum_type <> 0 ";
if (sizeof($forbidden_forums)) {
    $requete2 .= 'AND ' . $db->sql_in_set('forum_id', $forbidden_forums, true) . ' ';
}
$requete2 .= "ORDER BY forum_id";
$result2 = mysql_query($requete2, $link);

while ($forum = mysql_fetch_object($result2)) {

    $syndic .= "    <url>\n";
    $syndic .= "        <loc>" . $votre_url . "/" . $nom_repertoire_phpBB3. "/viewforum.php?f=" . $forum->forum_id . "</loc>\n";
    $syndic .= "        <changefreq>always</changefreq>\n";
    $syndic .= "        <priority>0.5</priority>\n";
    $syndic .= "    </url>\n";

    // Sujets
    $requete = "SELECT topic_id FROM ".$extension2."topics WHERE forum_id = " . $forum->forum_id . " ORDER BY topic_time DESC";
    $result = mysql_query($requete, $link);

    while ($d2 = mysql_fetch_object($result)) {
        $syndic .="    <url>\n";
        $syndic .="        <loc>" . $votre_url . "/" . $nom_repertoire_phpBB3. "/viewtopic.php?t=" . $d2->topic_id . "</loc>\n";
        $syndic .="        <changefreq>always</changefreq>\n";
        $syndic .="        <priority>0.5</priority>\n";
        $syndic .="    </url>\n";
    }

}

// Rétablissement éventuel des caractéristiques de connexion à la base de données MySQL
// Code issu en partie de http://www.adviesenzo.nl/examples/php_mysql_charset_fix/
if (version_compare(mysql_get_server_info($link), '4.1.3', '>=')) {
    $db_charset = mysql_query("SHOW VARIABLES LIKE 'character_set_database'", $link);
    $charset_row = mysql_fetch_assoc($db_charset);
    mysql_query("SET NAMES '" . $charset_row['Value'] . "'", $link);
    unset($db_charset, $charset_row);
}

mysql_close();

$syndic .= "</urlset>\n";

// Ecriture du fichier sitemap_phpbb3.xml
// --------------------------------------

// chmod par fonctions FTP
if ($ftp == '1') {
    $ftpcon2 = ftp_connect($ftp_host) or die('Erreur connexion FTP');
    $loginresult2 = ftp_login($ftpcon2, $ftp_login, $ftp_mdp);
    $repertoire2 = $ftp_repertoire;
    ftp_chdir($ftpcon2, $repertoire2) or die('Erreur ftp_chdir()');
    $chmod_cmd1 = 'CHMOD 0666 sitemap_phpbb3.xml';
    ftp_site($ftpcon2, $chmod_cmd1);
}
// -----------------------

$Fnm2 = '../sitemap_phpbb3.xml';
chmod($Fnm2, 0666);

$inF2 = fopen($Fnm2, 'w');
fputs($inF2, $syndic);
chmod($Fnm2, 0644);
fclose($inF2);

// chmod par fonctions FTP
if($ftp == '1') {
    $chmod_cmd1 = 'CHMOD 0644 sitemap_phpbb3.xml';
    ftp_site($ftpcon2, $chmod_cmd1);
    ftp_close($ftpcon2);
}
// -----------------------

header ('Location: sitemapindex.php');
exit();
?>

(testé et fonctionnel avec les versions du 20/01 et du 09/02/2008 du module de connexion Artiphp/phpBB3 ; non testé dans le contexte de la zone admin)


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Malouk



Inscrit le: 12 Juil 2003
Messages: 594

MessagePosté le: Lun 12 Mai 2008 13:10    Sujet du message: Répondre en citant

Bonjour,

Je viens de tester la dernière version. La connexion et l'inscription fonctionnent, par contre, impossible de modifier les données. C'est à chaque fois le même message d'erreur : Ce login existe déjà... veuillez en choisir un autre (et ce, quelque soit les modifications effectuées).
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Lun 12 Mai 2008 19:10    Sujet du message: Répondre en citant

Bonjour Malouk,

Bien vu et merci Malouk.
Effectivement la vérification du login est faite systématiquement, même s'il n'est pas modifié.

Pour corriger le souci, dans le fichier welcome/inscription2.php vers la ligne 125 :
JUSTE AVANT
Code:
       /* ajout Malouk */
        //***** MODIF jimro ***** Correction : remplacement de $_login par $_login2 - 29/04/2006
       if (!preg_match('/^[a-z0-9éèêëàâäìïîôöòùûüç]+$/i', $_login2)) {
          $attention_login = '3';
       }
       /* fin ajout Malouk */

AJOUTER
Code:
    // Vérifier la validité du login uniquement s'il est modifié - 12/05/2008
    if ($_login2 != $_login) {


et vers la ligne 170 :
JUSTE AVANT
Code:
    // ------------------------------------------------------------

    // Si toutes les conditions sont respectées, la mise à jour s'effectue

AJOUTER
Code:
    }



jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Malouk



Inscrit le: 12 Juil 2003
Messages: 594

MessagePosté le: Mer 14 Mai 2008 20:38    Sujet du message: Répondre en citant

Bonjour jimro,

Parfait, plus de problème avec la modification des données

Reste une chose. Après une mise à jour de phpbb2 vers phpbb3, lors de la première connexion, le forum met à jour le mot de passe vers le nouveau format de phpbb3. Mais ça ne se fait pas via artilogin. du coup la connexion sur phpbb est impossible.

C'est la fonction login_db dans include/auth/auth_db.php qui s'occupe de ça, mais j'ai beau chercher dans tous les coins des fichiers de phpbb3, je ne vois pas comment elle utilisée
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Ven 16 Mai 2008 10:37    Sujet du message: Répondre en citant

Dans artilogin.php pour phpBB3, j'ai essayé de coller le plus possible à la philosophie phpBB3 en utilisant les fonctions de phpBB.

C'est pourquoi, le code suivant est utilisé dans artilogin.php :
Code:
$auth->login($username, $password, $autologin, $viewonline, $admin);

En analysant le code, on voit bien que cette méthode utilise à un moment donné login_db() qui procède à la conversion du mot de passe si le flag user_pass_convert est à 1.

Cela devrait donc fonctionner sauf s'il existe un problème ailleurs ou s'il lui manque un paramètre.

A voir.


jimro
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Malouk



Inscrit le: 12 Juil 2003
Messages: 594

MessagePosté le: Ven 16 Mai 2008 12:19    Sujet du message: Répondre en citant

En effet, c'est bien dans la fonction login que ça se passe. Et dans le fichier function, la fonction login est utilisée de la même façon.
Je ne vois pas pourquoi ça ne marche pas via artilogin.

J'essaie de trouver ou ça coince à coup de

echo $variable;
exit;

dans le code de phpbb


Dernière édition par Malouk le Ven 16 Mai 2008 13:13; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Malouk



Inscrit le: 12 Juil 2003
Messages: 594

MessagePosté le: Ven 16 Mai 2008 13:06    Sujet du message: Répondre en citant

C'est bon j'ai trouvé ou ça coince

Dans la fonction login_db à cette ligne :

Code:
$password_old_format = isset($_REQUEST['password']) ? (string) $_REQUEST['password'] : '';


En se connectant via artilogin, le $_REQUEST['password'] n'existe pas vu qu'on a pas utilisé le formulaire de phpBB.

Dans artilogin, en ajoutant :

Code:
$_REQUEST['password'] = $password;


au dessus de :

Code:
// Authentification de l'utilisateur
$auth->login($username, $password, $autologin, $viewonline, $admin);


ça passe.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jimro



Inscrit le: 07 Oct 2004
Messages: 6918

MessagePosté le: Ven 16 Mai 2008 19:57    Sujet du message: Répondre en citant

Encore une fois, bien vu Malouk. Merci pour ta contribution.
Il lui manquait bien une donnée à cette fonction login_db().

jimro

PS : Je ferai dès que possible une mise à jour de l'archive.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
achtungbaby



Inscrit le: 06 Mai 2004
Messages: 1466

MessagePosté le: Ven 10 Avr 2009 20:05    Sujet du message: Répondre en citant

Bonjour,

est-ce que la dernière archive en téléchargement tiens compte des dernières modifications ?

Autre question, existe-t'il une documentation expliquant les modifications apportés dans chaques fichiers déjà existants. Ecraser les fichiers déjà modifiés risque de casser tout simplement ces modifications, je pense aux fichiers d'inscription avec captcha et diverses modifs personnelles. Ensuite, sur les fichiers phpBB3, écraser le fichier function.php me semble périlleux si il y a eu des modifs entre la version en ligne et la version sur laquelle tu as fais tes tests. Je vais installer une version modifié du forum phpBB SEO et j'ai bien peur qu'en écrasant ça crée des dysfonctionnements.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Artiloo.com Index du Forum -> Scripts et Add ons des membres Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivante
Page 5 sur 9

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com