Overview
Comment:Callback pour insertion de fichier dans page wiki
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 619af651cae9d7647c536d33ddcc59fe03e00788
User & Date: bohwaz on 2015-03-10 05:17:29
Other Links: manifest | tags
Context
2015-03-11
00:11
correction numérotage automatique des comptes fix [26b1f1a224dcd294542c56bbb057f0ab1a5aeb7d] check-in: 39e72e6333 user: bohwaz tags: trunk
2015-03-10
05:17
Callback pour insertion de fichier dans page wiki check-in: 619af651ca user: bohwaz tags: trunk
05:01
Insertion de fichier en JS à la fin de l'upload check-in: 0c126d2308 user: bohwaz tags: trunk
Changes

Modified src/include/lib/Garradin/Fichiers.php from [ad60ab4d6d] to [bcab4fa050].

    31     31   	 * @param  integer $width  Largeur
    32     32   	 * @param  integer $height Hauteur
    33     33   	 * @param  boolean $crop   TRUE si on doit cropper aux dimensions indiquées
    34     34   	 * @return void
    35     35   	 */
    36     36   	public function getThumbnail($width, $height, $crop = false)
    37     37   	{
           38  +		// FIXME
    38     39   	}
    39     40   
           41  +	/**
           42  +	 * Lier un fichier à un contenu
           43  +	 * @param  string $type       Type de contenu (constantes LIEN_*)
           44  +	 * @param  integer $foreign_id ID du contenu lié
           45  +	 * @return boolean TRUE en cas de succès
           46  +	 */
    40     47   	public function linkTo($type, $foreign_id)
    41     48   	{
    42     49   		$db = DB::getInstance();
    43     50   		$check = [self::LIEN_MEMBRES, self::LIEN_WIKI, self::LIEN_COMPTA];
    44     51   
    45     52   		if (!in_array($type, $check))
    46     53   		{
................................................................................
    79     86   		{
    80     87   			$db->simpleExec('DELETE FROM fichiers_contenu WHERE id = ?;', (int)$id_contenu);
    81     88   		}
    82     89   
    83     90   		$db->simpleExec('DELETE FROM fichiers WHERE id = ?;', (int)$this->id);
    84     91   
    85     92   		return $db->exec('END;');
    86         -	}
    87         -
    88         -	/**
    89         -	 * Modifie les informations du fichier
    90         -	 * @param  string $nom   Le nom du fichier (avec extension)
    91         -	 * @return boolean TRUE en cas de succès
    92         -	 */
    93         -	public function edit($nom)
    94         -	{
    95         -
    96     93   	}
    97     94   
    98     95   	/**
    99     96   	 * Envoie le fichier au client HTTP
   100     97   	 * @return void
   101     98   	 */
   102     99   	public function serve()
................................................................................
   218    215   				return 'Erreur inconnue: ' . $error;
   219    216   		}
   220    217   	}
   221    218   
   222    219   	/**
   223    220   	 * Upload du fichier par POST
   224    221   	 * @param  array  $file  Caractéristiques du fichier envoyé
   225         -	 * @return boolean TRUE en cas de succès
          222  +	 * @return object Un objet Fichiers en cas de succès
   226    223   	 */
   227    224   	static public function upload($file)
   228    225   	{
   229    226   		if (!empty($file['error']))
   230    227   		{
   231    228   			throw new UserException(self::getErrorMessage($file['error']));
   232    229   		}
................................................................................
   278    275   		]);
   279    276   
   280    277   		$db->exec('END;');
   281    278   
   282    279   		return new Fichiers($db->lastInsertRowID());
   283    280   	}
   284    281   
          282  +	/**
          283  +	 * Envoie un fichier déjà stocké
          284  +	 * @param  string $name Nom du fichier
          285  +	 * @param  string $hash Hash SHA1 du contenu du fichier
          286  +	 * @return object       Un objet Fichiers en cas de succès
          287  +	 */
   285    288   	static public function uploadExistingHash($name, $hash)
   286    289   	{
   287    290   		$db = DB::getInstance();
   288    291   		$name = preg_replace('/[^\d\w._-]/ui', '', $name);
   289    292   
   290    293   		$file = $db->simpleQuerySingle('SELECT * FROM fichiers 
   291    294   			INNER JOIN fichiers_contenu AS fc ON fc.id = fichiers.id_contenu AND fc.hash = ?;', true, trim($hash));
................................................................................
   300    303   			'nom'			=>	$name,
   301    304   			'type'			=>	$file['type'],
   302    305   			'image'			=>	(int)$file['image'],
   303    306   		]);
   304    307   
   305    308   		return new Fichiers($db->lastInsertRowID());
   306    309   	}
          310  +
          311  +	static public function SkrivHTML($args, $content, $skriv)
          312  +	{
          313  +		if (empty($args['id']) && !empty($content))
          314  +		{
          315  +			$args = ['id' => (int)$content];
          316  +		}
          317  +
          318  +		if (empty($args['id']))
          319  +		{
          320  +			return $this->parseError('Aucun numéro de fichier indiqué.');
          321  +		}
          322  +
          323  +		$db = DB::getInstance();
          324  +
          325  +		// FIXME
          326  +	}
   307    327   }

Modified src/include/lib/Garradin/Utils.php from [f6e82cd370] to [07f19bdcc3].

   386    386        * @return string      Texte HTML
   387    387        */
   388    388       static public function SkrivToHTML($str)
   389    389       {
   390    390           if (!self::$skriv)
   391    391           {
   392    392               self::$skriv = new \KD2\SkrivLite;
          393  +            self::$skriv->registerExtension('fichier', ['Fichiers', 'SkrivHTML']);
   393    394           }
   394    395   
   395    396           $str = self::$skriv->render($str);
   396    397   
   397    398           return $str;
   398    399       }
   399    400   

Modified src/include/lib/Garradin/Wiki.php from [e177dfd955] to [93dce48266].

   512    512                   $flat[$node['parent']]['children'][$id] = &$node;
   513    513               }
   514    514           }
   515    515   
   516    516           return $tree;
   517    517       }
   518    518   }
   519         -
   520         -?>