Coolforest.net

Aller au contenu | Aller au menu | Aller à la recherche

Mot clé - bout de code

Fil des billets - Fil des commentaires

vendredi, octobre 31 2008

Trucs utiles et erreurs courantes sous eZ publish 4.x

Je note au fil de l'eau les bons trucs et les erreurs courantes avec eZ Publish 4.x

Lire la suite...

jeudi, décembre 13 2007

Faire un ORDER BY sur un champ SQL Server de type NTEXT

Le message par défaut lors d'une tentative d'ORDER BY sur un champ de type NTEXT sous SQL Server est : "Les types de données text, ntext et image ne peuvent pas être comparés ou classés, sauf lors de l'utilisation de l'opérateur LIKE ou IS NULL."

La solution pour trier un champ de type NTEXT : le convertir à la volée en NVARCHAR .

SELECT T.*  FROM T_MATABLE T
ORDER BY CONVERT(nvarchar,T.monChampNTEXT) ASC

Notes

dimanche, octobre 7 2007

Avertissement sur strtotime() à l'installation d'eZ Publish 4.0.0alpha

Durant de l'installation de eZ Publish 4.0.0alpha1 Sur un serveur LAMP fraichement installé (sur une Ubuntu Feisty par exemple), ce message peut apparaitre :

Strict Standards: strtotime() function.strtotime : It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /var/www/ez/lib/ezutils/classes/ezdebug.php on line 879

Pour éviter que ce message d'avertissement s'affiche, il suffit d'indiquer une heure de référence dans le fichier de configuration /etc/php5/apache2/php.ini :

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Date]
date.timezone = CET

Cet attribut est en général commenté dans une installation récente de PHP5. CET est l'heure normale d'Europe centrale.

Terminer en redémarrant le serveur Apache2 :

sudo apache2 -k restart

vendredi, juillet 20 2007

C# & Regex : Matcher une date

Valide les dates de type

31/12/2099|||1/1/1900|||10/12/2003

Ne valident pas les dates de type :

05/11/3000|||11/13/2003|||32/04/2030

Bien sûr, le mécanisme convient aussi pour tout langage utilisant les expressions régulières.

// Source du pattern :
// Carlos R. L. Rodrigues chez Regexlib.com
string myRegex =  "(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))\x2F(((0[1-9])|"
+ "(1[0-2]))|([1-9]))\x2F(([0-9]{2})|(((19)|([2]([0]{1})))"
+ "([0-9]{2}))))$)";
Regex pattern = new Regex(myRegex);
if (pattern.IsMatch(myString))
{
   DateTime myDate = Convert.ToDateTime(myString);
}

mardi, juillet 3 2007

Lister les propriétés d'un objet

Lister les propriétés d'un objet en utilisant le concept de Reflection :

using System.Reflection;
 (...)
 Hashtable PropertiesOfMyObject = new Hashtable();
 Type t = myObject.GetType();
 PropertyInfo[] pis = t.GetProperties();
 for (int i=0; i<pis.Length; i++) {
 PropertyInfo pi = (PropertyInfo)pis.GetValue(i);
 PropertiesOfMyObject.Add(pi.Name, pi.GetValue(myObject, new object[]
 {}));
 }

Source : Jon Davis

mercredi, mai 23 2007

Convertir une string en valeur Enum, avec Enum.Parse

En quelques lignes, voici comment Convertir une string en valeur Enum

public enum typeBdd
{
       nothing = 0,
       sqlserver = 1,
       mysql = 2,
       oracle = 3
}

Exemple d'utilisation : Récupérer le paramètre indiquant le type de base de donnée à utiliser pour une application. Ce paramètre peut être renseigné dans la configuration générale d'une application (ici en version .NET 2.0)

typeBdd currentBdd = (typeBdd)Enum.Parse(typeof(typeBdd), Properties.Settings.Default.currentBdd, true);

jeudi, avril 12 2007

Tester le dépassement de capacité en C# .NET

Tester le dépassement de capacité en C# .NET (Erreur de dépassement de limite de taille du tas) :

class Program
{
    public static void Main()
    {
        B b = new B();
    }
}

class A
{
    B _b = new B();
}

class B
{
    A _a = new A();
}

jeudi, novembre 16 2006

SQL : compter et identifier les doublons dans une table

Exemple de déscompte de doublons dans un champ d'un table SQL (ici la clé de la table) :

SELECT id_table, COUNT(id_table) AS nombre_de_repetition
 FROM maTable
 GROUP BY id_table
 HAVING COUNT(id_table)>1

jeudi, novembre 9 2006

Convertir des fichiers au format OpenDocument en HTML / XHTML

Odt2Xhtml est une classe en PHP5, dont le but ultime est de convertir des fichiers au format OpenDocument - ODT - en fichiers (x)html pour faciliter la publication sur Internet de vos pages et/ou l'intégration dans des systèmes de publication Internet...

le projet / la classe PHP5 : http://odt2xhtml.eu.org/

Utilisation :

require_once('directory/odt2xhtml/odt2xhtml.php');
$file = 'name_file_without_extension';
$frontend = '/directory_where_odt_to_converse';
$root = $_SERVER[['DOCUMENT_ROOT']];
$class = new odt2xhtml($root,$frontend,$file);
$class->convert2xhtml();

jeudi, octobre 28 2004

ASP.NET 1.1 et XHTML

Une classe en C# pour rendre valides XHTML les pages web générées par ASP.NET 1.1

Lire la suite...

mardi, octobre 26 2004

Include Hack en PHP

Un scan automatique recherche les failles PHP des serveurs Web : Découvert par Bee Ware, un nouveau type de balayage répertorie les serveurs Web vulnérables pour y installer un cheval de Troie pouvant relayer des attaques en déni de service. Les hébergeurs sont visés.

Lire la suite...

mardi, octobre 12 2004

Publier une animation Flash validée W3C

Le validateur W3C MarkUp Validation Service refuse de valider une publication Flash à cause de la balise EMBED. La solution n'est pas très glorieuse, puisqu'elle ne fait que contourner le problème, en générant le code html dans un javascript.

Lire la suite...

mardi, septembre 28 2004

Sécuriser les champs de formulaires en PHP

Une petite fonction qui rassemble toutes les précautions à prendre!!!

Lire la suite...

jeudi, septembre 16 2004

Requete SQL pour pagination de résultats

Evite par exemple en C# .NET d'utiliser le ViewState

Lire la suite...

jeudi, septembre 9 2004

Crop Canevas

Petites merveilles en Javascript

Lire la suite...

mercredi, septembre 1 2004

Gérer toutes les images dans une css

Permet de gérer plusieurs thèmes complexes pour un site

Lire la suite...

mardi, août 31 2004

Nomenclaturer une feuille CSS

Choisir ses noms de classes

Lire la suite...