<?php


if (isset($argv[1])) {
  $myid=intval($argv[1]);
 }
$only=-1;

require_once("config.php");
require_once("formats.php");

$r=mysql_query("SELECT type,count(*) AS fc FROM formats GROUP BY type;");
while ($c=mysql_fetch_array($r)) {
  $fco[$c["type"]]=$c["fc"]-1; // On ne compte pas le "normal" ...
 }

print_r($fco);

if ($only==MEDIA_UNKNOWN || $only==-1) {
  echo "D�but de taitement des MEDIA_UNKNOWN\n";
  $r=mysql_query("SELECT m.filename, m.id, count(mf.format) AS fc FROM media m LEFT JOIN mediaformat mf ON m.id=mf.media WHERE m.type=".MEDIA_UNKNOWN." GROUP BY m.id HAVING fc<".$fco[MEDIA_UNKNOWN].";");
  while ($c=mysql_fetch_array($r)) {
    echo "media ".$c["filename"]." (".$c["id"]."), ".$c["fc"]." formats \n";
  }
  echo "Fin de taitement des MEDIA_UNKNOWN\n";
 }

if ($only==MEDIA_AUDIO || $only==-1) {
echo "D�but de taitement des MEDIA_AUDIO\n";
$r=mysql_query("SELECT m.filename, m.id, count(mf.format) AS fc FROM media m LEFT JOIN mediaformat mf ON m.id=mf.media WHERE m.type=".MEDIA_AUDIO." GROUP BY m.id HAVING fc<".$fco[MEDIA_AUDIO].";");
while ($c=mysql_fetch_array($r)) {
  if ($c["id"]==$myid) {
    echo "media ".$c["filename"]." (".$c["id"]."), ".$c["fc"]." formats \n";
    // Pour chaque media, on voit ce qu'il manque et on lance la g�n�ration : 
    $s=mysql_query("SELECT f.id FROM formats f LEFT JOIN mediaformat mf ON mf.media=".$c["id"]." AND mf.format=f.id WHERE mf.format IS NULL AND f.type=".MEDIA_AUDIO." AND f.name!='Original';");
    while ($d=mysql_fetch_array($s)) {
      echo "Generation du format ".$d["id"]." pour le media ".$c["id"]."\n";
      createAudio($c["id"],$c["filename"],$d["id"]);
    }
  }
 }
echo "Fin de taitement des MEDIA_AUDIO\n";
 }


if ($only==MEDIA_VIDEO || $only==-1) {
echo "D�but de taitement des MEDIA_VIDEO\n";
$r=mysql_query("SELECT m.filename, m.id, count(mf.format) AS fc FROM media m LEFT JOIN mediaformat mf ON m.id=mf.media WHERE m.type=".MEDIA_VIDEO." GROUP BY m.id HAVING fc<".$fco[MEDIA_VIDEO].";");
while ($c=mysql_fetch_array($r)) {
  if ($c["id"]==$myid) {
    echo "media ".$c["filename"]." (".$c["id"]."), ".$c["fc"]." formats \n";
    // Pour chaque media, on voit ce qu'il manque et on lance la g�n�ration : 
    $s=mysql_query("SELECT f.id FROM formats f LEFT JOIN mediaformat mf ON mf.media=".$c["id"]." AND mf.format=f.id WHERE mf.format IS NULL AND f.type=".MEDIA_VIDEO." AND f.name!='Original';");
    while ($d=mysql_fetch_array($s)) {
      echo "Generation du format ".$d["id"]." pour le media ".$c["id"]."\n";
      if ($d["id"]==13) continue;
      createVideo($c["id"],$c["filename"],$d["id"]);
    }
  }
 }
echo "Fin de taitement des MEDIA_VIDEO\n";
 }


if ($only==MEDIA_IMAGE || $only==-1) {
echo "D�but de taitement des MEDIA_IMAGE\n";
$r=mysql_query("SELECT m.filename, m.id, count(mf.format) AS fc FROM media m LEFT JOIN mediaformat mf ON m.id=mf.media WHERE m.type=".MEDIA_IMAGE." GROUP BY m.id HAVING fc<".$fco[MEDIA_IMAGE].";");
while ($c=mysql_fetch_array($r)) {
  if ($c["id"]==$myid) {
    echo "media ".$c["filename"]." (".$c["id"]."), ".$c["fc"]." formats \n";
    // Pour chaque media, on voit ce qu'il manque et on lance la g�n�ration : 
    $s=mysql_query("SELECT f.id FROM formats f LEFT JOIN mediaformat mf ON mf.media=".$c["id"]." AND mf.format=f.id WHERE mf.format IS NULL AND f.type=".MEDIA_IMAGE." AND f.name!='Original';");
    while ($d=mysql_fetch_array($s)) {
      echo "Generation du format ".$d["id"]." pour le media ".$c["id"]."\n";
      createImage($c["id"],$c["filename"],$d["id"]);
    }
  }
 }
echo "Fin de taitement des MEDIA_IMAGE\n";
 }




?>