Comment créer un thème Weezo ?

Comment modifier un thème existant ou en développer un nouveau

Modérateurs : Weezo, Modérateurs

Comment créer un thème Weezo ?

Message par Weezo » Mer 15 Nov, 2006 10:37

Un thème Weezo se présente sous la forme d'un répertoire contenant :
- une feuille de style CSS, nommée "theme.css"
- un script optionnel définissant le menu, nommé "menu.php"
- un script optionnel définissant le formulaire de connexion, nommé "loginForm.php"
- un script optionnel définissant le fond du "bureau" nommé "background.php"
- ainsi que l'ensemble des graphismes utilisés.

Le nom du répertoire définit le nom du thème. Ce répertoire doit être placé dans /www/themes

Un thème est reconnu comme valide par l'application à partir du moment où un fichier "theme.css" est présent dans le 1er niveau de sous-répertoire de /www/themes.

Pour être distribué, les fichiers du répertoire de thème doivent être regroupés dans un fichier zip dont l'extension est renommée en .weezoTheme


Feuille de style

Désolé, aucune documentation n'est disponible : il est fortement recommandé de prendre comme base l'une des feuilles de style existantes pour élaborer un nouveau thème.

Celles-ci sont (légèrement) commentées...


menu.php

Ce script est optionnel.

Il permet de définir le menu de contrôle. Ce menu est généralement placé à gauche de l'écran mais rien n'empêche de le mettre en haut, à droite ou en bas (Cf. ressource "nature")...

Le menu est situé dans la frame 'menuFrame'. Le script est "required_once" par le script menuFrame.php. Il contient deux parties :
une fonction displayMenu() qui contient l'affichage à proprement parler du menu. Ce script doit commencer par fermer la balise </head>, après l'inclusion éventuelle de style ou de javascript.
Il doit ensuite ouvrir la balise <body>, effectuer l'affichage des élements puis se terminer sans fermer la balise </body> (un formulaire est inclus en fin de page).
Le script doit s'appuyer sur les tableaux $_SESSION['res'][n°de ressource] qui contient l'ensemble des paramètres de chaque ressource. Ces tableaux contiennent en particulier les valeurs suivantes :

* version : version of file * resourceName : name of resource (filename without extension)

* name : "label" of resource

* type : type of resource

* subType : sub type of resource

* baseFile : main script file name (without path)

* resourceScriptPath : path (from document root) to resource script(s)

* resourceDataDir : path to resource data directory

* resourceIcon : path (from document root) to resource's icon

* resourceJsLink : javascript link to main resource script

* resourceTypeLabel : label of resource as specified in resource's desciber file or, if not found, resource's type label

* resourcePreviewImage (optional) : path (from document root) to resource's preview image

* resourceDescription (optional) : path (from document root) to resource's description (read from describer.ini file)

* resourceStartsSession : true if resource doesn't need a session_start from security.php script

* resourceConfigFile : (optional) resource configuration script name


Les variables suivantes (hors de la fonction displayMenu) définissant le positionnement des frames et l'utilisation des fenêtres :
* $menuFramePosition : valorisée à 'left', 'top', 'right', 'bottom', elle définit la position du menu.
* $menuFrameSize : définit la largeur (ou la hauteur si elle est positionnée en haut ou en bas) du menu.
* $scrolling : valorisée par les valeurs standard HTML pour une frame, définit les conditions d'affichage des scrollbars de la frame du menu.
* $useWin : valorisé à true pour utiliser les fenêtres HTML (Cf. ressource "OS" par exemple"), valorisé à false pour ne pas utiliser les fenêtres HTML (Cf. ressource "Marine" par exemple")
* $winEmptyHTML (si les fenêtres HTML sont utilisées) : contenu HTML de l'IFRAME de la fenêtre avant affectation d'une SRC.
* stretchedBackground (si les fenêtres HTML sont utilisées, optionnel) : valorisé avec l'URL d'une image qui sera affichée "étirée" en fond de bureau.

Comme pour la création d'un thème, il est recommandé de se baser sur un script existant...


loginForm.php

Ce script est optionnel.

Il permet de redéfinir la page de login.

A l'inverse de menu.php, ce script est en charge de l'affichage complet de la page, depuis <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> jusqu'à </HTML>

Le contenu du script est libre, il doit uniquement satisfaire aux conditions suivantes : les informations de connexions doivent être postées vers '/index.php' sous forme de POST. Les données suivantes doivent être incluses dans un formulaire ayant la propriété name="loginForm" :
'userId' : identifiant du compte. Les identifiants sont numériques et vont de 0 à n-1
'password' : mot de passe
'userSelectedTheme' (optionnel) : thème sélectionné par l'utilisateur (en ce qui concerne cette donnée, il est recommandé d'utiliser l'instruction " if(cfGeneralData('allowUserThemeChange')) echo outThemeSelectionControl('general',false); ", qui se charge d'afficher le contrôle, qui remplit lui-même le thème sélectionné dans le champ 'userSelectedTheme' du formulaire 'loginForm').

La soumission de ce formulaire doit se faire au travers de l'appel à la fonction javascript "startEncryption()". Celle ci assure le cryptage du mot de passe contenu dans le champ document.loginForm.password.value, ainsi que la soumission du formulaire.
Cette fonction est inclue par la fonction PHP includeRSAScripts().


Le traitement de données d'authentification est assuré par le script 'login.php'.


Le script loginForm.php peut (doit...) se baser sur le tableau des comptes $_SESSION['user'][0..n-1].

Pour chaque comptes les informations suivantes sont données :
'authenticationMethod' : valorisée à 'password' ou 'noAuthentication', elle indique le type d'authentification du compte,
'name' : nom du compte,
'icon' : nom de l'icone associé au compte. Le chemin complet de l'icône est '/gfx/icons/'.$_SESSION['user'][$i]['icon']
'hint' (donnée optionnelle) : indication associée au mot de passe.



De plus 2 variables sont définies par le script incluant loginForm.php :
$wrongPasswordSent : mis a vrai si l'utilisateur a saisi un mauvais mot de passe.
$userToLoad : identifiant du compte sélectionné (qui peut soit avoir été passé en amont au travers d'un paramètre GET, soit correspondre au compte pour lequel le faux mot de passe a été saisi).


Il est là aussi recommandé de se baser sur un script existant...


Background.php

Ce script optionnel (uniquement dans le cas où les fenêtres HTML sont utilisées) sert à définir le fond du "bureau".
Si présent à la racine du répertoire du thème, il est inséré entre les balises <body> et </body> par le script mainFrame.php (qui inclut de plus les scripts nécessaires à la gestion des fenêtres).
Weezo
Tôlier
 
Message(s) : 7364
Inscription : Mar 14 Nov, 2006 10:42

Re: Comment créer un thème Weezo ?

Message par Maredloop » Lun 07 Mars, 2016 14:09

Ceci est vraiment une bonne information, je l'ai visité ce blog pour lire quelque chose de frais et je vous admire vraiment les efforts à le faire.
ce qui est très grande et brillante informations
Maredloop
Membre
 
Message(s) : 7
Inscription : Lun 07 Mars, 2016 13:44

Re: Comment créer un thème Weezo ?

Message par vinaymehta » Lun 19 Juin, 2017 10:19

Hi,

Weezo offers creativity and uniqueness in their designs. This is why Weezo themes offer a refreshing design that always catches the attention of the user.
vinaymehta
Membre
 
Message(s) : 1
Inscription : Lun 19 Juin, 2017 10:08


Retour vers Création de thèmes

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)

cron