$mysql = 'insert into FOTO(DESCRIPCION,ID_RUTA) values('; $mysql .= '"' . mysqli_real_escape_string($link, $piesdefoto[$i]) . '",'; $mysql .= $IDRUTA . ')'; if (mysqli_query($link, $mysql)) { $mysql = "select ID from FOTO order by ID desc limit 0,1"; if ($res = mysqli_query($link, $mysql)) { $foto = mysqli_fetch_assoc($res); $ext = pathinfo($FICHEROS['fotos']['name'][$i], PATHINFO_EXTENSION); $uploadfile = $uploaddir . $foto['ID'] . '.' . $ext; // ------------------------------------------------------------ // Se actualiza el nombre del fichero asociado a la foto: $mysql = 'update FOTO set ARCHIVO="' . $foto['ID'] . '.' . $ext . '" where ID=' . $foto['ID']; mysqli_query($link, $mysql); // ------------------------------------------------------------ if (move_uploaded_file($FICHEROS['fotos']['tmp_name'][$i], $uploadfile)) { crearThumbnail($uploaddir, $uploaddirthumbnails, $final_width_of_image, $foto['ID'] . '.' . $ext); } else { echo "¡Posible ataque de carga de archivos!\n"; } } } // if( mysqli_query($link, $mysql)) } // ********************************************** } } $R = array('resultado' => 'ok', 'idruta' => $IDRUTA); } else { $RESPONSE_CODE = 500; $R = array('resultado' => 'error', 'descripcion' => 'Error de servidor.'); }
/** * Función que construye la SQL para insertar o actualizar los datos y los guarda. */ function datuakGorde($cTabla, $cWhere, $aEdicion, $aMensajes = NULL) { $cError = ""; $aRet = ""; // Primero verificamos las condiciones de cada campo foreach ($aEdicion as $aDatos) { $cError .= isset($aDatos["verifica"]) ? dd_verificaCampo($aDatos) : ""; } // Revisar los errores if ($cError != "") { if (!is_null($aMensajes) and isset($aMensajes["gaizki"])) { return mensajes($cError, "gaizki"); } return FALSE; } $aSQL = sql_crear($cWhere ? "update" : "insert", $cTabla, $cWhere); // al terminar la verificación revisar los errores foreach ($aEdicion as $aDatos) { $aParametros = explode(" ", $aDatos["tipo"]); switch (strtolower($aParametros[0])) { case "hidden": case "info": case "codigodirecto": case "infofuncion": case "separador": case "verificapassword": case "readonly": // case "html": quitado por Roger...PELMA!! break; case "adjunto": $lPendiente = true; break; case "imagen": case "irudia": if ($_REQUEST[$aDatos["campo"] . "_EZABATU"] == '1') { sql_add($aSQL, $aDatos["campo"], "", "cadena"); } else { $lPendiente = true; } break; case "nuevopassword": if ($_REQUEST[$aDatos["campo"]] != "") { if (isset($aParametros[3]) and $aParametros[3] == "md5") { sql_add($aSQL, $aDatos["campo"], md5($_REQUEST[$aDatos["campo"]]), "cadena"); } else { sql_add_request($aSQL, $aDatos["campo"], "cadena"); } } break; case "fijo": sql_add($aSQL, $aDatos["campo"], $aDatos["valor"], $aParametros[1]); break; case "listafuncion": sql_add_request($aSQL, $aDatos["campo"], $aParametros[2]); break; case "html": // añadido por RO 05/05/2010 if (isset($aDatos["campo"])) { sql_add_request($aSQL, $aDatos["campo"], $aParametros[0]); } elseif (isset($aDatos["campos"])) { foreach ($aDatos["campos"] as $tcampo => $tipo) { sql_add_request($aSQL, $tcampo, $tipo); } } break; default: sql_add_request($aSQL, $aDatos["campo"], $aParametros[0]); } } // si hemos recogido campos, salvamos (puede ser un caso de solo imágenes ) if (sql_esvacia($aSQL)) { $lResul = true; } else { $lResul = mysql_query(sql_sql($aSQL)); } if ($lResul and $lPendiente) { // hacemos una seguna pasada para la imágenes, los adjuntos y demás. // preparamos la nueva ID if ($cWhere == "") { $mID = mysql_insert_id(); $campoID = mysql_campoClave($cTabla); $aSQL = sql_crear("update", $cTabla, "{$campoID}={$mID}"); } else { $campoID = mysql_campoClave($cTabla); $mID = mysql_mlookup("SELECT {$campoID} FROM {$cTabla} WHERE {$cWhere}"); $aSQL = sql_crear("update", $cTabla, $cWhere); } // ahorita buscamos imágenes y demás foreach ($aEdicion as $aDatos) { $aParametros = explode(" ", $aDatos["tipo"]); $cTipo = strtolower($aParametros[0]); $cFile = $aDatos["campo"]; if (($cTipo == "adjunto" or $cTipo == "imagen" or $cTipo == "irudia") and isset($_FILES[$cFile]) and $_FILES[$cFile]["name"] and isset($aParametros[1])) { if (isset($aParametros[2])) { $aTempFile = extrae_ExtensionNombre($_FILES[$cFile]["name"]); $cNuevoNombre = strtr($aParametros[2], array("%i" => $mID, "%n" => $aTempFile["nombre"], "%e" => $aTempFile["ext"])); } else { $cNuevoNombre = $_FILES[$cFile]["name"]; } if (!move_uploaded_file($_FILES[$cFile]["tmp_name"], $aParametros[1] . "/" . $cNuevoNombre)) { echo sprintf("<div class='gaizkiTxiki'>Error al subir el fichero (campo %s). ¿tiene más de %sbytes?</div>\n", $aDatos["campo"], ini_get("upload_max_filesize")); } else { sql_add($aSQL, $aDatos["campo"], $cNuevoNombre, "cadena"); // ahora vemos si hay que hacer thumbnail if (($cTipo == "imagen" or $cTipo == "irudia") and isset($aDatos["thumbnail"])) { $aThumb = explode(" ", $aDatos["thumb"]); switch (count($aThumb)) { case "0": break; case "1": $aThumb[1] = $aThumb[0]; case "2": $aThumb[2] = 75; case "3": $aThumb[3] = "thumb"; case "4": $aThumb[4] = "nocrop"; default: crearThumbnail($aParametros[1], $cNuevoNombre, $aThumb[3], $aThumb[0], $aThumb[1], $aThumb[2], $aThumb[4]); } } // ahora vermos si hay que ajustar la imagen if (($cTipo == "imagen" or $cTipo == "irudia") and isset($aDatos["ajustar"])) { $aThumb[0] = (int) $aDatos["ajustar"]; mImageResize($aParametros[1] . "/" . $cNuevoNombre, $aParametros[1] . "/" . $cNuevoNombre, "KEEP_PROPORTIONS_ON_BIGGEST", $aThumb[0]); } } } } // grabamos si es que hemos podido mover if (!sql_esvacia($aSQL)) { mysql_query(sql_sql($aSQL)); } } // DEBUG if (!$lResul) { echo "<h3>Error</h3>" . sql_sql($aSQL) . "<br>" . mysql_error(); } if (!is_null($aMensajes)) { if ($lResul) { echo "<div class='ondo'>" . $aMensajes["ondo"] . "</div>\n"; } else { echo "<div class='gaizki'>" . $aMensajes["gaizki"] . "<p>SQL:" . sql_sql($aSQL) . "</p><p>MYSQL:" . mysql_error() . "</p></div>\n"; } } return $lResul; }
function ddlib_guardarAdjuntos($cTabla, $cWhere, $aEdicion) { // hacemos una seguna pasada para la imágenes, los adjuntos y demás. // preparamos la nueva ID if ($cWhere == "") { $mID = mysql_insert_id(); $campoID = mysql_campoClave($cTabla); $aSQL = sql_crear("update", $cTabla, "{$campoID}={$mID}"); } else { $campoID = mysql_campoClave($cTabla); $mID = mysql_mlookup("SELECT {$campoID} FROM {$cTabla} WHERE {$cWhere}"); $aSQL = sql_crear("update", $cTabla, $cWhere); } // ahorita buscamos imágenes y demás foreach ($aEdicion as $aDatos) { $aParametros = explode(" ", $aDatos["tipo"]); $cTipo = strtolower($aParametros[0]); $cFile = $aDatos["campo"]; if ($cTipo == "adjunto" || $cTipo == "imagen" || $cTipo == "irudia" and isset($_FILES[$cFile]) and $_FILES[$cFile]["name"] and isset($aParametros[1])) { if (isset($aParametros[2])) { // mascara para guardar el nombre del nuevo fichero $aTempFile = extrae_ExtensionNombre($_FILES[$cFile]["name"]); $cNuevoNombre = strtr($aParametros[2], array("%i" => $mID, "%n" => $aTempFile["nombre"], "%e" => $aTempFile["ext"])); } else { $cNuevoNombre = $_FILES[$cFile]["name"]; } if (!move_uploaded_file($_FILES[$cFile]["tmp_name"], $aParametros[1] . "/" . $cNuevoNombre)) { echo sprintf("<div class='gaizkiTxiki'>Error al subir el fichero (campo %s). ¿tiene más de %sbytes?</div>\n", $aDatos["campo"], ini_get("upload_max_filesize")); } else { sql_add($aSQL, $aDatos["campo"], $cNuevoNombre, "cadena"); // ahora vemos si hay que hacer thumbnail if ($cTipo == "imagen" || $cTipo == "irudia") { if (isset($aDatos["thumbnail"])) { $aThumb = explode(" ", $aDatos["thumbnail"]); switch (count($aThumb)) { case "0": break; case "1": $aThumb[1] = $aThumb[0]; case "2": $aThumb[2] = 75; case "3": $aThumb[3] = "thumb"; case "4": $aThumb[4] = "nocrop"; default: crearThumbnail($aParametros[1], $cNuevoNombre, $aThumb[3], $aThumb[0], $aThumb[1], $aThumb[2], $aThumb[4]); } } // ahora vermos si hay que ajustar la imagen if (isset($aDatos["ajustar"])) { $aThumb[0] = (int) $aDatos["ajustar"]; mImageResize($aParametros[1] . "/" . $cNuevoNombre, $aParametros[1] . "/" . $cNuevoNombre, "KEEP_PROPORTIONS_ON_BIGGEST", $aThumb[0]); } } } } } // grabamos si es que hemos podido mover if (!sql_esvacia($aSQL)) { mysql_query(sql_sql($aSQL)); } }