]> git.llucax.com Git - personal/documentos.git/blobdiff - glabels/mp3.php
Enunciado e implementación de referencia del ejercicio 1 de 2008-2
[personal/documentos.git] / glabels / mp3.php
index fcafc052a909c70e2eabd3ac30c5ad9322bf9b46..e09b00cf0ad57617e56081129e2f20c58c40c08b 100755 (executable)
@@ -72,10 +72,10 @@ if ($datos) {
             'X'           => $x,
             'TEXTO_Y'     => $y,
             'LINEA_Y'     => $y + PUNTOS + 2.5,
-            'LINEA_ANCHO' => strlen($artista) * 2.5 + 25 / strlen($artista),
+            'LINEA_ANCHO' => strlen($artista) * 2.8 + 25 / strlen($artista),
             'ARTISTA'     => translate($artista),
         ));
-        sort($albums);
+        usort($albums, 'cmp');
         for ($i = 0; $i < count($albums); $i++) {
             // assign data
             $tpl->setVariable('ALBUM', translate($albums[$i]));
@@ -92,6 +92,20 @@ if ($datos) {
     fclose($fo);
 }
 
+function cmp($a, $b) {
+    if (preg_match('/.*\[(\d{4})\]/', $a, $ma)
+        and preg_match('/.*\[(\d{4})\]/', $b, $mb))
+    {
+        if     ($ma[1] == $mb[1]) return 0;
+        elseif ($ma[1] < $mb[1])  return -1;
+        else                      return 1;
+    }
+    else
+    {
+        strcmp($a, $b);
+    }
+}
+
 function translate($str) {
     static $tabla = array();
     if (!@$tabla) {