Se añade la posibilidad de añadir fotos de los candidatos
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk@102 e2b1556b-49f8-d141-9351-52d6861a72d9
This commit is contained in:
parent
facf10774e
commit
c3127aa26b
@ -12,6 +12,66 @@ include_once("BD.php");
|
||||
include_once("Persona.php");
|
||||
include_once("Automata.php");
|
||||
include_once("ListaCapacidadesProfesionales.php");
|
||||
include_once("upload.class.php");
|
||||
|
||||
function limpia($imagen){
|
||||
if(file_exists($imagen)) {
|
||||
unlink($imagen);
|
||||
}
|
||||
}
|
||||
|
||||
function tieneImagen($OID){
|
||||
$cadena = 'imagenes/' . $OID . '_150.jpg';
|
||||
return file_exists($cadena);
|
||||
}
|
||||
|
||||
function rutaImagen($OID){
|
||||
$cadena = 'imagenes/' . $OID . '_150.jpg';
|
||||
return $cadena;
|
||||
}
|
||||
|
||||
function uploadImagenCandidato($OID, $size1_w, $size1_h, $size2_w=0, $size2_h=0, $mascara='') {
|
||||
$path = "imagenes/"; // este directorio tiene que tener chmod 777
|
||||
$upload_file_name = "candidato_imagen"; // el nombre del campo tipo file de nuestro formulario
|
||||
$acceptable_file_types = "image/gif|image/jpeg|image/pjpeg"; // acepta GIF et JPEG
|
||||
$default_extension = "";
|
||||
$mode = 1; // OPTIONS:
|
||||
// 1 = overwrite mode
|
||||
// 2 = create new with incremental extention
|
||||
// 3 = do nothing if exists, highest protection
|
||||
|
||||
// un poco de limpieza previa
|
||||
// este es el temporal
|
||||
$glob = glob($path . $OID, '_tmp');
|
||||
limpia($glob);
|
||||
limpia($path . '_' . $size1_w . '.jpg');
|
||||
limpia($path . '_' . $size2_w . '.jpg');
|
||||
// fin de la limpia
|
||||
|
||||
if(strlen($_FILES['candidato_imagen']['name'])) {
|
||||
$my_uploader = new uploader('es'); // Create a new instance of the class
|
||||
$my_uploader->max_filesize(1500000); // OPTIONAL: set the max filesize of uploadable files in bytes
|
||||
$my_uploader->max_image_size(1600, 1600); // OPTIONAL: if you're uploading images, you can set the max pixel dimensions
|
||||
// UPLOAD the file
|
||||
if ($my_uploader->upload($upload_file_name, $acceptable_file_types, $default_extension)) {
|
||||
$my_uploader->save_file($path, $OID . '_tmp', $mode);
|
||||
if (!$my_uploader->error) {
|
||||
$my_uploader->resize($OID . '_' . $size1_w . '.jpg', $size1_w, $size1_h, 60);
|
||||
if($size2_w) {
|
||||
$my_uploader->resize($OID . '_' . $size2_w . '.jpg', $size2_w, $size2_h, 60);
|
||||
}
|
||||
$my_uploader->delete_file;
|
||||
}
|
||||
}
|
||||
if ($my_uploader->error) {
|
||||
echo $my_uploader->error;
|
||||
}
|
||||
|
||||
$glob = glob($path . $OID, '_tmp');
|
||||
limpia($glob);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class Candidato extends Persona {
|
||||
|
||||
|
||||
678
src/Objects/upload.class.php
Executable file
678
src/Objects/upload.class.php
Executable file
@ -0,0 +1,678 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* class uploader
|
||||
*
|
||||
* Copyright 1999, 2002, 2003 David Fox, Dave Tufts
|
||||
* Language specific error messaging:
|
||||
* [fr] Frank from http://www.ibigin.com - initial code and French text
|
||||
* [de] lmg from http://www.kishalmi.net - German text
|
||||
* [nl] Andre, a.t.somers@student.utwente.nl - Dutch text
|
||||
* [it] Enrico Valsecchi http://www.hostyle.it <admin@hostyle.it> - Italian text
|
||||
* [fi] Dotcom Media Solutions, http://www.dotcom.ms - Finnish text
|
||||
* [es] Alejandro Ramirez <alex@cinenganos.com> - Spanish text
|
||||
* [no] Sigbjorn Eide <seide@tiscali.no> - Norwegian text
|
||||
* [da] Thomas Hannibal http://hannibalsoftware.dk/ - Danish Text
|
||||
*
|
||||
* Usage, setup, and license at the bottom of this page (README)
|
||||
*
|
||||
* @version: 2.15
|
||||
* @last_update: 2004-02-18
|
||||
* @description: PHP file upload class
|
||||
* @requires: PHP 4.1 or higher
|
||||
*
|
||||
* @changes: v2.15 - Added Danish (da) error messaging
|
||||
* @changes: v2.14 - Edited acceptable_file_types checks to be more lenient
|
||||
* @changes: v2.13 - Added Spanish (es) and Norwegian (no) error messaging, converted all non-valid HTML language chars to named entities
|
||||
* @changes: v2.12 - Added Finnish (fi) error messaging
|
||||
* @changes: v2.11 - Fixed bug if $this->save_file::$path is ""
|
||||
* @changes: v2.10 - Added var $path to class definition
|
||||
* @changes: v2.9 - Updated error_message[5] for NL (Dutch)
|
||||
* @changes: v2.8 - Cleaned up Italian error messaging (thanks to Maurizio Lemmo - http://www.tenzione.it/ )
|
||||
* @changes: v2.7 - Added new error code [5] to save_file() method, fixed minor bug if unable to write to upload directory
|
||||
* @changes: v2.6 - Added $this->acceptable_file_types. Fixed minor bug fix in upload() - if file 'type' is null
|
||||
* @changes: v2.5.2 - Added Italian (it) error messgaing
|
||||
* @changes: v2.5.1 - Added German (de) and Dutch (nl) error messgaing
|
||||
* @changes: v2.4 - Added error messgae language preferences
|
||||
* @changes: v2.3.1 - Bugfix for upload $path in $this->save_file()
|
||||
* @changes: v2.3 - Initialized all variables (compatibale with PHP error notices)
|
||||
* @changes: v2.2 - Changed ereg() to stristr() whenever possible
|
||||
*
|
||||
*
|
||||
* METHODS:
|
||||
* uploader() - constructor, sets error message language preference
|
||||
* max_filesize() - set a max filesize in bytes
|
||||
* max_image_size() - set max pixel dimenstions for image uploads
|
||||
* upload() - checks if file is acceptable, uploads file to server's temp directory
|
||||
* save_file() - moves the uploaded file and renames it depending on the save_file($overwrite_mode)
|
||||
*
|
||||
* cleanup_text_file() - (PRIVATE) convert Mac and/or PC line breaks to UNIX
|
||||
* get_error() - (PRIVATE) gets language-specific error message
|
||||
*
|
||||
* Error code: available in English (en), French (fr), German (de), Dutch (nl), Italian (it)
|
||||
* [0] - "No file was uploaded"
|
||||
* [1] - "Maximum file size exceeded"
|
||||
* [2] - "Maximum image size exceeded"
|
||||
* [3] - "Only specified file type may be uploaded"
|
||||
* [4] - "File already exists" (save only)
|
||||
* [5] - "Permission denied. Unable to copy file"
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
function htmlpath($relative_path) {
|
||||
$realpath=realpath($relative_path);
|
||||
$htmlpath=str_replace($_SERVER['DOCUMENT_ROOT'], '', $realpath);
|
||||
return $htmlpath;
|
||||
}
|
||||
|
||||
class uploader {
|
||||
|
||||
var $file;
|
||||
var $path;
|
||||
var $language;
|
||||
var $acceptable_file_types;
|
||||
var $error;
|
||||
var $errors; // Depreciated (only for backward compatability)
|
||||
var $accepted;
|
||||
var $max_filesize;
|
||||
var $max_image_width;
|
||||
var $max_image_height;
|
||||
|
||||
|
||||
/**
|
||||
* object uploader ([string language]);
|
||||
*
|
||||
* Class constructor, sets error messaging language preference
|
||||
*
|
||||
* @param language (string) defaults to en (English).
|
||||
*
|
||||
* @examples: $f = new uploader(); // English error messages
|
||||
* $f = new uploader('fr'); // French error messages
|
||||
* $f = new uploader('de'); // German error messages
|
||||
* $f = new uploader('nl'); // Dutch error messages
|
||||
* $f = new uploader('it'); // Italian error messages
|
||||
* $f = new uploader('fi'); // Finnish error messages
|
||||
* $f = new uploader('es'); // Spanish error messages
|
||||
* $f = new uploader('no'); // Norwegian error messages
|
||||
* $f = new uploader('da'); // Danish error messages
|
||||
*
|
||||
*/
|
||||
function uploader ( $language = 'en' ) {
|
||||
$this->language = strtolower($language);
|
||||
$this->error = '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* void max_filesize ( int size);
|
||||
*
|
||||
* Set the maximum file size in bytes ($size), allowable by the object.
|
||||
* NOTE: PHP's configuration file also can control the maximum upload size, which is set to 2 or 4
|
||||
* megs by default. To upload larger files, you'll have to change the php.ini file first.
|
||||
*
|
||||
* @param size (int) file size in bytes
|
||||
*
|
||||
*/
|
||||
function max_filesize($size){
|
||||
$this->max_filesize = (int) $size;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* void max_image_size ( int width, int height );
|
||||
*
|
||||
* Sets the maximum pixel dimensions. Will only be checked if the
|
||||
* uploaded file is an image
|
||||
*
|
||||
* @param width (int) maximum pixel width of image uploads
|
||||
* @param height (int) maximum pixel height of image uploads
|
||||
*
|
||||
*/
|
||||
function max_image_size($width, $height){
|
||||
$this->max_image_width = (int) $width;
|
||||
$this->max_image_height = (int) $height;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* bool upload (string filename[, string accept_type[, string extension]]);
|
||||
*
|
||||
* Checks if the file is acceptable and uploads it to PHP's default upload diretory
|
||||
*
|
||||
* @param filename (string) form field name of uploaded file
|
||||
* @param accept_type (string) acceptable mime-types
|
||||
* @param extension (string) default filename extenstion
|
||||
*
|
||||
*/
|
||||
function upload($filename='', $accept_type='', $extention='') {
|
||||
|
||||
$this->acceptable_file_types = trim($accept_type); // used by error messages
|
||||
|
||||
if (!isset($_FILES) || !is_array($_FILES[$filename]) || !$_FILES[$filename]['name']) {
|
||||
$this->error = $this->get_error(0);
|
||||
$this->accepted = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Copy PHP's global $_FILES array to a local array
|
||||
$this->file = $_FILES[$filename];
|
||||
$this->file['file'] = $filename;
|
||||
|
||||
// Initialize empty array elements
|
||||
if (!isset($this->file['extention'])) $this->file['extention'] = "";
|
||||
if (!isset($this->file['type'])) $this->file['type'] = "";
|
||||
if (!isset($this->file['size'])) $this->file['size'] = "";
|
||||
if (!isset($this->file['width'])) $this->file['width'] = "";
|
||||
if (!isset($this->file['height'])) $this->file['height'] = "";
|
||||
if (!isset($this->file['tmp_name'])) $this->file['tmp_name'] = "";
|
||||
if (!isset($this->file['raw_name'])) $this->file['raw_name'] = "";
|
||||
|
||||
// test max size
|
||||
if($this->max_filesize && ($this->file["size"] > $this->max_filesize)) {
|
||||
$this->error = $this->get_error(1);
|
||||
$this->accepted = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(stristr($this->file["type"], "image")) {
|
||||
/* IMAGES */
|
||||
$image = getimagesize($this->file["tmp_name"]);
|
||||
$this->file["width"] = $image[0];
|
||||
$this->file["height"] = $image[1];
|
||||
|
||||
// test max image size
|
||||
if(($this->max_image_width || $this->max_image_height) && (($this->file["width"] > $this->max_image_width) || ($this->file["height"] > $this->max_image_height))) {
|
||||
$this->error = $this->get_error(2);
|
||||
$this->accepted = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
// Image Type is returned from getimagesize() function
|
||||
switch($image[2]) {
|
||||
case 1:
|
||||
$this->file["extention"] = ".gif"; break;
|
||||
case 2:
|
||||
$this->file["extention"] = ".jpg"; break;
|
||||
case 3:
|
||||
$this->file["extention"] = ".png"; break;
|
||||
case 4:
|
||||
$this->file["extention"] = ".swf"; break;
|
||||
case 5:
|
||||
$this->file["extention"] = ".psd"; break;
|
||||
case 6:
|
||||
$this->file["extention"] = ".bmp"; break;
|
||||
case 7:
|
||||
$this->file["extention"] = ".tif"; break;
|
||||
case 8:
|
||||
$this->file["extention"] = ".tif"; break;
|
||||
default:
|
||||
$this->file["extention"] = $extention; break;
|
||||
}
|
||||
} elseif(!ereg("(\.)([a-z0-9]{3,5})$", $this->file["name"]) && !$extention) {
|
||||
// Try and autmatically figure out the file type
|
||||
// For more on mime-types: http://httpd.apache.org/docs/mod/mod_mime_magic.html
|
||||
switch($this->file["type"]) {
|
||||
case "text/plain":
|
||||
$this->file["extention"] = ".txt"; break;
|
||||
case "text/richtext":
|
||||
$this->file["extention"] = ".txt"; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$this->file["extention"] = $extention;
|
||||
}
|
||||
|
||||
// check to see if the file is of type specified
|
||||
if($this->acceptable_file_types) {
|
||||
if(trim($this->file["type"]) && (stristr($this->acceptable_file_types, $this->file["type"]) || stristr($this->file["type"], $this->acceptable_file_types)) ) {
|
||||
$this->accepted = TRUE;
|
||||
} else {
|
||||
$this->accepted = FALSE;
|
||||
$this->error = $this->get_error(3);
|
||||
}
|
||||
} else {
|
||||
$this->accepted = TRUE;
|
||||
}
|
||||
|
||||
return (bool) $this->accepted;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* bool save_file ( string path[, int overwrite_mode] );
|
||||
*
|
||||
* Cleans up the filename, copies the file from PHP's temp location to $path,
|
||||
* and checks the overwrite_mode
|
||||
*
|
||||
* @param path (string) File path to your upload directory
|
||||
* @param overwrite_mode (int) 1 = overwrite existing file
|
||||
* 2 = rename if filename already exists (file.txt becomes file_copy0.txt)
|
||||
* 3 = do nothing if a file exists
|
||||
*
|
||||
*/
|
||||
function save_file($path, $nu_name="", $overwrite_mode="3"){
|
||||
if ($this->error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (strlen($path)>0) {
|
||||
if ($path[strlen($path)-1] != "/") {
|
||||
$path = $path . "/";
|
||||
}
|
||||
}
|
||||
$this->path = $path;
|
||||
$copy = "";
|
||||
$n = 1;
|
||||
$success = false;
|
||||
|
||||
if($this->accepted) {
|
||||
// ff 220704 cambio el nombre por el nuevo
|
||||
|
||||
if($nu_name != ""){
|
||||
$this->file["name"] = $nu_name;
|
||||
}
|
||||
|
||||
// ff
|
||||
|
||||
// Clean up file name (only lowercase letters, numbers and underscores)
|
||||
$this->file["name"] = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower($this->file["name"]))));
|
||||
|
||||
// Clean up text file breaks
|
||||
if(stristr($this->file["type"], "text")) {
|
||||
$this->cleanup_text_file($this->file["tmp_name"]);
|
||||
}
|
||||
|
||||
// get the raw name of the file (without its extention)
|
||||
if(ereg("(\.)([a-z0-9]{2,5})$", $this->file["name"])) {
|
||||
$pos = strrpos($this->file["name"], ".");
|
||||
if(!$this->file["extention"]) {
|
||||
$this->file["extention"] = substr($this->file["name"], $pos, strlen($this->file["name"]));
|
||||
}
|
||||
$this->file['raw_name'] = substr($this->file["name"], 0, $pos);
|
||||
} else {
|
||||
$this->file['raw_name'] = $this->file["name"];
|
||||
if ($this->file["extention"]) {
|
||||
$this->file["name"] = $this->file["name"] . $this->file["extention"];
|
||||
}
|
||||
}
|
||||
|
||||
switch((int) $overwrite_mode) {
|
||||
case 1: // overwrite mode
|
||||
if (@copy($this->file["tmp_name"], $this->path . $this->file["name"])) {
|
||||
$success = true;
|
||||
} else {
|
||||
$success = false;
|
||||
$this->error = $this->get_error(5);
|
||||
}
|
||||
break;
|
||||
case 2: // create new with incremental extention
|
||||
while(file_exists($this->path . $this->file['raw_name'] . $copy . $this->file["extention"])) {
|
||||
$copy = "_copy" . $n;
|
||||
$n++;
|
||||
}
|
||||
$this->file["name"] = $this->file['raw_name'] . $copy . $this->file["extention"];
|
||||
if (@copy($this->file["tmp_name"], $this->path . $this->file["name"])) {
|
||||
$success = true;
|
||||
} else {
|
||||
$success = false;
|
||||
$this->error = $this->get_error(5);
|
||||
}
|
||||
break;
|
||||
default: // do nothing if exists, highest protection
|
||||
if(file_exists($this->path . $this->file["name"])){
|
||||
$this->error = $this->get_error(4);
|
||||
$success = false;
|
||||
} else {
|
||||
if (@copy($this->file["tmp_name"], $this->path . $this->file["name"])) {
|
||||
$success = true;
|
||||
} else {
|
||||
$success = false;
|
||||
$this->error = $this->get_error(5);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(!$success) { unset($this->file['tmp_name']); }
|
||||
return (bool) $success;
|
||||
} else {
|
||||
$this->error = $this->get_error(3);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* string get_error(int error_code);
|
||||
*
|
||||
* Gets the correct error message for language set by constructor
|
||||
*
|
||||
* @param error_code (int) error code
|
||||
*
|
||||
*/
|
||||
function get_error($error_code='') {
|
||||
$error_message = array();
|
||||
$error_code = (int) $error_code;
|
||||
|
||||
switch ( $this->language ) {
|
||||
// French (fr)
|
||||
case 'fr':
|
||||
$error_message[0] = "Aucun fichier n'a été envoyé";
|
||||
$error_message[1] = "Taille maximale autorisée dépassée. Le fichier ne doit pas être plus gros que " . $this->max_filesize/1000 . " Ko (" . $this->max_filesize . " octets).";
|
||||
$error_message[2] = "Taille de l'image incorrecte. L'image ne doit pas dépasser " . $this->max_image_width . " pixels de large sur " . $this->max_image_height . " de haut.";
|
||||
$error_message[3] = "Type de fichier incorrect. Seulement les fichiers de type " . str_replace("|", " or ", $this->acceptable_file_types) . " sont autorisés.";
|
||||
$error_message[4] = "Fichier '" . $this->path . $this->file["name"] . "' déjá existant, écrasement interdit.";
|
||||
$error_message[5] = "La permission a nié. Incapable pour copier le fichier á '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// German (de)
|
||||
case 'de':
|
||||
$error_message[0] = "Es wurde keine Datei hochgeladen";
|
||||
$error_message[1] = "Maximale Dateigrösse überschritten. Datei darf nicht grösser als " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " bytes) sein.";
|
||||
$error_message[2] = "Maximale Bildgrösse überschritten. Bild darf nicht grösser als " . $this->max_image_width . " x " . $this->max_image_height . " pixel sein.";
|
||||
$error_message[3] = "Nur " . str_replace("|", " oder ", $this->acceptable_file_types) . " Dateien dürfen hochgeladen werden.";
|
||||
$error_message[4] = "Datei '" . $this->path . $this->file["name"] . "' existiert bereits.";
|
||||
$error_message[5] = "Erlaubnis hat verweigert. Unf&amul;hig, Akte zu '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Dutch (nl)
|
||||
case 'nl':
|
||||
$error_message[0] = "Er is geen bestand geupload";
|
||||
$error_message[1] = "Maximum bestandslimiet overschreden. Bestanden mogen niet groter zijn dan " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " bytes).";
|
||||
$error_message[2] = "Maximum plaatje omvang overschreven. Plaatjes mogen niet groter zijn dan " . $this->max_image_width . " x " . $this->max_image_height . " pixels.";
|
||||
$error_message[3] = "Alleen " . str_replace("|", " of ", $this->acceptable_file_types) . " bestanden mogen worden geupload.";
|
||||
$error_message[4] = "Bestand '" . $this->path . $this->file["name"] . "' bestaat al.";
|
||||
$error_message[5] = "Toestemming is geweigerd. Kon het bestand niet naar '" . $this->path . "' copieren.";
|
||||
//$error_message[5] = "Toestemming ontkende. Onbekwaam dossier aan '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Italian (it)
|
||||
case 'it':
|
||||
$error_message[0] = "Il file non e' stato salvato";
|
||||
$error_message[1] = "Il file e' troppo grande. La dimensione massima del file e' " . $this->max_filesize/1000 . " Kb (" . $this->max_filesize . " bytes).";
|
||||
$error_message[2] = "L'immagine e' troppo grande. Le dimensioni massime non possono essere superiori a " . $this->max_image_width . " pixel di larghezza per " . $this->max_image_height . " d'altezza.";
|
||||
$error_message[3] = "Il tipo di file non e' valido. Solo file di tipo " . str_replace("|", " o ", $this->acceptable_file_types) . " sono autorizzati.";
|
||||
$error_message[4] = "E' gia' presente un file con nome " . $this->path . $this->file["name"];
|
||||
$error_message[5] = "Permesso negato. Impossibile copiare il file in '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Finnish
|
||||
case 'fi':
|
||||
$error_message[0] = "Tiedostoa ei l&amul;hetetty.";
|
||||
$error_message[1] = "Tiedosto on liian suuri. Tiedoston koko ei saa olla yli " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " tavua).";
|
||||
$error_message[2] = "Kuva on liian iso. Kuva ei saa olla yli " . $this->max_image_width . " x " . $this->max_image_height . " pikseli&amul;.";
|
||||
$error_message[3] = "Vain " . str_replace("|", " tai ", $this->acceptable_file_types) . " tiedostoja voi tallentaa kuvapankkiin.";
|
||||
$error_message[4] = "Tiedosto '" . $this->path . $this->file["name"] . "' on jo olemassa.";
|
||||
$error_message[5] = "Ei k&amul;yttöoikeutta. Tiedostoa ei voi kopioida hakemistoon '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Spanish
|
||||
case 'es':
|
||||
$error_message[0] = "No se subió ningún archivo.";
|
||||
$error_message[1] = "Se excedió el tamaño máximo del archivo. El archivo no puede ser mayor a " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " bytes).";
|
||||
$error_message[2] = "Se excedieron las dimensiones de la imagen. La imagen no puede medir más de " . $this->max_image_width . " (w) x " . $this->max_image_height . " (h) pixeles.";
|
||||
$error_message[3] = "El tipo de archivo no es válido. Sólo los archivos " . str_replace("|", " o ", $this->acceptable_file_types) . " son permitidos.";
|
||||
$error_message[4] = "El archivo '" . $this->path . $this->file["name"] . "' ya existe.";
|
||||
$error_message[5] = "Permiso denegado. No es posible copiar el archivo a '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Norwegian
|
||||
case 'no':
|
||||
$error_message[0] = "Ingen fil ble lastet opp.";
|
||||
$error_message[1] = "Max filstørrelse ble oversteget. Filen kan ikke være større ennn " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " byte).";
|
||||
$error_message[2] = "Max bildestørrelse ble oversteget. Bildet kan ikke være større enn " . $this->max_image_width . " x " . $this->max_image_height . " piksler.";
|
||||
$error_message[3] = "Bare " . str_replace("|", " tai ", $this->acceptable_file_types) . " kan lastes opp.";
|
||||
$error_message[4] = "Filen '" . $this->path . $this->file["name"] . "' finnes fra før.";
|
||||
$error_message[5] = "Tilgang nektet. Kan ikke kopiere filen til '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
// Danish
|
||||
case 'da':
|
||||
$error_message[0] = "Ingen fil blev uploaded";
|
||||
$error_message[1] = "Den maksimale filstørrelse er overskredet. Filerne må ikke være større end " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " bytes).";
|
||||
$error_message[2] = "Den maksimale billedstørrelse er overskredet. Billeder må ikke være større end " . $this->max_image_width . " x " . $this->max_image_height . " pixels.";
|
||||
$error_message[3] = "Kun " . str_replace("|", " or ", $this->acceptable_file_types) . " kan uploades.";
|
||||
$error_message[4] = "Filen '" . $this->path . $this->file["name"] . "' eksisterer allerede.";
|
||||
$error_message[5] = "Adgang nægtet! Er ikke i stand til at kopiere filen til '" . $this->path . "'";
|
||||
break;
|
||||
|
||||
|
||||
// English
|
||||
default:
|
||||
$error_message[0] = "No file was uploaded";
|
||||
$error_message[1] = "Maximum file size exceeded. File may be no larger than " . $this->max_filesize/1000 . " KB (" . $this->max_filesize . " bytes).";
|
||||
$error_message[2] = "Maximum image size exceeded. Image may be no more than " . $this->max_image_width . " x " . $this->max_image_height . " pixels.";
|
||||
$error_message[3] = "Only " . str_replace("|", " or ", $this->acceptable_file_types) . " files may be uploaded.";
|
||||
$error_message[4] = "File '" . $this->path . $this->file["name"] . "' already exists.";
|
||||
$error_message[5] = "Permission denied. Unable to copy file to '" . $this->path . "'";
|
||||
break;
|
||||
}
|
||||
|
||||
// for backward compatability:
|
||||
$this->errors[$error_code] = $error_message[$error_code];
|
||||
|
||||
return $error_message[$error_code];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* void cleanup_text_file (string file);
|
||||
*
|
||||
* Convert Mac and/or PC line breaks to UNIX by opening
|
||||
* and rewriting the file on the server
|
||||
*
|
||||
* @param file (string) Path and name of text file
|
||||
*
|
||||
*/
|
||||
function cleanup_text_file($file){
|
||||
// chr(13) = CR (carridge return) = Macintosh
|
||||
// chr(10) = LF (line feed) = Unix
|
||||
// Win line break = CRLF
|
||||
$new_file = '';
|
||||
$old_file = '';
|
||||
$fcontents = file($file);
|
||||
while (list ($line_num, $line) = each($fcontents)) {
|
||||
$old_file .= $line;
|
||||
$new_file .= str_replace(chr(13), chr(10), $line);
|
||||
}
|
||||
if ($old_file != $new_file) {
|
||||
// Open the uploaded file, and re-write it with the new changes
|
||||
$fp = fopen($file, "w");
|
||||
fwrite($fp, $new_file);
|
||||
fclose($fp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function resize($filename, $max_width, $max_height, $quality=80) {
|
||||
|
||||
// Proportionally resize the image to the max sizes specified above
|
||||
$x_ratio = $max_width / $this->file["width"];
|
||||
$y_ratio = $max_height / $this->file["height"];
|
||||
$retamanha = true;
|
||||
|
||||
if( ($this->file["width"] <= $max_width) && ($this->file["height"] <= $max_height) ) {
|
||||
$tn_width = $this->file["width"];
|
||||
$tn_height = $this->file["height"];
|
||||
} elseif (($x_ratio * $this->file["height"]) < $max_height) {
|
||||
$tn_height = ceil($x_ratio * $this->file["height"]);
|
||||
$tn_width = $max_width;
|
||||
} else {
|
||||
$tn_width = ceil($y_ratio * $this->file["width"]);
|
||||
$tn_height = $max_height;
|
||||
}
|
||||
$dest_x = ($max_width - $tn_width) / 2;
|
||||
$dest_y = ($max_height - $tn_height) / 2;
|
||||
// Increase memory limit to support larger files
|
||||
ini_set('memory_limit', '32M');
|
||||
|
||||
// Create the new image!
|
||||
if($this->file["extention"] == '.jpg') {
|
||||
$src = imageCreateFromJpeg($this->path . $this->file["name"]);
|
||||
} elseif ($this->file["extention"] == '.gif') {
|
||||
$src = imageCreateFromGif($this->path . $this->file["name"]);
|
||||
} else {
|
||||
return; // una salida poco elegante
|
||||
}
|
||||
if($src) {
|
||||
$dst = imageCreateTrueColor($max_width, $max_height);
|
||||
if($dst) {
|
||||
$bgColor = imagecolorallocate($dst, 255,255,255);
|
||||
ImageFilledRectangle ($dst, 0, 0, $max_width, $max_height, $bgColor);
|
||||
|
||||
imageCopyResampled($dst, $src, $dest_x, $dest_y, 0, 0, $tn_width, $tn_height, $this->file["width"], $this->file["height"]);
|
||||
|
||||
imagejpeg($dst, $this->path . $filename, $quality);
|
||||
|
||||
imageDestroy($dst);
|
||||
}
|
||||
imageDestroy($src);
|
||||
}
|
||||
}
|
||||
|
||||
function crop($filename, $max_width, $max_height, $percent=1.0, $quality=80) {
|
||||
|
||||
$new_width = $this->file["width"] * $percent;
|
||||
$new_height = $this->file["height"] * $percent;
|
||||
|
||||
// Increase memory limit to support larger files
|
||||
ini_set('memory_limit', '32M');
|
||||
|
||||
// Create the new image!
|
||||
if($this->file["extention"] == '.jpg') {
|
||||
$src = imageCreateFromJpeg($this->path . $this->file["name"]);
|
||||
} elseif ($this->file["extention"] == '.gif') {
|
||||
$src = imageCreateFromGif($this->path . $this->file["name"]);
|
||||
} else {
|
||||
return; // una salida poco elegante
|
||||
}
|
||||
if($src) {
|
||||
$dst = imageCreateTrueColor($max_width, $max_height);
|
||||
if($dst) {
|
||||
$bgColor = imagecolorallocate($dst, 255,255,255);
|
||||
ImageFilledRectangle ($dst, 0, 0, $max_width, $max_height, $bgColor);
|
||||
|
||||
imageCopyResampled($dst, $src, -($new_width/2) + ($max_width/2), -($new_height/2) + ($max_height/2), 0, 0, $new_width, $new_height, $this->file["width"], $this->file["height"]);
|
||||
|
||||
imagejpeg($dst, $this->path . $filename, $quality);
|
||||
|
||||
imageDestroy($dst);
|
||||
}
|
||||
imageDestroy($src);
|
||||
}
|
||||
}
|
||||
|
||||
function delete_file() {
|
||||
@unlink($this->path . $this->file["name"]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
<readme>
|
||||
|
||||
fileupload-class.php can be used to upload files of any type
|
||||
to a web server using a web browser. The uploaded file's name will
|
||||
get cleaned up - special characters will be deleted, and spaces
|
||||
get replaced with underscores, and moved to a specified
|
||||
directory (on your server). fileupload-class.php also does its best to
|
||||
determine the file's type (text, GIF, JPEG, etc). If the user
|
||||
has named the file with the correct extension (.txt, .gif, etc),
|
||||
then the class will use that, but if the user tries to upload
|
||||
an extensionless file, PHP does can identify text, gif, jpeg,
|
||||
and png files for you. As a last resort, if there is no
|
||||
specified extension, and PHP can not determine the type, you
|
||||
can set a default extension to be added.
|
||||
|
||||
SETUP:
|
||||
Make sure that the directory that you plan on uploading
|
||||
files to has enough permissions for your web server to
|
||||
write/upload to it. (usually, this means making it world writable)
|
||||
- cd /your/web/dir
|
||||
- chmod 777 <fileupload_dir>
|
||||
|
||||
The HTML FORM used to upload the file should look like this:
|
||||
<form method="post" action="upload.php" enctype="multipart/form-data">
|
||||
<input type="file" name="userfile">
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
|
||||
|
||||
USAGE:
|
||||
// Create a new instance of the class
|
||||
$my_uploader = new uploader;
|
||||
|
||||
// OPTIONAL: set the max filesize of uploadable files in bytes
|
||||
$my_uploader->max_filesize(90000);
|
||||
|
||||
// OPTIONAL: if you're uploading images, you can set the max pixel dimensions
|
||||
$my_uploader->max_image_size(150, 300); // max_image_size($width, $height)
|
||||
|
||||
// UPLOAD the file
|
||||
$my_uploader->upload("userfile", "", ".jpg");
|
||||
|
||||
// MOVE THE FILE to its final destination
|
||||
// $mode = 1 :: overwrite existing file
|
||||
// $mode = 2 :: rename new file if a file
|
||||
// with the same name already
|
||||
// exists: file.txt becomes file_copy0.txt
|
||||
// $mode = 3 :: do nothing if a file with the
|
||||
// same name already exists
|
||||
$my_uploader->save_file("/your/web/dir/fileupload_dir", int $mode);
|
||||
|
||||
// Check if everything worked
|
||||
if ($my_uploader->error) {
|
||||
echo $my_uploader->error . "<br>";
|
||||
|
||||
} else {
|
||||
// Successful upload!
|
||||
$file_name = $my_uploader->file['name'];
|
||||
print($file_name . " was successfully uploaded!");
|
||||
|
||||
}
|
||||
|
||||
</readme>
|
||||
|
||||
|
||||
<license>
|
||||
|
||||
///// fileupload-class.php /////
|
||||
Copyright (c) 1999, 2002, 2003 David Fox, Angryrobot Productions
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
3. Neither the name of author nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
DISCLAIMER:
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
</license>
|
||||
|
||||
*/
|
||||
?>
|
||||
@ -106,6 +106,9 @@ if(stripinput($_POST['action'])=="add"){
|
||||
|
||||
$candidatoNew->addPerfiles($_POST['perfil']);
|
||||
$candidatoNew->addCurriculum($_FILES['userfile']);
|
||||
//Subimos la foto
|
||||
uploadImagenCandidato($idCandidatoNew, 250, 250, 150, 150);
|
||||
|
||||
header("Location: detalle_candidato.php?oid=".$idCandidatoNew);
|
||||
} else {
|
||||
$tipomsg="error";
|
||||
@ -224,6 +227,8 @@ echo '</td>';
|
||||
//CAMPO FOTO
|
||||
echo '<td ';
|
||||
echo ' width="25%" '.$ett.' textalign="right">';
|
||||
echo $locale['Candidato006'] .':<br>';
|
||||
echo '<input name="candidato_imagen" type="file" style="width:250px" class="data">';
|
||||
echo'</td>';
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
@ -102,7 +102,13 @@ if ($msg != "") {
|
||||
</td>
|
||||
|
||||
<td class="sinborde" width="25%"><span class="resaltado"><?php echo $locale['114candidato']; ?></span><?php echo localidad($persona->getValor("localidad")); ?></td>
|
||||
<td class="sinborde" width="25%"><span class="resaltado"></span></td>
|
||||
<td class="sinborde" width="25%"><span class="resaltado"></span>
|
||||
<?php
|
||||
if(tieneImagen($persona->getValor("oid"))) {
|
||||
echo '<img src="'. rutaImagen($persona->getValor("oid")) .'"/>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
@ -135,6 +135,9 @@ switch ($action) {
|
||||
|
||||
$candidato->addPerfiles($_POST['perfil']);
|
||||
$candidato->addCurriculum($_FILES['userfile']);
|
||||
//Subimos la foto
|
||||
uploadImagenCandidato($_GET ['oid'], 250, 250, 150, 150);
|
||||
|
||||
$mensaje=$locale['1583'];
|
||||
$tipomsg="ok";
|
||||
$candidato=new Candidato($usuario,$_GET ['oid']);
|
||||
@ -284,6 +287,13 @@ echo '</td>';
|
||||
//CAMPO FOTO
|
||||
echo '<td ';
|
||||
echo ' width="25%" '.$ett.' textalign="right" width=20%>';
|
||||
echo $locale['Candidato006'] .':<br>';
|
||||
echo '<input name="candidato_imagen" type="file" style="width:250px" class="data"><br><br>';
|
||||
|
||||
if(tieneImagen($candidato->getValor("oid"))) {
|
||||
echo '<img src="'. rutaImagen($candidato->getValor("oid")) .'"/>';
|
||||
}
|
||||
|
||||
echo'</td>';
|
||||
echo '</tr>';
|
||||
echo '</table>';
|
||||
|
||||
@ -148,6 +148,7 @@ $locale['Candidato002'] = "Disponibilidad para guardias:";
|
||||
$locale['Candidato003'] = "Disponibilidad viajar:";
|
||||
$locale['Candidato004'] = "Disponibilidad proyectos internacionales:";
|
||||
$locale['Candidato005'] = "Carnet de conducir:";
|
||||
$locale['Candidato006'] = "Foto";
|
||||
$locale['Capacidades001'] = "CAPACIDADES PROFESIONALES";
|
||||
$locale['Capacidades002_0'] = "Perfil funcional*:";
|
||||
$locale['Capacidades002_1'] = "Perfil funcional*:";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user