braveo:blogcreation
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | braveo:blogcreation [2022/09/04 21:02] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Création d'un blog en php ====== | ||
+ | Comme nous l' | ||
+ | |||
+ | ===== Note ===== | ||
+ | Pour avoir un blog de la forme **http:// | ||
+ | |||
+ | ===== Préparation du multiblog ===== | ||
+ | |||
+ | Pour l' | ||
+ | Une fois notre multiblog mis en place, on se retrouve avec une arboresence suivante : | ||
+ | |||
+ | <note important> | ||
+ | **Arborescence de notre multiblog :** | ||
+ | | ||
+ | < | ||
+ | /www_ | ||
+ | |___ all-blogs | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | |___ blogs # répertoire où seront stocké tous les blogs | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | |___ dotclear | ||
+ | |||
+ | </ | ||
+ | Le fichier index.php du dossier blog1 | ||
+ | < | ||
+ | <?php | ||
+ | define(' | ||
+ | require dirname(__FILE__).'/ | ||
+ | ?> | ||
+ | </ | ||
+ | Ce code sera automatiquement | ||
+ | |||
+ | |||
+ | ===== Le code PHP ===== | ||
+ | Fichier : createblog.php | ||
+ | |||
+ | <code PHP> | ||
+ | <?php | ||
+ | |||
+ | require '/ | ||
+ | |||
+ | /* dans config-blog.php, | ||
+ | |||
+ | $admin_dc = " | ||
+ | |||
+ | $pwd_dc = " | ||
+ | |||
+ | */ | ||
+ | require_once(" | ||
+ | |||
+ | $blog_id=$argv[1]; | ||
+ | $blog_url = " | ||
+ | // le nom du blog | ||
+ | $blog_name = $blog_id; | ||
+ | // Description du blog | ||
+ | $blog_desc = "Ici, Je mets la description de mon blog"; | ||
+ | // chemin des blogs | ||
+ | $Path_blogs ='/ | ||
+ | $public_path = " | ||
+ | $themes_path = "/ | ||
+ | |||
+ | /* Adresse url des thèmes | ||
+ | Pour le moment les utilisateurs n'ont pas la possibilité de modifier leur thèmes | ||
+ | mais par la suite, cela sera possible */ | ||
+ | | ||
+ | $themes_url = " | ||
+ | // on récupère les identifiants du fichier config-blog.php | ||
+ | $user_id = $admin_dc; | ||
+ | $pwd = $pwd_dc; | ||
+ | |||
+ | # authentification en admin obligatoire | ||
+ | $check_user = $core-> | ||
+ | if ( ! $check_user) { | ||
+ | echo " | ||
+ | return NULL; | ||
+ | } | ||
+ | |||
+ | |||
+ | # authentification en admin obligatoire | ||
+ | $check_user = $core-> | ||
+ | # Est-ce que le blog existe | ||
+ | $ifBlogExiste = $core-> | ||
+ | if ( $ifBlogExiste) { | ||
+ | echo "le blog existe"; | ||
+ | return NULL; | ||
+ | } | ||
+ | |||
+ | # Création du blog | ||
+ | $cur = $core-> | ||
+ | if (!$cur) { | ||
+ | echo " | ||
+ | return NULL; | ||
+ | }else{ | ||
+ | $blog_id = $cur-> | ||
+ | $blog_url = $cur-> | ||
+ | $blog_name = $cur-> | ||
+ | $blog_desc = $cur-> | ||
+ | $cur_add_blog=$core-> | ||
+ | |||
+ | if ( $cur_add_blog) { | ||
+ | echo " | ||
+ | return NULL; | ||
+ | } | ||
+ | |||
+ | # Paramètres du blog | ||
+ | |||
+ | $core-> | ||
+ | $blog_settings = new dcSettings($core, | ||
+ | $blog_settings-> | ||
+ | $blog_settings-> | ||
+ | $blog_settings-> | ||
+ | $blog_settings-> | ||
+ | $blog_settings-> | ||
+ | |||
+ | # Création des répertoires sur le serveur | ||
+ | # le répertoire aura le nom de la variable $blog_id | ||
+ | |||
+ | if ( ! mkdir (" | ||
+ | echo " | ||
+ | return NULL; | ||
+ | } | ||
+ | if ( ! mkdir (" | ||
+ | echo " | ||
+ | return NULL; | ||
+ | } | ||
+ | if ( ! mkdir (" | ||
+ | echo " | ||
+ | return NULL; | ||
+ | } | ||
+ | |||
+ | # Création d'un lien symbolique dans le répertoire créé | ||
+ | # On utilise le thème dotclear par défaut | ||
+ | symlink("/ | ||
+ | $inF = fopen("/ | ||
+ | fwrite($inF,"<? | ||
+ | fclose($inF); | ||
+ | return true; | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | ===== Utilisation de notre code ===== | ||
+ | Maintenant que notre fichier createblog.php est créé, nous allons voir comment l' | ||
+ | ==== Exemple ==== | ||
+ | Nous supposons que vous utilisez un serveur ldap pour gérer vos utilisateurs. | ||
+ | Le code fonctionne bien entendu, même si vous utilisez simplement la de base de données de dotclear. | ||
+ | |||
+ | < | ||
+ | 1. Nous disposons d'un utilisateur nommé " | ||
+ | 2. Création d'un fichier monblog.php | ||
+ | 3. Le blog sera accessible à l' | ||
+ | </ | ||
+ | |||
+ | Le fichier | ||
+ | |||
+ | <code PHP> | ||
+ | <?php | ||
+ | |||
+ | $identifiant = ' | ||
+ | |||
+ | /* on fait appel à une fonction système exec | ||
+ | Bien entendu c'est à éviter, ayant essayé d' | ||
+ | cela ne fonctionnait pas. On avait des problèmes d' | ||
+ | */ | ||
+ | exec(" | ||
+ | ?> | ||
+ | </ | ||
+ | Et voilà, c'est fini. Dorénavant sur votre serveur, vous devriez avoir : | ||
+ | < | ||
+ | /www_ | ||
+ | |___ all-blogs | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | |___ blogs | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | |___ dotclear | ||
+ | |||
+ | </ |
braveo/blogcreation.txt · Dernière modification : 2022/09/04 21:02 de 127.0.0.1