Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2004, 09:15
granunca
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago, Chile
Mensajes: 92
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Scrip Subir Imágenes Via Ftp, My_egallery!, Necesito ayuda con este script

Hola saludos
tengo el siguiente codigo, del archivo quickaddmedia.php del my_eGallery (PHPNUKE), ubicado en admin/modules/gallery/
****CODIGO****
function radd($par, $path, $recursive, $submitter, $desc_pic, $desc_cat) {
global $prefix, $font, $galleryvar, $gallerypath;
$c = 0;

$loc = substr($path, strlen("$gallerypath/"));
//echo "*$loc*<br>";
$result = mysql_query("SELECT gallid, galloc, gallimg FROM $prefix"._gallery_categories." where galloc='$loc'");
if(mysql_num_rows($result)>0)
$row = mysql_fetch_array($result);
//echo $row[gallid].'<br>';
if(is_dir($path)) {
$d = opendir($path);
while($f = readdir($d)) {
//echo $f."<br>";
if($f == '.' || $f == '..' || $f == 'thumb'){continue;}
$rf = "$path/$f";
$isdir = is_dir($rf);
if(!$isdir && $par !=-1) { // check if this is a sub-directory
$ext = substr($f, (strrpos($f,'.') + 1));
$sql = "select filetype from $prefix"._gallery_media_types." where extension='$ext'";
list($type) = mysql_fetch_row(mysql_query($sql));
//echo $type;
if($type && !is_in($f, $row[gallid], $row[gallimg])) {
switch($type) {
case 1:
$size[0] = 0;
$size[1] = 0;
if ($ext!="bmp" && $ext!="BMP")
$size = getimagesize($rf);
break;
case 3:
$size[0] = 320;
$size[1] = 240;
break;
default:
$size[0] = 0;
$size[1] = 0;
break;
}
$f = addslashes($f);
$sql = "INSERT INTO $prefix"._gallery_pictures." (pid, gid, img, counter, submitter, date, name, description, votes, rate, extension, width, height) VALUES (NULL, $row[gallid], '$f', 0, '$submitter', NOW(), '$f', '$desc_pic', 0, 0, '$ext', $size[0], $size[1])";
//echo $sql.'<br>';
mysql_query($sql);
print "<font size=\"1\">&nbsp;&nbsp;".sprintf(_GALFILEADDED, $f, $loc)."</font><br>";
$c++;
}
else {
}
}
elseif ($isdir) {
$isindatabase = 0;
if ($par==-1)
$galloc = $f;
else
$galloc = "$loc/$f";
$sql = "SELECT gallid, gallimg FROM $prefix"._gallery_categories." where galloc='$galloc'";
//echo $sql.'<br>';
$result = mysql_query($sql);
if (mysql_num_rows($result)>0)
$isindatabase=1;
if (!$isindatabase) {
$sql = "INSERT INTO $prefix"._gallery_categories." (gallid, gallname, gallimg, galloc, description, parent, visible, template, numcol, total, lastadd) VALUES (NULL, '$f', '".$galleryvar['GalleryPictureName']."', '$galloc', '$desc_cat', $par, 0, 2, 3, 0, NOW())";
//echo $sql.'<br>';
$c += 1;
mysql_query($sql);
print '<font class="'.$font['normal'].'"><strong>'.sprintf(_GALNEWMEDIAADDED, $f, $loc).'</strong></font><br>';
$row2 = mysql_fetch_array(mysql_query("SELECT gallid FROM $prefix"._gallery_categories." WHERE gallid=LAST_INSERT_ID()"));
}
else
$row2 = mysql_fetch_array(mysql_query("SELECT gallid FROM $prefix"._gallery_categories." WHERE galloc='$galloc'"));
if ($recursive==1)
$c += radd($row2[gallid], $rf, $recursive, $submitter, $desc_pic, $desc_cat);
}

} // while
closedir($d);
return $c;
}
}
************************************************** *****
Como deben saber esta función sirve para agregar a la base de datos los archivos subidos via FTP. Este script funciona de maravila cuando subo categorias enteras.
Por ejemplo tengo una categoria SCreenshots, a la cual subo la carpeta Doom3 (llena de imágenes) , este programilla me crea una subcategoria dentro de Screenshots con el nombre de la carpeta que meti, en este caso Doom3, y además me ingresa a la base datos todas la imágenes que tiene la carpeta, genial no?....
Bueno pues cuando subo archivos solos, por ejemplo:
Si quisiera agregar 5 archivos más a la carpeta Doom3, lo unico que tengo que hacer es subirlos via ftp a la carpeta Doom3, y el script este me las inserta en la base de datos.
Bueno, en la tabla gallery_categories hay un campo llamado lastadd, en este campo queda registrado el ultimo cambio que se hizo en la categoria. Cuando subo la categoria comleta no hay problema, el lastadd me queda con la fecha en que se agregó la categoría. PERO cuando añado imágenes a una categoría ya creada, la fecha de lastadd no cambia, queda igual.
Lo que necesito es que al agregar un archivo solo a una categoría ya creada, el lastadd cambie a un now().
Nose si me he explicado correctamente??
Ojalá alguien me pueda ayudar!!!
Saludos
__________________
Necesito Colaboradores :arriba:
Siempre aprendiendo algo :pensando:
www.gamebox.cl

Última edición por granunca; 23/10/2004 a las 09:41