Des trucs.

This commit is contained in:
Georges Dupéron 2010-10-04 23:36:41 +02:00
parent 4f7b2d0e8d
commit 93c5b602c9
9 changed files with 51 additions and 27 deletions

9
cms2/code/TODO Normal file
View File

@ -0,0 +1,9 @@
- Valeur de retour des res_t_xxx ?
Lorsqu'on appelle GalerieIndex::res_i_icône_nouvelle_page(), ça fait un sendfile alors que GalerieIndex::res_h_page() renvoie un objet
ElementDocument, et GalerieIndex::res_c_style() renvoie du texte (CSS) pour inclusion dans le CSS principal... alors que
res_c_style_supplémentaire() fait je-sais-pas-quoi...
Comment gérer tout ça ? Tout le monde envoie directement et on intercepte avec un ob_start() / ob_end() ? Selon le type d'image on envoie
direct ou on récupère (html,css => récup, img => envoi) ? Une option à chaque fois (bêrk) ? Selon la valeur de retour (Direct => envoyé
directement, autre => récupéré), mais ça pose des pbs (la fonction X appelle un envoi direct alors qu'elle voulait une récup) ?

View File

@ -1,7 +1,22 @@
<?php
class Debug {
public static $errors = array();
public static function niy($msg) {
array_push(self::$errors, "Not implemented yet : $msg");
}
public static function afficher() {
echo "<pre>";
echo "Erreurs:\n";
foreach (self::$errors as $e) {
echo $e . "\n";
}
echo "</pre>";
}
}
function niy($name) {
echo "Not implemented yet : $name";
Debug::niy($name);
}
?>

View File

@ -6,6 +6,7 @@ require_once(dirname(__FILE__) . "/page.php");
require_once(dirname(__FILE__) . "/bdd.php");
require_once(dirname(__FILE__) . "/document.php");
require_once(dirname(__FILE__) . "/main.php");
require_once(dirname(__FILE__) . "/stockage_fichiers.php");
require_once(dirname(__FILE__) . "/../modules/include.php");

View File

@ -1,10 +1,10 @@
<?php
function main() {
echo "<pre>";
$g = new GalerieIndex();
var_dump($g);
echo "</pre>";
$g->res_h_page();
Debug::afficher();
}
?>

View File

@ -5,20 +5,26 @@ class StockageFichiers {
// Stocker $fichier avec le nom $uid dans Config::get('chemin_base_stockage')
niy("stocker fichier");
}
public static function stocker_upload($fichier, $id) {
// Stocker $fichier avec le nom $uid dans Config::get('chemin_base_stockage')
// Utiliser move_uploaded_file().
}
public static function récupérer_fichier($uid) {
// sendfile ?
public static function envoyer_fichier($uid) {
// sendfile
niy("récupérer_fichier($chemin);");
}
public static function url_fichier($uid) {
}
public static function récupérer_fichier_statique() {
// sendfile ?
}
public static function url_fichier_statique($chemin) {
// chemin relatif à __cms__. Utile pour récupérer les icônes définies par les modules etc.
public static function envoyer_fichier_statique($chemin) {
// TODO : utiliser http://www.php.net/manual/en/function.readfile.php#86244 pour les téléchargements partiels
// TODO : utiliser http://www.php.net/manual/en/function.readfile.php#52722 pour les types mimes
// TODO : ou bien http://www.php.net/manual/en/function.header.php#48538 pour les types mimes
// (ou mieux, l'utiliser au cas où on ne trouve pas dans le fichier d'apache).
// TODO : stocker le type mime dans $chemin_fs . '__mime' et utiliser celui-là si possible, sinon les méthodes ci-dessus.
// Licence des bouts de code du manuel PHP : CC-Attribution http://php.net/manual/en/about.notes.php
header("Content-Type: image/jpg");
return readfile($chemin);
}
}

View File

@ -10,9 +10,10 @@ abstract class GalerieBase extends Page {
protected static $enfants = "GalerieÉvènement";
protected static $texte_nouvelle_page = "Nouvel élément";
protected static $fichier_nouvelle_page = "nouvelle_periode.png";
public function res_i_icône_nouvelle_page() {
niy("res_i_icône_nouvelle_page");
return StockageFichiers::envoyer_fichier_statique(Path::combine(dirname(__FILE__), self::$fichier_nouvelle_page));
}
public function res_c_style() {
@ -29,7 +30,8 @@ abstract class GalerieBase extends Page {
});
$nouveau = $l->li();
$nouveau->span("miniature")->img("", $this->url("i_icône_nouvelle_page"));
$nouveau->span("titre")->texte($this->texte_nouvelle_page);
$nouveau->span("titre")->texte(self::$texte_nouvelle_page);
return $d;
}
public function res_h_miniature() {
@ -48,26 +50,17 @@ abstract class GalerieBase extends Page {
class GalerieIndex extends GalerieBase {
protected static $texte_nouvelle_page = "Nouvelle période";
public function res_i_icône_nouvelle_page() {
return StockageFichiers::fichier_statique(/*TODO*/);
}
protected static $fichier_nouvelle_page = "nouvelle_periode.png";
}
class GaleriePériode extends GalerieBase {
protected static $texte_nouvelle_page = "Nouvel événement";
public function res_i_icône_nouvelle_page() {
return StockageFichiers::fichier_statique(/*TODO*/);
}
protected static $fichier_nouvelle_page = "nouvel_evenement.png";
}
class GalerieÉvénement extends GalerieBase {
protected static $texte_nouvelle_page = "Nouvelle photo";
public function res_i_icône_nouvelle_page() {
return StockageFichiers::fichier_statique(/*TODO*/);
}
protected static $fichier_nouvelle_page = "nouvelle_photo.png";
}
Page::ajouter_type("GalerieIndex");

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB