Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 Re : [dc2] Installation et hébergement » Restauration à partir de "backup-2.11.2.zip" » 2017-11-23 20:27:12

Bonjour,

Pour information, j'ai récupéré quelques pages à partir de archive.org. Mais toutes celles qui n'étaient pas en ligne sont perdues.

Effectivement ça serait bien de clarifier le nom des fichiers "backup" de DotClear.

#2 Re : [dc2] Installation et hébergement » Restauration à partir de "backup-2.11.2.zip" » 2017-11-13 15:59:28

Merci pour la réponse rapide.

OVH a supprimé la base de données et a même précisé dans l'e-mail (que je n'ai pas reçu en juillet, pas reçu en août, et que je n'ai découvert qu'aujourd'hui dans l'interface client) qu'ils ne feraient pas de sauvegarde.

Concernant DotClear, je pensais que le fichier "backup" contenait aussi les données. Franchement les noms que tu indiques sont très similaires, c'est super ambigu de voir un fichier à la racine qui s'appelle "backup-2.11.2.zip" et de penser quand même "je n'ai aucune sauvegarde de la base de données". Le pire c'est que j'avais des sauvegardes de la BDD mais depuis qu'il y a ces fichiers à la racine du site avec les numéros de versions, je pensais que le nom avait changé et j'ai supprimé les «anciens» (qui en fait n'étaient pas du tout obsolètes). Donc j'ai perdu absolument tout le contenu du site.

#3 [dc2] Installation et hébergement » Restauration à partir de "backup-2.11.2.zip" » 2017-11-13 12:52:49

geceo
Réponses : 5

Bonjour,

Suite à la suppression par OVH de PostGreSQL 8.4 pour les hébergements mutualisés (évidemment avec zéro sauvegarde de leur côté…), je pense avoir perdu tout le contenu d'un site construit autour de DotClear 2. Mon seul espoir repose dans le fichier "backup-2.11.2.zip"…

Donc après avoir créé une base MySQL 5.5 vide chez OVH, j'ai supprimé le fichier "config.php" afin de pouvoir recréer un accès administrateur à DotClear. Ça a fonctionné et j'accède à l'interface d'administration de DotClear 2.

Je vais ensuite dans "Réglages système" / "Mise à jour". Je clique sur l'onglet "Gestion des fichiers de sauvegarde", puis sur "backup-2.11.2.zip", puis sur "Rétablir le fichier sélectionné".

Aucune erreur ne s'affiche, mais le contenu du blog reste le même. Les "pages" ne sont pas restaurées, le seul changement c'est que le fichier "backup-2.11.2.zip" est supprimé de la liste (et du serveur, heureusement, j'ai une sauvegarde locale).

Est-il possible de restaurer le contenu de la section "Pages"?

Merci de votre aide!

Grégoire

#4 Re : [dc2] Plugins » [ Plugin ] HomePageMode2 » 2015-12-10 11:48:32

Apparemment HomePageMode2 (version 0.7) n'est pas compatible avec PHP 7, la page d'administration renvoyant une page blanche, alors qu'elle s'affiche avec PHP 5.6.

#5 [dc2] Thèmes » Welsh 2.0 de la version 0.8 à la version 1.1, quoi de neuf ? » 2013-11-28 19:40:35

geceo
Réponses : 3

Bonjour,

Depuis l'installation de Dotclear 2.6, j'ai une proposition de mise à jour du thème Welsh 2.0 de la version 0.8 à la version 1.1.

Est-ce que la mise à jour va écraser mes modifications? Comme j'imagine que oui, est-ce que cette mise à jour vaut le coup? Car si je dois refaire toute la CSS, je préfère me renseigner avant.

Merci de vos réponses.

Cordialement,
Grégoire

#6 Re : [dc2] Plugins » Enregistrer la date de mise à jour des données d'un widget ? » 2013-10-20 15:34:13

Bon, comme je n'arrive pas à remettre à "pas décidé" la valeur de mon option, j'ai usé d'un artifice, je change juste l'affichage :

<?php
if (!defined('DC_RC_PATH')) { return; }

require dirname(__FILE__).'/_widgets.php';

class publicWidgetOuvertureSamediMatin
{
	public static function myWidgetOuvertureSamediMatin($w)
	{
		$settings = $w->settings();
		$texteOption = array_search($settings["option"]["value"],$settings["option"]["options"]);

		global $core;
		if (($core->blog->settings->samedimatin->dateMAJ) <= (strtotime("last Saturday+12 hours")))
		{
			$texteOption = "pas décidé";
		}

		setlocale (LC_TIME, 'fr_FR.utf8','fra');
		return '<div id="infos-pratiques" class="text"><h2>Ouverture le samedi (10h-12h)</h2><p>Samedi '.dt::str("%e %B", strtotime("this Saturday"), $core->blog->settings->blog_timezone).' : <strong>'.$texteOption.'</strong> ('.dt::str("%e/%m",$core->blog->settings->samedimatin->dateMAJ,$core->blog->settings->blog_timezone).')</p></div>';
	}
}
?>

Si quelqu'un sait comment se passe l'enregistrement de la valeur de l'option dans "widgets.php", je suis vraiment intéressé, car là c'est vraiment pas très satisfaisant comme solution…

#7 Re : [dc2] Plugins » Enregistrer la date de mise à jour des données d'un widget ? » 2013-10-20 13:33:04

Re-bonjour,

J'ai créé les fichiers suivants :

_define.php

<?php
if (!defined('DC_RC_PATH')) { return; }
 
$this->registerModule(
        /* Name */                      "Widget Samedi Matin",
        /* Description*/                "Ouverture de la salle le samedi matin",
        /* Author */                    "Grégoire Colbert",
        /* Version */                   '1',
        /* Permissions */               'usage,contentadmin'
);
?>

_install.php

<?php
if (!defined('DC_CONTEXT_ADMIN')) exit;

global $core;

$this_version = $core->plugins->moduleInfo('samedimatin','version');
$installed_version = $core->getVersion('samedimatin');

if (version_compare($installed_version,$this_version,'>=')) {
	return;
}

$core->blog->settings->addNamespace('samedimatin');

$core->setVersion('samedimatin',$this_version);

return true;
?>

_admin.php

<?php
if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
require dirname(__FILE__).'/_widgets.php';

global $core;
 
# ajouter le plugin dans la liste des plugins du menu de l'administration
$_menu['Plugins']->addItem(
	# nom du lien (en anglais)
	__('Samedi matin'),
	# URL de base de la page d'administration
	'plugin.php?p=samedimatin',
	# URL de l'image utilisée comme icône
	'index.php?pf=samedimatin/icon.png',
	# expression régulière de l'URL de la page d'administration
	preg_match('/plugin.php\?p=samedimatin(&.*)?$/',
		$_SERVER['REQUEST_URI']),
	# persmissions nécessaires pour afficher le lien
	$core->auth->check('usage,contentadmin',$core->blog->id));
?>

_widgets.php

<?php
if (!defined('DC_RC_PATH')) { return; }

$core->addBehavior('initWidgets', array('OuvertureSamediMatin','initWidgets'));

class OuvertureSamediMatin
{
	public static function initWidgets($w)
	{
		$w->create('WidgetSamediMatin',__('Widget Samedi Matin'), array('publicWidgetOuvertureSamediMatin','myWidgetOuvertureSamediMatin'));

		setlocale (LC_TIME, 'fr_FR.utf8','fra');
                $dateSamedi = dt::str("%e %B", strtotime("this Saturday"),$core->blog->settings->blog_timezone);
		$w->WidgetSamediMatin->setting('option',__('Ouverture de la salle le '.$dateSamedi),
					      null,'combo',array('pas décidé' => 1, 'oui' => 2, 'non' => 3));

		global $core;
		# enregistrement du paramètre indiquant la date de mise à jour, si l'on est dans la page "plugin.php" dans l'administration de DotClear
		if (basename($_SERVER['PHP_SELF'])=="plugin.php")
		{
			$core->blog->settings->addNamespace('samedimatin');
        	        #$dateMAJ = strtotime("now");
        	        $dateMAJ = strtotime("last Monday-1 week"); # date ancienne pour tester le retour automatique de la valeur à "pas décidé" (cf bloc "else")
			$core->blog->settings->samedimatin->put('dateMAJ', $dateMAJ, 'string', 'Date de mise à jour');
		}
		else
		# Sinon, c'est que le widget est appelé par une page publique
		{
			# Si la date de MAJ de l'option remonte à avant le dernier samedi à midi, on réinitialise l'option à "pas décidé"
			if (($core->blog->settings->samedimatin->dateMAJ) <= (strtotime("last Saturday+12 hours")))
			{
				# COMMENT FORCER LA VALEUR DE L'OPTION À "pas décidé" ?
				# La ligne suivante ne semble rien faire du tout :
				$w->WidgetSamediMatin->setting('option',__('Ouverture de la salle le '.$dateSamedi),1,'combo',array('pas décidé' => 1, 'oui' => 2, 'non' => 3));
			}
		}
	}
}
?>

et _public.php :

<?php
if (!defined('DC_RC_PATH')) { return; }
 
require dirname(__FILE__).'/_widgets.php';
 
class publicWidgetOuvertureSamediMatin
{
	public static function myWidgetOuvertureSamediMatin($w)
	{
		$settings = $w->settings();
		$texteOption = array_search($settings["option"]["value"],$settings["option"]["options"]);

		global $core;
		setlocale (LC_TIME, 'fr_FR.utf8','fra');
		return '<div id="infos-pratiques" class="text"><h2>Ouverture le samedi (10h-12h)</h2><p>Samedi '.dt::str("%e %B", strtotime("this Saturday"), $core->blog->settings->blog_timezone).' : <strong>'.$texteOption.'</strong> (au '.dt::str("%e %B", $core->blog->settings->samedimatin->dateMAJ, $core->blog->settings->blog_timezone).')</p></div>';
	}
}
?>

J'ai presque terminé mais je ne vois pas comment passer à "pas décidé" la valeur de l'option dans le bas de "widgets.php". Est-ce possible?

Note : un var_dump sur mon widget laisse voir un "settings:private", est-ce que ça signifie qu'on ne peut rien changer?

object(dcWidget)#63 (6) {
	["id:private"]=> string(17) "WidgetSamediMatin"
	["name:private"]=> string(20) "Widget Samedi Matin"
	["desc:private"]=> string(0) ""
	["public_callback:private"]=> array(2) {
		[0]=> &string(32) "publicWidgetOuvertureSamediMatin"
		[1]=> string(28) "myWidgetOuvertureSamediMatin"
	}
	["append_callback"]=> NULL
	["settings:private"]=> array(1) {
		["option"]=> array(4) {
			["title"]=> string(35) "Ouverture de la salle le 26 octobre"
			["type"]=> string(5) "combo"
			["value"]=> string(1) "2"
			["options"]=> array(3) {
				["pas décidé"]=> int(1)
				["oui"]=> int(2)
				["non"]=> int(3)
			}
		}
	}
} 

Merci de vos lumières!

Grégoire

#8 Re : [dc2] Plugins » Enregistrer la date de mise à jour des données d'un widget ? » 2013-10-20 12:01:07

Bonjour,

Merci pour cette réponse et pour le lien. Il y a plusieurs références à addNameSpace sur la page :
    http://fr.dotclear.org/documentation/2. … s/settings

Or le vrai nom est addNamespace et non addNameSpace (une seule majuscule).

EDITION : j'avais oublié que PHP n'était pas sensible à la casse. Bon, c'est toujours mieux que ça soit cohérent avec le nom de la fonction dans /inc/core/class.dc.settings.php.

#9 [dc2] Plugins » Enregistrer la date de mise à jour des données d'un widget ? » 2013-10-12 20:00:20

geceo
Réponses : 4

Bonjour,

Je cherche à ajouter sur le site http://www.escrime-cesson-rennes.fr un widget qui indiquera si la salle d'armes sera ouverte le samedi entre 10h et 12h (car ça dépend des semaines). On peut obtenir la date du «prochain samedi» avec :

echo strftime("%e %B", strtotime("this Saturday"));

Côté administration, j'ai donc pour l'instant utilisé un menu déroulant ("option") avec trois valeurs : «oui», «non» et «non décidé».

Je voudrais maintenant améliorer ce widget pour que la valeur revienne automatiquement à «non décidé» à partir du samedi à 12h01, jusqu'à ce que l'on redéfinisse la valeur via l'interface d'administration pendant la semaine.

Afin que ce changement automatique soit possible, il faut bien sûr enregistrer le timestamp de l'enregistrement de la valeur «oui» ou de la valeur «non», et faire une comparaison dans _public.php du type : «sachant qu'on est un jour J à une heure H, si l'information a été enregistrée avant le samedi qui a précédé J, repasser la valeur à «non décidé» dans la base de données» (en effet ça signifie que l'information «oui» ou «non» ne concerne pas le samedi qui vient).

D'où ma question : comment peut-on enregistrer la date et l'heure de mise à jour des données d'un widget?

Merci de vos lumières.

Grégoire

#10 [dc2] Bugs » Connexion impossible avec certains profils d'utilisateurs » 2013-10-07 20:47:26

geceo
Réponses : 2

Bonjour,

On peut constater que si on crée un utilisateur et qu'on lui affecte seulement le droit "menu" (par exemple), il ne peut pas se connecter.

En fouillant dans le code, on voit que l'authentification est gérée par /admin/auth.php à partir de :

# Try to log
elseif ($user_id !== null && ($user_pwd !== null || $user_key !== null))
{
	# We check the user
	$check_user = $core->auth->checkUser($user_id,$user_pwd,$user_key) === true;

Le code de la fonction checkUser est dans la classe "/inc/core/class.dc.auth.php". Elle est chargée de vérifier les droits de l'utilisateur. À la fin est appelée une méthode "findUserBlog" qui semble servir à identifier le blog sur lequel l'utilisateur a des droits. Cependant la condition sur les permissions est :

$strReq = 'SELECT blog_id '.
		'FROM '.$this->perm_table.' '.
		"WHERE user_id = '".$this->con->escape($this->user_id)."' ".
		"AND (permissions LIKE '%|usage|%' OR permissions LIKE '%|admin|%' OR permissions LIKE '%|contentadmin|%') ".
		'ORDER BY blog_id ASC '.

On voit que si les permissions ne contiennent ni "usage", ni "admin", ni "contentadmin", aucun blog ne sera remonté et par conséquent l'authentification échouera.

Je ne sais pas si on peut considérer ça comme un bogue, car c'est sûrement voulu, mais c'est au moins quelque chose qu'il faudrait explicitement signaler à l'utilisateur car le message "Nom d'utilisateur ou mot de passe incorrect" n'est clairement pas pertinent.

Cordialement,
Grégoire

#11 Re : [dc2] Bugs » "Aller au menu" désigne "#blognav", mais si le menu n'est pas en haut… » 2013-10-05 20:01:01

C'est bon, je viens d'éditer manuellement le fichier plugins/menu/_public.php pour y ajouter l'id.

Merci, bon dimanche!
Grégoire

#12 Re : [dc2] Bugs » "Aller au menu" désigne "#blognav", mais si le menu n'est pas en haut… » 2013-10-05 19:48:45

Euh je viens d'installer templateWidget mais je ne vois qu'un écran avec "Define active widgets" et une liste :

  • Bonjour (Dit bonjour aux visiteurs du blog)

  • Categories and Entries (List all categories with associated entries)

  • Template Widget Demo (Demo for the "Template Widget" extension)

  • Google Analytics (Include Google Analytics tracker)

  • Derniers commentaires (List last comments with preview)

  • Mini ()

  • phpMyVisites (Include phpMyVisites tracker)

Je suis censé faire quoi? Mon but c'est d'ajouter un «id="menu"» sur le menu généré par l'extension "Menu".

#13 Re : [dc2] Bugs » "Aller au menu" désigne "#blognav", mais si le menu n'est pas en haut… » 2013-10-05 18:20:43

En fait le lien "Aller au menu" amène à #blognav qui contient le bloc pour la recherche, un bloc pour notre futur sponsor et le menu. Donc oui, le lien fonctionne, mais il n'amène pas l'utilisateur vraiment au menu.

#14 [dc2] Bugs » "Aller au menu" désigne "#blognav", mais si le menu n'est pas en haut… » 2013-10-05 18:09:13

geceo
Réponses : 5

Bonjour,

Je maintiens le site http://www.escrime-cesson-rennes.fr

Suite à l'ajout d'un bloc au-dessus du menu, je viens de constater que le lien "Aller au menu" ne permet pas vraiment d'atteindre le menu.

L'explication est assez simple :

1) le bloc contenant le menu (généré par le plugin "Menu") ne contient pas d'id (seulement une classe "w-block-menu", qui ne peut servir de cible pour un lien interne à la page),
2) le widget de présentation "Menu" ne me permet pas non plus de définir un id,
3) le lien "Aller au menu" permet d'atteindre #blognav mais quand le menu n'est pas le premier bloc à l'intérieur de #blognav, le lien "Aller au menu" n'atteint pas le menu.

Je ne sais pas si c'est vraiment un bogue ou un problème spécifique à mon thème (Welsh 2.0), mais dans le doute, je poste ici.

Comment puis-je définir l'id du menu?

Cordialement
Grégoire

#15 Re : [dc2] Thèmes » Ductile et insertion de code source (white-space: normal) » 2013-03-24 17:57:18

Bonjour Jean-Michel,

Merci pour l'information, je viens d'installer MoreCSS, ça fonctionne. Cela me simplifiera les mises à jour.

Le seul «moins», c'est que ça ajoute les règles dans chaque page, d'où une augmentation de la taille des pages. Pour l'exemple de «pre-wrap» c'est pas grave mais pour d'autres sites, où les modifications du thème sont importantes, ça peut être un peu gênant.

Grégoire

#16 Re : [dc2] Thèmes » Ductile et insertion de code source (white-space: normal) » 2013-03-23 15:57:43

Bonjour,

Je suis passé à Dotclear 2.5, le «white-space: normal» pour la balise «pre» est toujours là. J'ai donc remis la valeur «pre-wrap».

Est-ce qu'il ne serait pas souhaitable que Ductile propose un fichier «my.css» pour y mettre toutes les modifications? C'est-à-dire un fichier qui permet de modifier les valeurs par défaut du thème, et donc de ne pas bloquer les mises à jour automatiques à cause du fichier «style.css».

Cordialement,
Grégoire

#17 Re : [dc2] Thèmes » Solution la plus simple pour passer un site en «responsive design»? » 2012-09-13 14:45:55

Merci beaucoup Patidou, ça fonctionne (j'ai juste remplacé 500px par 600px pour tester sur mon Galaxy S).

#18 [dc2] Thèmes » Solution la plus simple pour passer un site en «responsive design»? » 2012-09-11 10:10:26

geceo
Réponses : 5

Bonjour,

J'ai mis en place ce site l'année dernière à partir du thème Welsh 2.0.

Comme les gens sont de plus en plus nombreux à avoir Internet dans la poche, j'aimerais bien garder la même présentation mais avec une meilleure lisibilité sur les mobiles. Concrètement, je voudrais que la colonne de gauche prenne 100% de la largeur sur les écrans de petite taille, et que la colonne de droite soit mise en bas de la page, exactement comme sous Ductile.

Du coup, je me demande ce qui est le plus simple : est-ce de partir de Ductile et de reproduire la mise en page actuelle, afin de ne pas avoir à gérer les changements de largeur de la page puisque Ductile le fait déjà, ou bien est-ce d'adapter mon thème actuel pour gérer les différentes largeurs possibles?

Grégoire

#19 Re : [dc2] Thèmes » Petit bug dans Ductile Focus » 2012-09-11 09:14:49

Salut,

Je pense qu'il faut que tu modifies le fichier "style.css" pour utiliser white-space:pre-wrap au lieu de "white-space:normal".

Grégoire

#20 Re : English » Set a page as landing page? » 2012-09-10 09:50:20

Hi,

By "landing page", you mean the page that should display when entering the website without anything in the URL? If so, I guess you have a white page at the moment, and then I see two possibilities:

  • - use a .htaccess file to redirect "/" requests to the correct page URL (that's probably what you're looking for)

  • - use the homePageMode2 plugin to create a new page for "/" requests.

Hope this helps!
Grégoire

#21 Re : [dc2] Thèmes » Ductile et insertion de code source (white-space: normal) » 2012-09-10 09:27:20

Bonjour Kozlika,

Je comprends la motivation. Il semblerait que la bonne valeur à utiliser (en CSS3) soit :

pre {
  white-space:pre-wrap;
}

Voici la description :

Specify pre-wrap to ensure that sequences of whitespace won’t collapse. Line breaks will occur wherever necessary to fill line boxes, and at new lines in the markup (or at occurrences of "\a" in generated content). In other words, it’s like pre except that it’ll wrap the text at the end of line boxes.

J'ai appliqué cette valeur sur mon blog (exemple), et ça résout le problème posé par "white-space:normal" (i.e. tous les espaces successifs fusionnent en un seul, ce qui annule l'intérêt de la balise "pre"), et ça s'affiche aussi correctement sur mon mobile (avec certes des retours à la ligne supplémentaires pour les lignes trop longues, mais enfin, sans ascenseur horizontal).

Cordialement,
Grégoire

#22 Re : [dc2] Thèmes » Ductile et insertion de code source (white-space: normal) » 2012-09-08 09:57:12

Bonjour,

Le problème existe toujours avec la version 2.4.4. Pourquoi voulez-vous changer le comportement par défaut de la balise "pre" en ce qui concerne la gestion des espaces?

Grégoire

#23 Re : [dc2] Questions et aide » Le Javascript disparaît dans les billets ! » 2012-09-06 11:35:41

Quelqu'un sait si le problème du JavaScript placé dans un billet et qui disparaît quand on enregistre le billet se pose aussi en mutualisé OVH?

#24 Re : [dc2] Installation et hébergement » Dotclear incompatible PHP 5.4.5 (last versions) » 2012-07-16 11:37:59

Bonjour,

Je pense que c'est lié à un changement dans le comportement de PHP depuis la version 5.3 :

http://www.php.net/manual/fr/language.r … s.pass.php

A partir de PHP 5.3.0, vous devriez recevoir une alerte disant que "Call-time pass-by-reference" est obsolète, lorsque vous utilisez un & dans foo(&$a);.

Donc il faudrait corriger tous les appels qui ont un "&" devant le nom de la variable passée en paramètre, afin de ne pas avoir cette alerte. Si ça provient d'une extension, il faudrait prévenir l'auteur pour qu'il mette à jour son code.

Grégoire

#25 Re : [dc2] Questions et aide » coordonnées dans google malgré cv.pdf supprimé » 2012-07-10 08:36:59

Bonjour,

Pour supprimer un fichier présent dans le cache de Google, on peut aller dans les «Outils pour les webmasters» (Google Webmasters Tools) :

http://www.google.com/webmasters/tools/

Ça se passe dans le menu «Optimisation» puis «URL à supprimer».

Il faut bien sûr au préalable avoir un compte Google et avoir placé à la racine du site le fichier qui permet à Google de savoir que vous êtes bien le propriétaire du site.

Grégoire

Vous n'êtes pas identifié(e).

Pied de page des forums

Propulsé par FluxBB

Sites map