braveo:blogcreation
Différences
Ci-dessous, les différences entre deux révisions de la page.
| — | braveo:blogcreation [2024/04/16 22:20] (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 | ||
| + | |||
| + | </ | ||
