From ferudine en sion.com Fri Nov 1 11:21:18 2013 From: ferudine en sion.com (Daniel Billia) Date: Fri, 01 Nov 2013 11:21:18 -0300 Subject: [Php-avanzado] RE Consulta ajax Message-ID: <20131101142112.CDFB54815A@cobain.capfed1.sinectis.com.ar> Soy Daniel probé el modo que me mandaste para XMLHttpRequest pero sigue haciendo lo mismo estoy usando como servidor xampp puede venir el problema de hay ¿??? Con IE7 funciona bien y en Firefox la respuesta se ejecuta pero esta vacía porque el evento de recepción XML se realiza pero la cadena esta vacía ,saludos From leonardot en pegasusnet.com.ar Fri Nov 1 12:00:20 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Fri, 01 Nov 2013 12:00:20 -0300 Subject: [Php-avanzado] RE Consulta ajax In-Reply-To: <20131101142112.CDFB54815A@cobain.capfed1.sinectis.com.ar> References: <20131101142112.CDFB54815A@cobain.capfed1.sinectis.com.ar> Message-ID: <1383318020.4992.1.camel@praxisviii.intranet.com> Hola Daniel, El vie, 01-11-2013 a las 11:21 -0300, Daniel Billia escribió: > Soy Daniel probé el modo que me mandaste para XMLHttpRequest > pero sigue haciendo lo mismo estoy usando como servidor xampp > puede venir el problema de hay ¿??? Con IE7 funciona bien y en > Firefox la respuesta se ejecuta pero esta vacía porque el evento > de recepción XML se realiza pero la cadena esta vacía ,saludos En la consola de depurado de Firefox, fijate qué respuesta obtenés del servidor. Así podrás determinar si es un error de cómo llega la respuesta o un error de como se analiza en JavaScript. No es muy limpio, pero siempre podés ir poniendo alert() para ver por dónde se va ejecutando el código JavaScript, y determinar así la línea que falla. Seguimos! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From tucu_21 en hotmail.com Fri Nov 1 12:21:04 2013 From: tucu_21 en hotmail.com (Juan Manuel P.) Date: Fri, 1 Nov 2013 12:21:04 -0300 Subject: [Php-avanzado] RE Consulta ajax In-Reply-To: <20131101142112.CDFB54815A@cobain.capfed1.sinectis.com.ar> References: <20131101142112.CDFB54815A@cobain.capfed1.sinectis.com.ar> Message-ID: Daniel estoy queriendo probarlo, pero me encuentro con una serie de errores que me envia el servidor. De principio que te olvidaste de adjuntar el archivo defpath.php que esta incluido en la primera linea de testvu.php El otro es que no esta definida la variable $ajx (tal vez la tenes definida en defpath.php y es por eso este error) Asi mismo fijate porque tenes 2 veces la etiqueta en el archivo testvu.php Saludos y espero tu respuesta. Piñeiro, Juan Manuel Aliweb - Desarrollo de Software Cel (0223) 155 704568 Web www.aliweb.com.ar Mar del Plata | Argentina > Date: Fri, 1 Nov 2013 11:21:18 -0300 > To: Php-avanzado en pato2.fi.mdp.edu.ar > From: ferudine en sion.com > Subject: [Php-avanzado] RE Consulta ajax > > Soy Daniel probé el modo que me mandaste para XMLHttpRequest > pero sigue haciendo lo mismo estoy usando como servidor xampp > puede venir el problema de hay ¿??? Con IE7 funciona bien y en > Firefox la respuesta se ejecuta pero esta vacía porque el evento > de recepción XML se realiza pero la cadena esta vacía ,saludos > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ferudine en sion.com Fri Nov 1 19:55:18 2013 From: ferudine en sion.com (Daniel Billia) Date: Fri, 01 Nov 2013 19:55:18 -0300 Subject: [Php-avanzado] re Juan Manuel AJAX Message-ID: <20131101225508.940E04815A@relay2.capfed1.sinectis.com.ar> Juan Manuel te mando con dos link que están en el inico del php testvu.php Uno es que uso en xampp y el otro esta en un servidor pero hace lo mismo saludos ------------ próxima parte ------------ New Document
valida From ferudine en sion.com Fri Nov 1 20:11:28 2013 From: ferudine en sion.com (Daniel Billia) Date: Fri, 01 Nov 2013 20:11:28 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?Consola_depuraci=F3n?= Message-ID: <20131101231118.1E65B48112@relay2.capfed1.sinectis.com.ar> Leo ejecute la depuración no pude encontrar la forma de copiar el resultado te mando loa imagen , y el estado da bien como 4 pero la cadena esta vacía en la respuesta SALUDOS ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: respuesta.JPG Type: image/jpeg Size: 35251 bytes Desc: no disponible URL: From leonardot en pegasusnet.com.ar Sat Nov 2 10:39:26 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Sat, 02 Nov 2013 10:39:26 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?Consola_depuraci=F3n?= In-Reply-To: <20131101231118.1E65B48112@relay2.capfed1.sinectis.com.ar> References: <20131101231118.1E65B48112@relay2.capfed1.sinectis.com.ar> Message-ID: <1383399566.4323.28.camel@praxisviii.intranet.com> Hola Daniel, Dado que el JavaScript no da error hacé lo siguiente: emití con un alert la cadena que arma callServer para enviar al servidor. Esa cadena va a ser un URL. Copialo y pegalo en una solapa nueva del navegador, y fijate qué responde tu script PHP: si una cadena vacía o la respuesta que estás esperando. Contanos por acá así seguimos. Si querés, el jueves de 18 a 22hs estamos en la FI y lo podemos ver sobre tu propia PC a ver qué pasa. Saludos El vie, 01-11-2013 a las 20:11 -0300, Daniel Billia escribió: > Leo ejecute la depuración no pude encontrar la > forma de copiar el resultado te mando loa imagen > , y el estado da bien como 4 pero la cadena esta vacía en la respuesta SALUDOS > _______________________________________________ Lista de correo: Php-avanzado Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From fpborsani en yahoo.com.ar Mon Nov 4 15:20:04 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Mon, 4 Nov 2013 15:20:04 -0300 Subject: [Php-avanzado] Requerimientos funcionales: Bibliotech v6.2 Message-ID: <000001ced98a$7e5f1d80$7b1d5880$@yahoo.com.ar> Hola Profe! Le paso la nueva revisión de los requerimientos: ----------------- Comentarios: ----------------- PB> -- Los estados ya no se muestran porque son manejados automáticamente por el sistema. Simplemente según las acciones del empleado el sistema asignará los estados. LT> Ok. Entonces si estoy viendo un ejemplar en un listado por ejemplo, no se puede saber en qué estado estará en ese momento? El sistema no muestra listados de unidades con su estado. Por curiosidad, ¿en qué casos podría resultar útil? LT> Estás seguro de que todos los libros de esta biblioteca tienen ISBN ??? Es posible que la biblioteca tengan libros sin isbn (una edición antigua, 1960 digamos). Voy a expandir el concepto del código identificador en el diccionario para cubrir este problema. LT> La devolución hace referencia a un Préstamo en vez de a un Ejemplar y a un Socio??? Qué complicado!!! Bueno, yo lo cambio, aunque si para calcular la devolución a tiempo el sistema va a revisar el préstamo para captar la fecha en que se efectuó, no sería lo correcto referenciar al préstamo y no a la unidad? Otra solución sería configurar de esta manera la unidad: en el atributo "disponible para préstamo" ponemos la fecha en que se prestó. Si la fecha existe, no está disponible, si la fecha está vacía, esta disponible. ¿Qué opina? LT> No estoy seguro de entender esto: si un asociado repone una unidad que perdió, no debería tener un número nuevo de unidad? Me gusta más la idea de un reemplazo completo. Es como cuando en Stargate el mayor Kowolski-de-un-universo-paralelo recibió misiones reemplazando al mayor Kowolski-de-nuestro-universo, total era un equivalente suficientemente exacto. =) ------------- Cambios: ------------- -- Expandida la definición del número identificador para libros previos a 1970. -- RF 21.2 reescrito para contemplar pagos por adelantado. -- RF 22 y 23: referencia redirigida a la unidad en vez de al préstamo. ----------------------------------------------------------------------- Software Requirements Specification[SRS] Bibliotech v6.2 ----------------------------------------------------------------------- Requerimientos Funcionales[RF]: 01) El sistema debe gestionar editoriales. 02) El sistema debe gestionar autores. 03) El sistema debe gestionar géneros. 04) El sistema debe gestionar libros con su editorial[01], su(s) autor(es)[02] y su género[03]. 05) El sistema debe gestionar unidades de libros[04]. 06) El sistema debe mostrar los sexos. 07) El sistema debe mostrar rangos de edad. 08) El sistema debe gestionar visitantes con su sexo[06] y rango de edad[07]. 09) El sistema debe registrar los votos de los visitantes[08] a los libros[04]. 10) El sistema debe gestionar comentarios de los visitantes[08] a los libros[04]. 11) El sistema debe registrar los votos de los visitantes[08] a los comentarios[10]. 12) El sistema debe registrar la popularidad del libro[04]. 13) El sistema debe reportar la popularidad[12] de los libros[04] mensualmente. 14) El sistema debe buscar libros[04]. 14.1) Por ISBN 14.2) Por Editorial[01]. 14.3) Por Autor[02]. 14.4) Por título. 14.5) Por género[03]. 15) El sistema debe mostrar tipos de documentos. 16) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y tipo de documento[15]. 17) El sistema debe calcular la confiabilidad de los asociados[16]. 18) El sistema debe mostrar los meses del año. 19) El sistema debe inscribir cuotas de asociados[16]. 20) El sistema debe informar al asociado del vencimiento de la cuota[19]. 21) El sistema debe registrar el préstamo de unidades[05] a asociados[16]. 21.1) El sistema debe detener un nuevo préstamo si excede la confiabilidad[17]. 21.2) El sistema debe detener un nuevo préstamo si la cuota[19] es anterior al mes en curso. 21.3) El sistema debe detener un nuevo préstamo si no hay unidades[05] disponibles. 22) El sistema debe registrar devoluciones. 23) El sistema debe registrar extravíos. 23.1) El sistema debe registrar readquisiciones. 24) El sistema debe registrar el mantenimiento de unidades[05]. 25) El sistema debe gestionar el stock de unidades[05]. 25.1) El sistema debe comprobar si ya existe un libro[04] cuando se den de alta unidades[05]. 25.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al efectuarse el alta de unidad[05]. 25.3) El sistema debe restar uno a stock:disponibles al efectuarse un préstamo[21]. 25.4) El sistema debe sumar uno a stock:disponibles por devoluciones[22]. 25.5) El sistema debe restar uno a stock:cantidad por extravíos[23]. 25.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por readquisiciones[23.1]. 25.7) El sistema debe restar uno a stock:disponible al enviarse la unidad[05] a mantenimiento[24]. 25.8) El sistema debe restar uno a stock:cantidad por destrucción de la unidad[05] en mantenimiento[24]. 25.9) El sistema debe sumar uno al stock:disponible al volver la unidad[05] de mantenimiento[24]. 26) El sistema debe informar al asociado[16] del vencimiento del préstamo[21] un día antes del vencimiento. 27) El sistema debe mostrar los préstamos[21] vencidos hace más de una semana. Requerimientos No Funcionales[RNF]: - Gestionar a los empleados. ------------- Diccionario: ------------- --Editorial: Casa editora. Atributos: nombre. --Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro. Un libro puede tener varios autores. Atributos: nombre. --Género: categorías en que clasificar de forma excluyente las obras literarias atendiendo a su contenido. Algunos de ellos son: poesía, ciencia ficción, cuento. Atributos: nombre. --Libro: Obra de extensión suficiente para formar un volumen, en soporte físico. Atributos: código identificador (isbn o equivalente previo a 1970), editorial, autor, título, género, portada, resumen de la contracara. --Unidad: copia de un libro que comparte todas los atributos con el original, menos el código bibliotecario, propio de la unidad. Atributos: código bibliotecario, referencia al libro(código identificador), disponibilidad para préstamo. --Sexo: femenino o masculino. Atributo: nombre. --Rango de edad: hasta 15 años, de 15 a 18 años, de 18 a 22 años, de 23 a 30 años, de 30 a 40 años, de 40 a 60 años, mayor de 60 años. Atributo: rango. --Visitante: persona externa a la empresa que ingresa al contenido web generado por este software. Atributos: Nombre, email, rango de edad, sexo. --Votos: valoración positiva, valoración negativa. Atributo: valor. --Comentarios: opinión que el visitante deja escrita sobre un libro específico. Atributos: autor, contenido, libro. --Popularidad: cantidad de personas que leen la información detallada de un libro(portada y resumen de contracara). Atributos: libro, cantidad. --Reportar: crear un archivo con una lista decreciente de los libros y la cantidad de visitas que recibieron. Atributos: ranking, fecha. --Búsqueda: Comprobación de existencia de un libro(por código identificador o título), autor, editorial, y listado de los resultados. Atributos: término de búsqueda, coincidencias. --Comprobar si ya existe un libro: verificar si el código identificador de un libro ya existe en el sistema. Atributos: código identificador ingresado, resultado. --Tipos de documentos: documento nacional de identidad(DNI), libreta de enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI). Atributo: tipo. --Confiabilidad: cantidad de préstamos activos simultáneos que puede tener un asociado, cantidad de días hasta el vencimiento del préstamo. Cálculo de puntos: devuelto antes del vencimiento, +1 punto. Devuelto tras el vencimiento, -10 puntos por día vencido y cambio temporal a rango suspendido. Extraviado: inhibe de por vida al asociado a no ser que reponga el ejemplar extraviado, en cuyo caso lo restablece como rango 1 con 0 puntos. Rangos: (1) hasta 100 puntos: 2 unidades, 2 semanas. (2) desde 101 hasta 300: 2 unidades, 3 semanas. (3) desde 301: 3 unidades, 3 semanas. (Suspendido) 0 libros, los días suspendido se calculan así: Penalización = 5 * cantidad de días de atraso * cantidad de veces que el asociado devolvió tarde un préstamo. Tras este período el asociado recupera su rango de confiabilidad del 1 al 3 según sus puntos almacenados. Atributos: asociado, puntaje, rango. --Asociado: persona que paga un abono mensual y a cambio puede recibir unidades en préstamo. Atributos: Nombre, tipo de documento, número de documento, fecha de registro, email, teléfono, celular, dirección, rango de edad, sexo, confiabilidad. --Cuota: suma de dinero que se abona mensualmente para poder recibir los servicios de la institución. Atributos: asociado, último mes(con su año correspondiente) pago. --Informar: enviar un correo electrónico con información de interés. Atributos: Asociado, tipo de informe, fecha. --Préstamo: entrega de unidades de la biblioteca al asociado, para que los lea en su hogar. Atributos: Asociado, libro(código identificador), fecha de préstamo, fecha de vencimiento, fecha de devolución, estado: activo o anulado. --Devolución: cese del préstamo porque el asociado entregó de vuelta la unidad a la biblioteca. Atributos: Asociado, unidad, fecha en que se devolvió, estado: devuelto en fecha o devuelto vencido. --Extravío: pérdida de la unidad porque el asociado no la devolvió a la biblioteca. Atributos: Asociado, unidad, estado: extraviado. --Readquisición: cuando el usuario que efectuó un extravío reemplaza la unidad perdida por otra comprada por él. Atributos: Asociado, extravío, estado: readquirido. --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas. En caso que sea imposible, la destruirá. Atributos: unidad, estados: reparando, anulado, reparada, destruida. --Stock: suma de las unidades que corresponden al mismo libro, y cuantos de esas unidades no están prestadas, extraviadas, destruidas o en mantenimiento. Atributos: código identificador, cantidad, disponibles. --Empleado: persona bajo sueldo que realiza tareas para el comprador de este software. Atributos: Nombre, puesto, permiso. Gracias por la revisión profe. From ferudine en sion.com Mon Nov 4 20:07:06 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 04 Nov 2013 20:07:06 -0300 Subject: [Php-avanzado] consulta javascript Message-ID: <20131104230655.023B848186@relay2.capfed1.sinectis.com.ar> Hola Leo ya solucione lo de la respuesta de ajax .. Leo tengo que ejecutar diferentes funciones en una entrada que viene con una variable en javascript para ejecutar una funcion según el contenido de la variable algo así : Var f=’valida’; window[f](); lo vi en varios ejemplos estuve asiendo de las pruebas pero me da error Saludos From leonardot en pegasusnet.com.ar Mon Nov 4 20:17:45 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 04 Nov 2013 20:17:45 -0300 Subject: [Php-avanzado] consulta javascript In-Reply-To: <20131104230655.023B848186@relay2.capfed1.sinectis.com.ar> References: <20131104230655.023B848186@relay2.capfed1.sinectis.com.ar> Message-ID: <1383607065.4573.63.camel@praxisviii.intranet.com> Hola Daniel, El lun, 04-11-2013 a las 20:07 -0300, Daniel Billia escribió: > Hola Leo ya solucione lo de la respuesta de ajax .. Me alegra. Cuál era el problema??? > Leo tengo que ejecutar diferentes funciones en > una entrada que viene con una variable > en javascript para ejecutar una funcion según el > contenido de la variable algo así : > > Var f=’valida’; > window[f](); > > lo vi en varios ejemplos estuve asiendo de las pruebas pero me da error Si no nos decís que error te da, es más complicado para nosotros ;-) Si organizás el código con un Switch, queda más fácil de leer y de mantener... En este apunte tenés como se hace para armar dinámicamente el nombre de una función. Fijate a partir de "Alternativas al uso de eval" http://www.etnassoft.com/2011/01/05/javascript-eval-uso-y-alternativas/ Es una mala idea usar eval() para esto... Saludos! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Mon Nov 4 20:43:40 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 04 Nov 2013 20:43:40 -0300 Subject: [Php-avanzado] Requerimientos funcionales: Bibliotech v6.2 In-Reply-To: <000001ced98a$7e5f1d80$7b1d5880$@yahoo.com.ar> References: <000001ced98a$7e5f1d80$7b1d5880$@yahoo.com.ar> Message-ID: <1383608620.4573.77.camel@praxisviii.intranet.com> Hola Pehuén, El lun, 04-11-2013 a las 15:20 -0300, Fernando Pehuén Borsani escribió: > Hola Profe! > > Le paso la nueva revisión de los requerimientos: > > ----------------- > Comentarios: > ----------------- > PB> -- Los estados ya no se muestran porque son manejados automáticamente > por el sistema. Simplemente según las acciones del empleado el sistema > asignará los estados. > LT> Ok. Entonces si estoy viendo un ejemplar en un listado por ejemplo, no > se puede saber en qué estado estará en ese momento? > El sistema no muestra listados de unidades con su estado. Por curiosidad, > ¿en qué casos podría resultar útil? Para poder ver de un vistazo ejemplares, independientemente de su estado... que en la SRS no muestra esto queda claro, lo que no queda claro es por qué especificás las cosas omitiendo entidades, con lo que limitás para toda la vida útil del software que se puedan emitir este tipo de información, además de tener una SRS incompleta, porque el software sí va a usar y tener estos Estados. > LT> Estás seguro de que todos los libros de esta biblioteca tienen ISBN ??? > Es posible que la biblioteca tengan libros sin isbn (una edición antigua, > 1960 digamos). Voy a expandir el concepto del código identificador en el > diccionario para cubrir este problema. Ok. > LT> La devolución hace referencia a un Préstamo en vez de a un Ejemplar y a > un Socio??? Qué complicado!!! > Bueno, yo lo cambio, aunque si para calcular la devolución a tiempo el > sistema va a revisar el préstamo para captar la fecha en que se efectuó, no > sería lo correcto referenciar al préstamo y no a la unidad? > Otra solución sería configurar de esta manera la unidad: en el atributo > "disponible para préstamo" ponemos la fecha en que se prestó. Si la fecha > existe, no está disponible, si la fecha está vacía, esta disponible. ¿Qué > opina? Opino que todas estas son consideraciones de implementación, y que por tanto no deben afectar a la forma en que se especifica el software. Qué es la devolución: un socio que vuelve con un ejemplar? o un préstamo que se materializa y viene a la biblioteca? > LT> No estoy seguro de entender esto: si un asociado repone una unidad que > perdió, no debería tener un número nuevo de unidad? > Me gusta más la idea de un reemplazo completo. Es como cuando en Stargate el > mayor Kowolski-de-un-universo-paralelo recibió misiones reemplazando al > mayor Kowolski-de-nuestro-universo, total era un equivalente suficientemente > exacto. =) Es una buena idea para la ciencia ficción, pero una pésima idea para un software, porque implica que perdés la historia de lo que le pasó a cada ejemplar. Un buen software debe reflejar la realidad... y en la realidad no existe ni el mayor Kowolski-de-nuestro-universo. Resistirse es fútil ;-) > ------------- > Cambios: > ------------- > -- Expandida la definición del número identificador para libros previos a > 1970. > -- RF 21.2 reescrito para contemplar pagos por adelantado. > -- RF 22 y 23: referencia redirigida a la unidad en vez de al préstamo. Además de las cuestiones que te planteo arriba, al RF22 y RF23 te falta que tengan la referencia al asociado y al ejemplar. 22) El sistema debe registrar devoluciones de un ejemplar por parte de un asociado. También se estila para el diccionario, repetir los atributos que están usados en otras entidades en lugar de poner "todos los de otra-que-ya-definí más este que te escribo acá". Copiar y pegar es muy barato :-) Seguimos!!! > ----------------------------------------------------------------------- > Software Requirements Specification[SRS] Bibliotech v6.2 > ----------------------------------------------------------------------- > Requerimientos Funcionales[RF]: > > 01) El sistema debe gestionar editoriales. > 02) El sistema debe gestionar autores. > 03) El sistema debe gestionar géneros. > 04) El sistema debe gestionar libros con su editorial[01], su(s) > autor(es)[02] y su género[03]. > 05) El sistema debe gestionar unidades de libros[04]. > 06) El sistema debe mostrar los sexos. > 07) El sistema debe mostrar rangos de edad. > 08) El sistema debe gestionar visitantes con su sexo[06] y rango de > edad[07]. > 09) El sistema debe registrar los votos de los visitantes[08] a los > libros[04]. > 10) El sistema debe gestionar comentarios de los visitantes[08] a los > libros[04]. > 11) El sistema debe registrar los votos de los visitantes[08] a los > comentarios[10]. > 12) El sistema debe registrar la popularidad del libro[04]. > 13) El sistema debe reportar la popularidad[12] de los libros[04] > mensualmente. > 14) El sistema debe buscar libros[04]. > 14.1) Por ISBN > 14.2) Por Editorial[01]. > 14.3) Por Autor[02]. > 14.4) Por título. > 14.5) Por género[03]. > 15) El sistema debe mostrar tipos de documentos. > 16) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y > tipo de documento[15]. > 17) El sistema debe calcular la confiabilidad de los asociados[16]. > 18) El sistema debe mostrar los meses del año. > 19) El sistema debe inscribir cuotas de asociados[16]. > 20) El sistema debe informar al asociado del vencimiento de la cuota[19]. > 21) El sistema debe registrar el préstamo de unidades[05] a asociados[16]. > 21.1) El sistema debe detener un nuevo préstamo si excede la > confiabilidad[17]. > 21.2) El sistema debe detener un nuevo préstamo si la cuota[19] es > anterior al mes en curso. > 21.3) El sistema debe detener un nuevo préstamo si no hay unidades[05] > disponibles. > 22) El sistema debe registrar devoluciones. > 23) El sistema debe registrar extravíos. > 23.1) El sistema debe registrar readquisiciones. > 24) El sistema debe registrar el mantenimiento de unidades[05]. > 25) El sistema debe gestionar el stock de unidades[05]. > 25.1) El sistema debe comprobar si ya existe un libro[04] cuando se den > de alta unidades[05]. > 25.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al > efectuarse el alta de unidad[05]. > 25.3) El sistema debe restar uno a stock:disponibles al efectuarse un > préstamo[21]. > 25.4) El sistema debe sumar uno a stock:disponibles por > devoluciones[22]. > 25.5) El sistema debe restar uno a stock:cantidad por extravíos[23]. > 25.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por > readquisiciones[23.1]. > 25.7) El sistema debe restar uno a stock:disponible al enviarse la > unidad[05] a mantenimiento[24]. > 25.8) El sistema debe restar uno a stock:cantidad por destrucción de la > unidad[05] en mantenimiento[24]. > 25.9) El sistema debe sumar uno al stock:disponible al volver la > unidad[05] de mantenimiento[24]. > 26) El sistema debe informar al asociado[16] del vencimiento del > préstamo[21] un día antes del vencimiento. > 27) El sistema debe mostrar los préstamos[21] vencidos hace más de una > semana. > > > Requerimientos No Funcionales[RNF]: > > - Gestionar a los empleados. > > ------------- > Diccionario: > ------------- > --Editorial: Casa editora. > Atributos: nombre. > --Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro. Un libro > puede tener varios autores. > Atributos: nombre. > --Género: categorías en que clasificar de forma excluyente las obras > literarias atendiendo a su contenido. Algunos de ellos son: poesía, ciencia > ficción, cuento. > Atributos: nombre. > --Libro: Obra de extensión suficiente para formar un volumen, en soporte > físico. > Atributos: código identificador (isbn o equivalente previo a 1970), > editorial, autor, título, género, portada, resumen de la contracara. > --Unidad: copia de un libro que comparte todas los atributos con el > original, menos el código bibliotecario, propio de la unidad. > Atributos: código bibliotecario, referencia al libro(código > identificador), disponibilidad para préstamo. > --Sexo: femenino o masculino. > Atributo: nombre. > --Rango de edad: hasta 15 años, de 15 a 18 años, de 18 a 22 años, de 23 a 30 > años, de 30 a 40 años, de 40 a 60 años, mayor de 60 años. > Atributo: rango. > --Visitante: persona externa a la empresa que ingresa al contenido web > generado por este software. > Atributos: Nombre, email, rango de edad, sexo. > --Votos: valoración positiva, valoración negativa. > Atributo: valor. > --Comentarios: opinión que el visitante deja escrita sobre un libro > específico. > Atributos: autor, contenido, libro. > --Popularidad: cantidad de personas que leen la información detallada de un > libro(portada y resumen de contracara). > Atributos: libro, cantidad. > --Reportar: crear un archivo con una lista decreciente de los libros y la > cantidad de visitas que recibieron. > Atributos: ranking, fecha. > --Búsqueda: Comprobación de existencia de un libro(por código identificador > o título), autor, editorial, y listado de los resultados. > Atributos: término de búsqueda, coincidencias. > --Comprobar si ya existe un libro: verificar si el código identificador de > un libro ya existe en el sistema. > Atributos: código identificador ingresado, resultado. > --Tipos de documentos: documento nacional de identidad(DNI), libreta de > enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI). > Atributo: tipo. > --Confiabilidad: cantidad de préstamos activos simultáneos que puede tener > un asociado, cantidad de días hasta el vencimiento del préstamo. > Cálculo de puntos: devuelto antes del vencimiento, +1 punto. Devuelto tras > el vencimiento, -10 puntos por día vencido y cambio temporal a rango > suspendido. Extraviado: inhibe de por vida al asociado a no ser que reponga > el ejemplar extraviado, en cuyo caso lo restablece como rango 1 con 0 > puntos. > Rangos: (1) hasta 100 puntos: 2 unidades, 2 semanas. (2) desde 101 hasta > 300: 2 unidades, 3 semanas. (3) desde 301: 3 unidades, 3 semanas. > (Suspendido) 0 libros, los días suspendido se calculan así: Penalización = 5 > * cantidad de días de atraso * cantidad de veces que el asociado devolvió > tarde un préstamo. Tras este período el asociado recupera su rango de > confiabilidad del 1 al 3 según sus puntos almacenados. > Atributos: asociado, puntaje, rango. > --Asociado: persona que paga un abono mensual y a cambio puede recibir > unidades en préstamo. > Atributos: Nombre, tipo de documento, número de documento, fecha de > registro, email, teléfono, celular, dirección, rango de edad, sexo, > confiabilidad. > --Cuota: suma de dinero que se abona mensualmente para poder recibir los > servicios de la institución. > Atributos: asociado, último mes(con su año correspondiente) pago. > --Informar: enviar un correo electrónico con información de interés. > Atributos: Asociado, tipo de informe, fecha. > --Préstamo: entrega de unidades de la biblioteca al asociado, para que los > lea en su hogar. > Atributos: Asociado, libro(código identificador), fecha de préstamo, fecha > de vencimiento, fecha de devolución, estado: activo o anulado. > --Devolución: cese del préstamo porque el asociado entregó de vuelta la > unidad a la biblioteca. > Atributos: Asociado, unidad, fecha en que se devolvió, estado: devuelto en > fecha o devuelto vencido. > --Extravío: pérdida de la unidad porque el asociado no la devolvió a la > biblioteca. > Atributos: Asociado, unidad, estado: extraviado. > --Readquisición: cuando el usuario que efectuó un extravío reemplaza la > unidad perdida por otra comprada por él. > Atributos: Asociado, extravío, estado: readquirido. > --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas. > En caso que sea imposible, la destruirá. > Atributos: unidad, estados: reparando, anulado, reparada, destruida. > --Stock: suma de las unidades que corresponden al mismo libro, y cuantos de > esas unidades no están prestadas, extraviadas, destruidas o en > mantenimiento. > Atributos: código identificador, cantidad, disponibles. > --Empleado: persona bajo sueldo que realiza tareas para el comprador de este > software. > Atributos: Nombre, puesto, permiso. > > > Gracias por la revisión profe. > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Tue Nov 5 11:08:19 2013 From: ferudine en sion.com (Daniel Billia) Date: Tue, 05 Nov 2013 11:08:19 -0300 Subject: [Php-avanzado] RE consulta Message-ID: <20131105140806.9DF81482E6@arise.capfed1.sinectis.com.ar> Buenos días Leo el error que me daba con ajax en Windows tenes una carpeta que se llama host y redireccionas un nik a un ip yo cargaba por ej xampp = 192.168.1.157 que es la dirección del servidor hasta hay funcionaba con las llamadas pero se ve que en firefox cuando realizaba la llamada xampp/testvu.php realizaba la llamda bien pero cuando respondía la llamada de ajax perdía el puntero de los datos si ejecuto normalmente http://192.168.1.157/testvu.php Así funciona bien.!! Ya me fijo en lo que me mandaste Saludos…! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fpborsani en yahoo.com.ar Tue Nov 5 13:27:16 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Tue, 5 Nov 2013 13:27:16 -0300 Subject: [Php-avanzado] Requerimientos funcionales: Bibliotech v6.3 Message-ID: <000001ceda43$e6a26730$b3e73590$@yahoo.com.ar> Hola Profe, le paso la nueva revisión: -------------------------- Registro de Cambios -------------------------- -- agregada la RF20: estados. -- reescrita la RF24: adquisición. ----------------------------------------------------------------------- Software Requirements Specification[SRS] Bibliotech v6.3 ----------------------------------------------------------------------- Requerimientos Funcionales[RF]: 01) El sistema debe gestionar editoriales. 02) El sistema debe gestionar autores. 03) El sistema debe gestionar géneros. 04) El sistema debe gestionar libros con su editorial[01], su(s) autor(es)[02] y su género[03]. 05) El sistema debe gestionar unidades de libros[04]. 06) El sistema debe mostrar los sexos. 07) El sistema debe mostrar rangos de edad. 08) El sistema debe gestionar visitantes con su sexo[06] y rango de edad[07]. 09) El sistema debe registrar los votos de los visitantes[08] a los libros[04]. 10) El sistema debe gestionar comentarios de los visitantes[08] a los libros[04]. 11) El sistema debe registrar la popularidad del libro[04]. 12) El sistema debe reportar la popularidad[12] de los libros[04] mensualmente. 13) El sistema debe buscar libros[04]. 13.1) Por ISBN 13.2) Por Editorial[01]. 13.3) Por Autor[02]. 13.4) Por título. 13.5) Por género[03]. 14) El sistema debe mostrar tipos de documentos. 15) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y tipo de documento[15]. 16) El sistema debe calcular la confiabilidad de los asociados[15]. 17) El sistema debe mostrar los meses del año. 18) El sistema debe inscribir cuotas de asociados[15]. 19) El sistema debe informar al asociado del vencimiento de la cuota[18]. 20) El sistema debe mostrar los estados. 21) El sistema debe registrar el préstamo de unidades[05] a asociados[15] con su estado[20]. 21.1) El sistema debe detener un nuevo préstamo si excede la confiabilidad[16]. 21.2) El sistema debe detener un nuevo préstamo si la cuota[18] es anterior al mes en curso. 21.3) El sistema debe detener un nuevo préstamo si no hay unidades[05] disponibles. 22) El sistema debe registrar devoluciones de unidades[05] por parte de los asociados[15] con su estado[20]. 23) El sistema debe registrar extravíos de unidades[05] por parte de los asociados[15] con su estado[20]. 24) El sistema debe registrar adquisiciones de unidades[05] por parte de los asociados[15] con su estado[20]. 25) El sistema debe registrar el mantenimiento de unidades[05] con su estado[20]. 26) El sistema debe gestionar el stock de unidades[05]. 26.1) El sistema debe comprobar si ya existe un libro[04] cuando se den de alta unidades[05]. 26.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al efectuarse el alta de unidad[05]. 26.3) El sistema debe restar uno a stock:disponibles al efectuarse un préstamo[21]. 26.4) El sistema debe sumar uno a stock:disponibles por devoluciones[22]. 26.5) El sistema debe restar uno a stock:cantidad por extravíos[23]. 26.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por adquisiciones[24]. 26.7) El sistema debe restar uno a stock:disponible al enviarse la unidad[05] a mantenimiento[25]. 26.8) El sistema debe restar uno a stock:cantidad por destrucción de la unidad[05] en mantenimiento[25]. 26.9) El sistema debe sumar uno al stock:disponible al volver la unidad[05] de mantenimiento[24]. 26) El sistema debe informar al asociado[15] del vencimiento del préstamo[21] un día antes del vencimiento. 27) El sistema debe mostrar los préstamos[21] vencidos hace más de una semana. Requerimientos No Funcionales[RNF]: - Gestionar a los empleados. --------------- Diccionario: --------------- --Editorial: Casa editora. Atributos: nombre. --Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro. Un libro puede tener varios autores. Atributos: nombre. --Género: categorías en que clasificar de forma excluyente las obras literarias atendiendo a su contenido. Algunos de ellos son: poesía, ciencia ficción, cuento. Atributos: nombre. --Libro: Obra de extensión suficiente para formar un volumen, en soporte físico. Atributos: código identificador (isbn o equivalente previo a 1970), editorial, autor, título, género, portada, resumen de la contracara. --Unidad: copia de un libro que comparte todas los atributos con el original, menos el código bibliotecario, propio de la unidad. Atributos: código bibliotecario, referencia al libro(código identificador), disponibilidad para préstamo. --Sexo: femenino o masculino. Atributo: nombre. --Rango de edad: hasta 15 años, de 15 a 18 años, de 18 a 22 años, de 23 a 30 años, de 30 a 40 años, de 40 a 60 años, mayor de 60 años. Atributo: rango. --Visitante: persona externa a la empresa que ingresa al contenido web generado por este software. Atributos: Nombre, email, rango de edad, sexo. --Votos: valoración positiva, valoración negativa. Atributo: valor. --Comentarios: opinión que el visitante deja escrita sobre un libro específico. Atributos: autor, contenido, libro. --Popularidad: cantidad de personas que leen la información detallada de un libro(portada y resumen de contracara). Atributos: libro, cantidad. --Reportar: crear un archivo con una lista decreciente de los libros y la cantidad de visitas que recibieron. Atributos: ranking, fecha. --Búsqueda: Comprobación de existencia de un libro(por código identificador o título), autor, editorial, y listado de los resultados. Atributos: término de búsqueda, coincidencias. --Comprobar si ya existe un libro: verificar si el código identificador de un libro ya existe en el sistema. Atributos: código identificador ingresado, resultado. --Tipos de documentos: documento nacional de identidad(DNI), libreta de enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI). Atributo: tipo. --Confiabilidad: cantidad de préstamos activos simultáneos que puede tener un asociado, cantidad de días hasta el vencimiento del préstamo. Cálculo de puntos: devuelto antes del vencimiento, +1 punto. Devuelto tras el vencimiento, -10 puntos por día vencido y cambio temporal a rango suspendido. Extraviado: inhibe de por vida al asociado a no ser que efectúe una adquisición, en cuyo caso lo restablece como rango 1 con 0 puntos. Rangos: (1) hasta 100 puntos: 2 unidades, 2 semanas. (2) desde 101 hasta 300: 2 unidades, 3 semanas. (3) desde 301: 3 unidades, 3 semanas. (Suspendido) 0 libros, los días suspendido se calculan así: Penalización = 5 * cantidad de días de atraso * cantidad de veces que el asociado devolvió tarde un préstamo. Tras este período el asociado recupera su rango de confiabilidad del 1 al 3 según sus puntos almacenados. Atributos: asociado, puntaje, rango. --Asociado: persona que paga un abono mensual y a cambio puede recibir unidades en préstamo. Atributos: Nombre, tipo de documento, número de documento, fecha de registro, email, teléfono, celular, dirección, rango de edad, sexo, confiabilidad. --Cuota: suma de dinero que se abona mensualmente para poder recibir los servicios de la institución. Atributos: asociado, último mes(con su año correspondiente) pago. --Informar: enviar un correo electrónico con información de interés. Atributos: Asociado, tipo de informe, fecha. --Estados: reflejan el movimiento de unidades: activo, anulado, devuelto en fecha, devuelto vencido, extraviado, adquirido, reparando, reparada, destruida. Atributo: nombre. --Préstamo: entrega de unidades de la biblioteca al asociado, para que los lea en su hogar. Atributos: Asociado, libro(código identificador), fecha de préstamo, fecha de vencimiento, fecha de devolución, estado: activo o anulado. --Devolución: cese del préstamo porque el asociado entregó de vuelta la unidad a la biblioteca. Atributos: Asociado, unidad, fecha en que se devolvió, estado: devuelto en fecha o devuelto vencido. --Extravío: pérdida de la unidad porque el asociado no la devolvió a la biblioteca. Atributos: Asociado, unidad, estado: extraviado. --Adquisición: cuando el usuario que efectuó un extravío entrega a la biblioteca una unidad comprada por él. Atributos: Asociado, unidad, estado: adquirido. --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas. En caso que sea imposible, la destruirá. Atributos: unidad, estados: reparando, anulado, reparada, destruida. --Stock: suma de las unidades que corresponden al mismo libro, y cuantos de esas unidades no están prestadas, extraviadas, destruidas o en mantenimiento. Atributos: código identificador, cantidad, disponibles. --Empleado: persona bajo sueldo que realiza tareas para el comprador de este software. Atributos: Nombre, puesto, permiso. From leonardot en pegasusnet.com.ar Tue Nov 5 16:10:51 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 05 Nov 2013 16:10:51 -0300 Subject: [Php-avanzado] RE consulta In-Reply-To: <20131105140806.9DF81482E6@arise.capfed1.sinectis.com.ar> References: <20131105140806.9DF81482E6@arise.capfed1.sinectis.com.ar> Message-ID: <1383678651.4573.95.camel@praxisviii.intranet.com> Hola Daniel, No existe en un entorno web esto de "puntero a los datos" ni nada de eso: cuando un script termina, toda memoria se libera. Lo que tal vez te pasó es que tu navegador no haya querido hacer llamadas XMLHTTPRequest a un nombre de dominio distinto al de la página. Algunos navegadores impiden esto por motivos de seguridad. Saludos! El mar, 05-11-2013 a las 11:08 -0300, Daniel Billia escribió: > Buenos días Leo el error que me daba con ajax en Windows tenes una > carpeta que > se llama host y redireccionas un nik a un ip yo cargaba > por ej xampp = 192.168.1.157 que es la dirección del servidor > hasta hay funcionaba con las llamadas pero se ve que en firefox > cuando > realizaba la llamada xampp/testvu.php realizaba la llamda bien pero > cuando respondía la llamada de ajax perdía el puntero de los datos si > ejecuto normalmente http://192.168.1.157/ testvu.php Así funciona > bien.!! > > > Ya me fijo en lo que me mandaste Saludos ! > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From lizondomaximiliano en gmail.com Tue Nov 5 17:30:01 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 5 Nov 2013 18:30:01 -0200 Subject: [Php-avanzado] consulta subir archivos Message-ID: Hola, tengo una duda con respecto a un ejercicio sobre subir archivos y listarlos. El enunciado era el siguiente: "Realice un script que permita subir archivos a un directorio y luego los muestre listados en una página con un link para su descarga." Pego el código para facilitar la explicación de mi duda: *
El archivo '.''.$archivo.''.' fue cargado satisfactoriamente.');* * move_uploaded_file($_FILES['userfile']['tmp_name'],$path);* * }* * else* * {* * $msg="Posible ataque durante la subida de archivos. Nombre de archivo: {$archivo}";* * //print('Posible ataque durante la subida de archivos. Nombre de archivo: '.$archivo); * * }* * }* * if(isset($_POST['Borrar']))* * {* * unlink($directorio.$_POST['a']);* * $msg = "Archivo borrado: {$_POST['a']}";* * }* * $contenido=scandir($directorio);* * array_shift($contenido);* * array_shift($contenido);* *?>* ** ** * * * GUIA 3 - Ejercicio 1* * * * * *

Ejercicio sobre UPLOAD

* *
* *
* * * * Enviar este archivo:* * * *
* *
* *
* *
* *
    * * * *
  • * * Archivo: * *
    * * * * * *
    * *
  • * * * *
* * * ** La duda es la siguiente: por cada archivo subido se genera un link y un formulario con un botón *"Borrar" *para borrar dicho archivo y un "input" de tipo "hidden" (*name="a"*) que contiene el nombre de dicho archivo. Pero noté que todos los formularios e inputs que se generan, tienen los mismos nombres para cada archivo subido. El tema es que cuando se hace click en algún botón* "Borrar"*, se borra el archivo correspondiente a dicho botón. ¿Cómo hace el intérprete PHP para saber a qué input *"a"* me estoy refiriendo, cuando le paso el parámetro la variable *$_POST['a']*? se entiende la duda? -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Tue Nov 5 17:35:28 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 5 Nov 2013 18:35:28 -0200 Subject: [Php-avanzado] consulta subir archivos In-Reply-To: References: Message-ID: Hay líneas comentadas con "//", aclaro por que me olvidé de sacarlas y no hay que tenerlas en cuenta. El 5 de noviembre de 2013 17:30, Maximiliano Lizondo < lizondomaximiliano en gmail.com> escribió: > Hola, tengo una duda con respecto a un ejercicio sobre subir archivos y > listarlos. El enunciado era el siguiente: > > "Realice un script que permita subir archivos a un directorio y luego los > muestre listados en una página con un link para su descarga." > > Pego el código para facilitar la explicación de mi duda: > > * * $directorio="subidas/";* > * if (ISSET($_POST['btn_enviar']))* > * {* > * $archivo=$_FILES['userfile']['name'];* > * if (is_uploaded_file($_FILES['userfile']['tmp_name']))* > * {* > * $path=$directorio.$archivo;* > * //$path=$directorio.$_FILES['userfile']['name'];* > * //$archivo=$_FILES['userfile']['name'];* > * $msg="El archivo {$archivo} fue cargado satisfactoriamente";* > * //print('

El archivo '.''.$archivo.''.' fue cargado > satisfactoriamente.');* > * move_uploaded_file($_FILES['userfile']['tmp_name'],$path);* > * }* > * else* > * {* > * $msg="Posible ataque durante la subida de archivos. Nombre de archivo: > {$archivo}";* > * //print('Posible ataque durante la subida de archivos. Nombre de > archivo: '.$archivo); * > * }* > * }* > * if(isset($_POST['Borrar']))* > * {* > * unlink($directorio.$_POST['a']);* > * $msg = "Archivo borrado: {$_POST['a']}";* > * }* > * $contenido=scandir($directorio);* > * array_shift($contenido);* > * array_shift($contenido);* > *?>* > > ** > > ** > * * > * GUIA 3 - Ejercicio 1* > * * > * * > *

Ejercicio sobre UPLOAD

* > *
method="post">* > *
* > * * > * Enviar este archivo:* > * * > *
* > *
* > *
* > *
* > *
    * > * * foreach ($contenido as $nombre_archivo)* > * {* > * ?> * > *
  • * > * Archivo: href="">* > *
    * > * * > * * > *
    * > *
  • * > * * }* > * ?> * > *
* > * * > ** > > La duda es la siguiente: por cada archivo subido se genera un link y un > formulario con un botón *"Borrar" *para borrar dicho archivo y un "input" > de tipo "hidden" (*name="a"*) que contiene el nombre de dicho archivo. > Pero noté que todos los formularios e inputs que se generan, tienen los > mismos nombres para cada archivo subido. El tema es que cuando se hace > click en algún botón* "Borrar"*, se borra el archivo correspondiente a > dicho botón. ¿Cómo hace el intérprete PHP para saber a qué input *"a"* me > estoy refiriendo, cuando le paso el parámetro la variable *$_POST['a']*? > se entiende la duda? > > -- > *Ing. Maximiliano Andrés Lizondo* > > - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) > - *Perfil profesional en LinkedIn: * > http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 > > -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Tue Nov 5 17:36:55 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 5 Nov 2013 18:36:55 -0200 Subject: [Php-avanzado] consulta subir archivos In-Reply-To: References: Message-ID: Hay líneas comentadas con "//", aclaro PORQUE me olvidé de sacarlas y no hay que tenerlas en cuenta. El 5 de noviembre de 2013 17:35, Maximiliano Lizondo < lizondomaximiliano en gmail.com> escribió: > Hay líneas comentadas con "//", aclaro por que me olvidé de sacarlas y no > hay que tenerlas en cuenta. > > > El 5 de noviembre de 2013 17:30, Maximiliano Lizondo < > lizondomaximiliano en gmail.com> escribió: > > Hola, tengo una duda con respecto a un ejercicio sobre subir archivos y >> listarlos. El enunciado era el siguiente: >> >> "Realice un script que permita subir archivos a un directorio y luego los >> muestre listados en una página con un link para su descarga." >> >> Pego el código para facilitar la explicación de mi duda: >> >> *> * $directorio="subidas/";* >> * if (ISSET($_POST['btn_enviar']))* >> * {* >> * $archivo=$_FILES['userfile']['name'];* >> * if (is_uploaded_file($_FILES['userfile']['tmp_name']))* >> * {* >> * $path=$directorio.$archivo;* >> * //$path=$directorio.$_FILES['userfile']['name'];* >> * //$archivo=$_FILES['userfile']['name'];* >> * $msg="El archivo {$archivo} fue cargado satisfactoriamente";* >> * //print('

El archivo '.''.$archivo.''.' fue cargado >> satisfactoriamente.');* >> * move_uploaded_file($_FILES['userfile']['tmp_name'],$path);* >> * }* >> * else* >> * {* >> * $msg="Posible ataque durante la subida de archivos. Nombre de archivo: >> {$archivo}";* >> * //print('Posible ataque durante la subida de archivos. Nombre de >> archivo: '.$archivo); * >> * }* >> * }* >> * if(isset($_POST['Borrar']))* >> * {* >> * unlink($directorio.$_POST['a']);* >> * $msg = "Archivo borrado: {$_POST['a']}";* >> * }* >> * $contenido=scandir($directorio);* >> * array_shift($contenido);* >> * array_shift($contenido);* >> *?>* >> >> ** >> >> ** >> * * >> * GUIA 3 - Ejercicio 1* >> * * >> * * >> *

Ejercicio sobre UPLOAD

* >> *
> method="post">* >> *
* >> * * >> * Enviar este archivo:* >> * * >> *
* >> *
* >> *
* >> *
* >> *
    * >> * > * foreach ($contenido as $nombre_archivo)* >> * {* >> * ?> * >> *
  • * >> * Archivo: > href="">* >> *
    * >> * * >> * * >> *
    * >> *
  • * >> * > * }* >> * ?> * >> *
* >> * * >> ** >> >> La duda es la siguiente: por cada archivo subido se genera un link y un >> formulario con un botón *"Borrar" *para borrar dicho archivo y un >> "input" de tipo "hidden" (*name="a"*) que contiene el nombre de dicho >> archivo. Pero noté que todos los formularios e inputs que se generan, >> tienen los mismos nombres para cada archivo subido. El tema es que cuando >> se hace click en algún botón* "Borrar"*, se borra el archivo >> correspondiente a dicho botón. ¿Cómo hace el intérprete PHP para saber a >> qué input *"a"* me estoy refiriendo, cuando le paso el parámetro la >> variable *$_POST['a']*? se entiende la duda? >> >> -- >> *Ing. Maximiliano Andrés Lizondo* >> >> - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) >> - *Perfil profesional en LinkedIn: * >> http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 >> >> > > > -- > *Ing. Maximiliano Andrés Lizondo* > > - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) > - *Perfil profesional en LinkedIn: * > http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 > > -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Tue Nov 5 18:11:06 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 05 Nov 2013 18:11:06 -0300 Subject: [Php-avanzado] consulta subir archivos In-Reply-To: References: Message-ID: <1383685866.4573.106.camel@praxisviii.intranet.com> Hola Maximiliano, como estás armando un formulario por cada archivo, PHP no tiene "que saber" sobre cuál es la $_POST['a'] correcta, porque solo se envía un formulario por cada submit. Habrá tantos formularios como archivos. Par que la página sea HTML válido, los formularios tienen que tener un ID distinto cada uno... podrías generar como nombre B + variable, y la variable irla cambiando en cada ciclo. El mar, 05-11-2013 a las 18:30 -0200, Maximiliano Lizondo escribió: > Hola, tengo una duda con respecto a un ejercicio sobre subir archivos > y listarlos. El enunciado era el siguiente: > > > "Realice un script que permita subir archivos a un directorio y luego > los muestre listados en una página con un link para su descarga." > > > Pego el código para facilitar la explicación de mi duda: > > > $directorio="subidas/"; > if (ISSET($_POST['btn_enviar'])) > { > $archivo=$_FILES['userfile']['name']; > if (is_uploaded_file($_FILES['userfile']['tmp_name'])) > { > $path=$directorio.$archivo; > //$path=$directorio.$_FILES['userfile']['name']; > //$archivo=$_FILES['userfile']['name']; > $msg="El archivo {$archivo} fue cargado satisfactoriamente"; > //print('

El archivo '.''.$archivo.''.' fue cargado > satisfactoriamente.'); > move_uploaded_file($_FILES['userfile']['tmp_name'],$path); > } > else > { > $msg="Posible ataque durante la subida de archivos. Nombre de archivo: > {$archivo}"; > //print('Posible ataque durante la subida de archivos. Nombre de > archivo: '.$archivo); > } > } > if(isset($_POST['Borrar'])) > { > unlink($directorio.$_POST['a']); > $msg = "Archivo borrado: {$_POST['a']}"; > } > $contenido=scandir($directorio); > array_shift($contenido); > array_shift($contenido); > ?> > > > > > > > > GUIA 3 - Ejercicio 1 > > > >

Ejercicio sobre UPLOAD

> >
method="post"> > >
> > Enviar este archivo: > >
>
> >
>
>
    > foreach ($contenido as $nombre_archivo) > { > ?> >
  • > Archivo: $nombre_archivo?> >
    > > >
    >
  • > } > ?> >
> > > > > > La duda es la siguiente: por cada archivo subido se genera un link y > un formulario con un botón "Borrar" para borrar dicho archivo y un > "input" de tipo "hidden" (name="a") que contiene el nombre de dicho > archivo. Pero noté que todos los formularios e inputs que se generan, > tienen los mismos nombres para cada archivo subido. El tema es que > cuando se hace click en algún botón "Borrar", se borra el archivo > correspondiente a dicho botón. ¿Cómo hace el intérprete PHP para saber > a qué input "a" me estoy refiriendo, cuando le paso el parámetro la > variable $_POST['a']? se entiende la duda? > > > -- > Ing. Maximiliano Andrés Lizondo > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) > * Perfil profesional en > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3% > A9s-lizondo/61/906/344 > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From lizondomaximiliano en gmail.com Tue Nov 5 18:19:54 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 5 Nov 2013 19:19:54 -0200 Subject: [Php-avanzado] consulta subir archivos In-Reply-To: <1383685866.4573.106.camel@praxisviii.intranet.com> References: <1383685866.4573.106.camel@praxisviii.intranet.com> Message-ID: Ok, gracias Leo. Supuse que era algo así pero no estaba seguro. El 5 de noviembre de 2013 18:11, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Hola Maximiliano, > > como estás armando un formulario por cada archivo, PHP no tiene > "que > saber" sobre cuál es la $_POST['a'] correcta, porque solo se envía un > formulario por cada submit. > > Habrá tantos formularios como archivos. > > Par que la página sea HTML válido, los formularios tienen que > tener un > ID distinto cada uno... podrías generar como nombre B + variable, y la > variable irla cambiando en cada ciclo. > > El mar, 05-11-2013 a las 18:30 -0200, Maximiliano Lizondo escribió: > > Hola, tengo una duda con respecto a un ejercicio sobre subir archivos > > y listarlos. El enunciado era el siguiente: > > > > > > "Realice un script que permita subir archivos a un directorio y luego > > los muestre listados en una página con un link para su descarga." > > > > > > Pego el código para facilitar la explicación de mi duda: > > > > > > > $directorio="subidas/"; > > if (ISSET($_POST['btn_enviar'])) > > { > > $archivo=$_FILES['userfile']['name']; > > if (is_uploaded_file($_FILES['userfile']['tmp_name'])) > > { > > $path=$directorio.$archivo; > > //$path=$directorio.$_FILES['userfile']['name']; > > //$archivo=$_FILES['userfile']['name']; > > $msg="El archivo {$archivo} fue cargado satisfactoriamente"; > > //print('

El archivo '.''.$archivo.''.' fue cargado > > satisfactoriamente.'); > > move_uploaded_file($_FILES['userfile']['tmp_name'],$path); > > } > > else > > { > > $msg="Posible ataque durante la subida de archivos. Nombre de archivo: > > {$archivo}"; > > //print('Posible ataque durante la subida de archivos. Nombre de > > archivo: '.$archivo); > > } > > } > > if(isset($_POST['Borrar'])) > > { > > unlink($directorio.$_POST['a']); > > $msg = "Archivo borrado: {$_POST['a']}"; > > } > > $contenido=scandir($directorio); > > array_shift($contenido); > > array_shift($contenido); > > ?> > > > > > > > > > > > > > > > > GUIA 3 - Ejercicio 1 > > > > > > > >

Ejercicio sobre UPLOAD

> > > >
> method="post"> > > > >
> > > > Enviar este archivo: > > > >
> >
> > > >
> >
> >
    > > > foreach ($contenido as $nombre_archivo) > > { > > ?> > >
  • > > Archivo: > $nombre_archivo?> > >
    > > > > > >
    > >
  • > > > } > > ?> > >
> > > > > > > > > > > > La duda es la siguiente: por cada archivo subido se genera un link y > > un formulario con un botón "Borrar" para borrar dicho archivo y un > > "input" de tipo "hidden" (name="a") que contiene el nombre de dicho > > archivo. Pero noté que todos los formularios e inputs que se generan, > > tienen los mismos nombres para cada archivo subido. El tema es que > > cuando se hace click en algún botón "Borrar", se borra el archivo > > correspondiente a dicho botón. ¿Cómo hace el intérprete PHP para saber > > a qué input "a" me estoy refiriendo, cuando le paso el parámetro la > > variable $_POST['a']? se entiende la duda? > > > > > > -- > > Ing. Maximiliano Andrés Lizondo > > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) > > * Perfil profesional en > > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3% > > A9s-lizondo/61/906/344 > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Tue Nov 5 18:27:59 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 05 Nov 2013 18:27:59 -0300 Subject: [Php-avanzado] Requerimientos funcionales: Bibliotech v6.3 In-Reply-To: <000001ceda43$e6a26730$b3e73590$@yahoo.com.ar> References: <000001ceda43$e6a26730$b3e73590$@yahoo.com.ar> Message-ID: <1383686879.4573.113.camel@praxisviii.intranet.com> Hola Pehúen, yo creo que podemos dar por terminada la SRS. Tiene algunos detalles incorrectos, como que en el diccionario de Libro aparece un solo Autor en vez de varios como dice el RF, que el RF de la cuota no hace referencia a los meses y cosas así, pero lo que es el proceso de préstamos/devolución se ve razonablemente bien definido. La guardo para futura referencia. Saludos cordiales! El mar, 05-11-2013 a las 13:27 -0300, Fernando Pehuén Borsani escribió: > Hola Profe, le paso la nueva revisión: > > -------------------------- > Registro de Cambios > -------------------------- > -- agregada la RF20: estados. > -- reescrita la RF24: adquisición. > > ----------------------------------------------------------------------- > Software Requirements Specification[SRS] Bibliotech v6.3 > ----------------------------------------------------------------------- > > Requerimientos Funcionales[RF]: > > 01) El sistema debe gestionar editoriales. > 02) El sistema debe gestionar autores. > 03) El sistema debe gestionar géneros. > 04) El sistema debe gestionar libros con su editorial[01], su(s) > autor(es)[02] y su género[03]. > 05) El sistema debe gestionar unidades de libros[04]. > 06) El sistema debe mostrar los sexos. > 07) El sistema debe mostrar rangos de edad. > 08) El sistema debe gestionar visitantes con su sexo[06] y rango de > edad[07]. > 09) El sistema debe registrar los votos de los visitantes[08] a los > libros[04]. > 10) El sistema debe gestionar comentarios de los visitantes[08] a los > libros[04]. > 11) El sistema debe registrar la popularidad del libro[04]. > 12) El sistema debe reportar la popularidad[12] de los libros[04] > mensualmente. > 13) El sistema debe buscar libros[04]. > 13.1) Por ISBN > 13.2) Por Editorial[01]. > 13.3) Por Autor[02]. > 13.4) Por título. > 13.5) Por género[03]. > 14) El sistema debe mostrar tipos de documentos. > 15) El sistema debe gestionar asociados con su sexo[06], rango de edad[07] y > tipo de documento[15]. > 16) El sistema debe calcular la confiabilidad de los asociados[15]. > 17) El sistema debe mostrar los meses del año. > 18) El sistema debe inscribir cuotas de asociados[15]. > 19) El sistema debe informar al asociado del vencimiento de la cuota[18]. > 20) El sistema debe mostrar los estados. > 21) El sistema debe registrar el préstamo de unidades[05] a asociados[15] > con su estado[20]. > 21.1) El sistema debe detener un nuevo préstamo si excede la > confiabilidad[16]. > 21.2) El sistema debe detener un nuevo préstamo si la cuota[18] es > anterior al mes en curso. > 21.3) El sistema debe detener un nuevo préstamo si no hay unidades[05] > disponibles. > 22) El sistema debe registrar devoluciones de unidades[05] por parte de los > asociados[15] con su estado[20]. > 23) El sistema debe registrar extravíos de unidades[05] por parte de los > asociados[15] con su estado[20]. > 24) El sistema debe registrar adquisiciones de unidades[05] por parte de los > asociados[15] con su estado[20]. > 25) El sistema debe registrar el mantenimiento de unidades[05] con su > estado[20]. > 26) El sistema debe gestionar el stock de unidades[05]. > 26.1) El sistema debe comprobar si ya existe un libro[04] cuando se den > de alta unidades[05]. > 26.2) El sistema debe sumar uno a stock:cantidad y stock:disponibles al > efectuarse el alta de unidad[05]. > 26.3) El sistema debe restar uno a stock:disponibles al efectuarse un > préstamo[21]. > 26.4) El sistema debe sumar uno a stock:disponibles por > devoluciones[22]. > 26.5) El sistema debe restar uno a stock:cantidad por extravíos[23]. > 26.6) El sistema debe sumar uno a stock:cantidad y stock:disponibles por > adquisiciones[24]. > 26.7) El sistema debe restar uno a stock:disponible al enviarse la > unidad[05] a mantenimiento[25]. > 26.8) El sistema debe restar uno a stock:cantidad por destrucción de la > unidad[05] en mantenimiento[25]. > 26.9) El sistema debe sumar uno al stock:disponible al volver la > unidad[05] de mantenimiento[24]. > 26) El sistema debe informar al asociado[15] del vencimiento del > préstamo[21] un día antes del vencimiento. > 27) El sistema debe mostrar los préstamos[21] vencidos hace más de una > semana. > > > Requerimientos No Funcionales[RNF]: > > - Gestionar a los empleados. > > --------------- > Diccionario: > --------------- > --Editorial: Casa editora. > Atributos: nombre. > --Autores: nombre(s) de la(s) persona(s) que escribe(n) el libro. Un libro > puede tener varios autores. > Atributos: nombre. > --Género: categorías en que clasificar de forma excluyente las obras > literarias atendiendo a su contenido. Algunos de ellos son: poesía, ciencia > ficción, cuento. > Atributos: nombre. > --Libro: Obra de extensión suficiente para formar un volumen, en soporte > físico. > Atributos: código identificador (isbn o equivalente previo a 1970), > editorial, autor, título, género, portada, resumen de la contracara. > --Unidad: copia de un libro que comparte todas los atributos con el > original, menos el código bibliotecario, propio de la unidad. > Atributos: código bibliotecario, referencia al libro(código > identificador), disponibilidad para préstamo. > --Sexo: femenino o masculino. > Atributo: nombre. > --Rango de edad: hasta 15 años, de 15 a 18 años, de 18 a 22 años, de 23 a 30 > años, de 30 a 40 años, de 40 a 60 años, mayor de 60 años. > Atributo: rango. > --Visitante: persona externa a la empresa que ingresa al contenido web > generado por este software. > Atributos: Nombre, email, rango de edad, sexo. > --Votos: valoración positiva, valoración negativa. > Atributo: valor. > --Comentarios: opinión que el visitante deja escrita sobre un libro > específico. > Atributos: autor, contenido, libro. > --Popularidad: cantidad de personas que leen la información detallada de un > libro(portada y resumen de contracara). > Atributos: libro, cantidad. > --Reportar: crear un archivo con una lista decreciente de los libros y la > cantidad de visitas que recibieron. > Atributos: ranking, fecha. > --Búsqueda: Comprobación de existencia de un libro(por código identificador > o título), autor, editorial, y listado de los resultados. > Atributos: término de búsqueda, coincidencias. > --Comprobar si ya existe un libro: verificar si el código identificador de > un libro ya existe en el sistema. > Atributos: código identificador ingresado, resultado. > --Tipos de documentos: documento nacional de identidad(DNI), libreta de > enrolamiento(LE), libreta cívica(LC), cédula de identidad(CI). > Atributo: tipo. > --Confiabilidad: cantidad de préstamos activos simultáneos que puede tener > un asociado, cantidad de días hasta el vencimiento del préstamo. > Cálculo de puntos: devuelto antes del vencimiento, +1 punto. Devuelto tras > el vencimiento, -10 puntos por día vencido y cambio temporal a rango > suspendido. Extraviado: inhibe de por vida al asociado a no ser que efectúe > una adquisición, en cuyo caso lo restablece como rango 1 con 0 puntos. > Rangos: (1) hasta 100 puntos: 2 unidades, 2 semanas. (2) desde 101 hasta > 300: 2 unidades, 3 semanas. (3) desde 301: 3 unidades, 3 semanas. > (Suspendido) 0 libros, los días suspendido se calculan así: Penalización = 5 > * cantidad de días de atraso * cantidad de veces que el asociado devolvió > tarde un préstamo. Tras este período el asociado recupera su rango de > confiabilidad del 1 al 3 según sus puntos almacenados. > Atributos: asociado, puntaje, rango. > --Asociado: persona que paga un abono mensual y a cambio puede recibir > unidades en préstamo. > Atributos: Nombre, tipo de documento, número de documento, fecha de > registro, email, teléfono, celular, dirección, rango de edad, sexo, > confiabilidad. > --Cuota: suma de dinero que se abona mensualmente para poder recibir los > servicios de la institución. > Atributos: asociado, último mes(con su año correspondiente) pago. > --Informar: enviar un correo electrónico con información de interés. > Atributos: Asociado, tipo de informe, fecha. > --Estados: reflejan el movimiento de unidades: activo, anulado, devuelto en > fecha, devuelto vencido, extraviado, adquirido, reparando, reparada, > destruida. > Atributo: nombre. > --Préstamo: entrega de unidades de la biblioteca al asociado, para que los > lea en su hogar. > Atributos: Asociado, libro(código identificador), fecha de préstamo, fecha > de vencimiento, fecha de devolución, estado: activo o anulado. > --Devolución: cese del préstamo porque el asociado entregó de vuelta la > unidad a la biblioteca. > Atributos: Asociado, unidad, fecha en que se devolvió, estado: devuelto en > fecha o devuelto vencido. > --Extravío: pérdida de la unidad porque el asociado no la devolvió a la > biblioteca. > Atributos: Asociado, unidad, estado: extraviado. > --Adquisición: cuando el usuario que efectuó un extravío entrega a la > biblioteca una unidad comprada por él. > Atributos: Asociado, unidad, estado: adquirido. > --Mantenimiento: mantenimiento recibe unidades dañadas e intenta repararlas. > En caso que sea imposible, la destruirá. > Atributos: unidad, estados: reparando, anulado, reparada, destruida. > --Stock: suma de las unidades que corresponden al mismo libro, y cuantos de > esas unidades no están prestadas, extraviadas, destruidas o en > mantenimiento. > Atributos: código identificador, cantidad, disponibles. > --Empleado: persona bajo sueldo que realiza tareas para el comprador de este > software. > Atributos: Nombre, puesto, permiso. > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From analiaevarela en gmail.com Wed Nov 6 09:33:05 2013 From: analiaevarela en gmail.com (Analia Varela) Date: Wed, 6 Nov 2013 10:33:05 -0200 Subject: [Php-avanzado] Consulta tesina Message-ID: Hola Leo, Buenos días! Quisiera mostrarte por dónde voy con la tesina y hacerte algunas consultas, podría pasar mañana por el curso? Muchas gracias!!, saludos Analía ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 6 10:07:20 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 06 Nov 2013 10:07:20 -0300 Subject: [Php-avanzado] Consulta tesina In-Reply-To: References: Message-ID: <1383743240.4573.146.camel@praxisviii.intranet.com> Claro que sí! Estamos tomando parcial, así que es un excelente día. El mié, 06-11-2013 a las 10:33 -0200, Analia Varela escribió: > Hola Leo, > > Buenos días! > Quisiera mostrarte por dónde voy con la tesina y hacerte algunas > consultas, podría pasar mañana por el curso? > > > Muchas gracias!!, saludos > Analía > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From analiaevarela en gmail.com Wed Nov 6 12:10:42 2013 From: analiaevarela en gmail.com (Analia Varela) Date: Wed, 6 Nov 2013 13:10:42 -0200 Subject: [Php-avanzado] Consulta tesina In-Reply-To: <1383743240.4573.146.camel@praxisviii.intranet.com> References: <1383743240.4573.146.camel@praxisviii.intranet.com> Message-ID: Bárbaro!!, a que hora podría pasar por allá?, el curso se dicta en en el mismo laboratorio del cuatrimestre pasado? Saludos!, Analía El 6 de noviembre de 2013 10:07, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Claro que sí! > > Estamos tomando parcial, así que es un excelente día. > > > El mié, 06-11-2013 a las 10:33 -0200, Analia Varela escribió: > > Hola Leo, > > > > Buenos días! > > Quisiera mostrarte por dónde voy con la tesina y hacerte algunas > > consultas, podría pasar mañana por el curso? > > > > > > Muchas gracias!!, saludos > > Analía > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 6 12:26:14 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 06 Nov 2013 12:26:14 -0300 Subject: [Php-avanzado] Consulta tesina In-Reply-To: References: <1383743240.4573.146.camel@praxisviii.intranet.com> Message-ID: <1383751574.4573.149.camel@praxisviii.intranet.com> Mismo Horario: de 18 a 22hs El mié, 06-11-2013 a las 13:10 -0200, Analia Varela escribió: > Bárbaro!!, a que hora podría pasar por allá?, el curso se dicta en en > el mismo laboratorio del cuatrimestre pasado? > > > Saludos!, > Analía > > > El 6 de noviembre de 2013 10:07, Leonardo Tadei - Pegasus Tech Supply > escribió: > Claro que sí! > > Estamos tomando parcial, así que es un excelente día. > > > El mié, 06-11-2013 a las 10:33 -0200, Analia Varela escribió: > > Hola Leo, > > > > Buenos días! > > Quisiera mostrarte por dónde voy con la tesina y hacerte > algunas > > consultas, podría pasar mañana por el curso? > > > > > > Muchas gracias!!, saludos > > Analía > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: > http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Pegasus Tech Supply Tel: (+54)(+223) 471-2880 La Salle 1131 - Mar del Plata - Argentina http://www.pegasusnet.com.ar http://www.grupopegasus.com Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From analiaevarela en gmail.com Wed Nov 6 16:06:09 2013 From: analiaevarela en gmail.com (Analia Varela) Date: Wed, 6 Nov 2013 17:06:09 -0200 Subject: [Php-avanzado] Consulta tesina In-Reply-To: <1383751574.4573.149.camel@praxisviii.intranet.com> References: <1383743240.4573.146.camel@praxisviii.intranet.com> <1383751574.4573.149.camel@praxisviii.intranet.com> Message-ID: Bárbaro!!, estaré por allá cerca de las 19hs. Saludos!!, Analía El 6 de noviembre de 2013 12:26, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Mismo Horario: de 18 a 22hs > > > El mié, 06-11-2013 a las 13:10 -0200, Analia Varela escribió: > > Bárbaro!!, a que hora podría pasar por allá?, el curso se dicta en en > > el mismo laboratorio del cuatrimestre pasado? > > > > > > Saludos!, > > Analía > > > > > > El 6 de noviembre de 2013 10:07, Leonardo Tadei - Pegasus Tech Supply > > escribió: > > Claro que sí! > > > > Estamos tomando parcial, así que es un excelente día. > > > > > > El mié, 06-11-2013 a las 10:33 -0200, Analia Varela escribió: > > > Hola Leo, > > > > > > Buenos días! > > > Quisiera mostrarte por dónde voy con la tesina y hacerte > > algunas > > > consultas, podría pasar mañana por el curso? > > > > > > > > > Muchas gracias!!, saludos > > > Analía > > > > > _______________________________________________ > > > Lista de correo: Php-avanzado > > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > > Administración Web: > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > > Desubscripción: > > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > > -- > > Leonardo Tadei > > leonardot en pegasusnet.com.ar > > Web: http://leonardo.tadei.com.ar > > Firma pública: > > http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > > Leonardo Tadei > leonardot en pegasusnet.com.ar > Pegasus Tech Supply > Tel: (+54)(+223) 471-2880 > La Salle 1131 - Mar del Plata - Argentina > http://www.pegasusnet.com.ar > http://www.grupopegasus.com > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fpborsani en yahoo.com.ar Wed Nov 6 18:25:12 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Wed, 6 Nov 2013 18:25:12 -0300 Subject: [Php-avanzado] XmlHttpRequest + POST Message-ID: <000001cedb36$afa276a0$0ee763e0$@yahoo.com.ar> Hola Profe! En el manual y en sus ejemplos se muestra como transferir datos de manera asincrónica con el método GET. ¿No nos pasa un ejemplo de cómo usar el XHR transfiriendo los datos por POST? Gracias! From ferudine en sion.com Wed Nov 6 18:44:23 2013 From: ferudine en sion.com (Daniel Billia) Date: Wed, 06 Nov 2013 18:44:23 -0300 Subject: [Php-avanzado] Consulta Message-ID: <20131106214415.5A9C648219@arise.capfed1.sinectis.com.ar> Buenas Leo el link que mandaste sobre ejecutar funcion dinámicamente me sirvió de 10 ya lo puse en prueba anda perfecto GRACIAS… Ya tengo una parte del programa de gestión consulta de artículos, cuales son los pasos a seguir ¿?….saludos!! From leonardot en pegasusnet.com.ar Wed Nov 6 19:38:49 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 06 Nov 2013 19:38:49 -0300 Subject: [Php-avanzado] Consulta In-Reply-To: <20131106214415.5A9C648219@arise.capfed1.sinectis.com.ar> References: <20131106214415.5A9C648219@arise.capfed1.sinectis.com.ar> Message-ID: <1383777529.4573.176.camel@praxisviii.intranet.com> Hola Daniel, si querés pasar por la FI a instalarlo y mostrarme los avances, sería genial. Con esto daríamos por dada la parte de la instalación. Luego podemos vernos de nuevo en la FI o me enviás el código por e-mail del software lo más terminado posible, antes de que se venza tu cursada, el 19/12/2013 También podés ir directamente a entregarlo cuando lo tengas más avanzado. Como te sea más cómodo. Saludos! El mié, 06-11-2013 a las 18:44 -0300, Daniel Billia escribió: > Buenas Leo el link que mandaste sobre ejecutar funcion dinámicamente > me sirvió de 10 ya lo puse en prueba anda perfecto GRACIAS > Ya tengo una parte del programa de gestión > consulta de artículos, cuales son los pasos a seguir ¿? .saludos!! > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Wed Nov 6 19:44:36 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 06 Nov 2013 19:44:36 -0300 Subject: [Php-avanzado] XmlHttpRequest + POST In-Reply-To: <000001cedb36$afa276a0$0ee763e0$@yahoo.com.ar> References: <000001cedb36$afa276a0$0ee763e0$@yahoo.com.ar> Message-ID: <1383777876.4573.179.camel@praxisviii.intranet.com> Hola Pehúen, la mecánica es la misma, con la única salvedad de que hay que preparar los parámetros POST para que se envíen por separado del URL. http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/ El mié, 06-11-2013 a las 18:25 -0300, Fernando Pehuén Borsani escribió: > Hola Profe! > > En el manual y en sus ejemplos se muestra como transferir datos de manera > asincrónica con el método GET. > > ¿No nos pasa un ejemplo de cómo usar el XHR transfiriendo los datos por > POST? > > Gracias! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From vicky87_mdq en hotmail.com Wed Nov 6 19:49:04 2013 From: vicky87_mdq en hotmail.com (Vicky Revuelta) Date: Wed, 6 Nov 2013 22:49:04 +0000 Subject: [Php-avanzado] XmlHttpRequest + POST In-Reply-To: <1383777876.4573.179.camel@praxisviii.intranet.com> References: <000001cedb36$afa276a0$0ee763e0$@yahoo.com.ar>, <1383777876.4573.179.camel@praxisviii.intranet.com> Message-ID: perdón por la pregunta descolgada, pero esto entra en el parcial? Estuve faltando y estoy (intentando) poniendome al día a la velocidad de la luz!! > From: leonardot en pegasusnet.com.ar > To: php-avanzado en pato2.fi.mdp.edu.ar > Date: Wed, 6 Nov 2013 19:44:36 -0300 > Subject: Re: [Php-avanzado] XmlHttpRequest + POST > > Hola Pehúen, > > la mecánica es la misma, con la única salvedad de que hay que preparar > los parámetros POST para que se envíen por separado del URL. > > http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp > http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/ > > > > El mié, 06-11-2013 a las 18:25 -0300, Fernando Pehuén Borsani escribió: > > Hola Profe! > > > > En el manual y en sus ejemplos se muestra como transferir datos de manera > > asincrónica con el método GET. > > > > ¿No nos pasa un ejemplo de cómo usar el XHR transfiriendo los datos por > > POST? > > > > Gracias! > > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 6 20:23:00 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 06 Nov 2013 20:23:00 -0300 Subject: [Php-avanzado] XmlHttpRequest + POST In-Reply-To: References: <000001cedb36$afa276a0$0ee763e0$@yahoo.com.ar> , <1383777876.4573.179.camel@praxisviii.intranet.com> Message-ID: <1383780180.4573.183.camel@praxisviii.intranet.com> Hola Victoria, JavaScript sí entra en el parcial. El mié, 06-11-2013 a las 22:49 +0000, Vicky Revuelta escribió: > perdón por la pregunta descolgada, pero esto entra en el parcial? > Estuve faltando y estoy (intentando) poniendome al día a la velocidad > de la luz!! > > > From: leonardot en pegasusnet.com.ar > > To: php-avanzado en pato2.fi.mdp.edu.ar > > Date: Wed, 6 Nov 2013 19:44:36 -0300 > > Subject: Re: [Php-avanzado] XmlHttpRequest + POST > > > > Hola Pehúen, > > > > la mecánica es la misma, con la única salvedad de que hay que > preparar > > los parámetros POST para que se envíen por separado del URL. > > > > http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp > > > http://www.cristalab.com/tutoriales/enviar-datos-por-post-y-get-en-ajax-en-una-funcion-c237l/ > > > > > > > > El mié, 06-11-2013 a las 18:25 -0300, Fernando Pehuén Borsani > escribió: > > > Hola Profe! > > > > > > En el manual y en sus ejemplos se muestra como transferir datos de > manera > > > asincrónica con el método GET. > > > > > > ¿No nos pasa un ejemplo de cómo usar el XHR transfiriendo los > datos por > > > POST? > > > > > > Gracias! > > > > > > -- > > Leonardo Tadei > > leonardot en pegasusnet.com.ar > > Web: http://leonardo.tadei.com.ar > > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Pegasus Tech Supply Tel: (+54)(+223) 471-2880 La Salle 1131 - Mar del Plata - Argentina http://www.pegasusnet.com.ar http://www.grupopegasus.com Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From vicky87_mdq en hotmail.com Thu Nov 7 13:05:47 2013 From: vicky87_mdq en hotmail.com (Vicky Revuelta) Date: Thu, 7 Nov 2013 16:05:47 +0000 Subject: [Php-avanzado] consulta manejo archivos Message-ID: hola a todos!estuve practicando el tema de subida de archivos, escaneo de directorios y demás, modificando un ejemplo que tenía.El tema es que no me funciona el botón borrar, seguro que es algún error pavo pero no me puedo dar cuenta cualles pego el código subidas


  1. Archivo:
------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From vicky87_mdq en hotmail.com Thu Nov 7 13:18:23 2013 From: vicky87_mdq en hotmail.com (Vicky Revuelta) Date: Thu, 7 Nov 2013 16:18:23 +0000 Subject: [Php-avanzado] consulta manejo archivos In-Reply-To: References: Message-ID: ERA UN PROBLEMA DE LOS BENDITOS PERMISOS!!ya lo resolví! perdón!! From: vicky87_mdq en hotmail.com To: php-avanzado en pato2.fi.mdp.edu.ar Date: Thu, 7 Nov 2013 16:05:47 +0000 Subject: [Php-avanzado] consulta manejo archivos hola a todos!estuve practicando el tema de subida de archivos, escaneo de directorios y demás, modificando un ejemplo que tenía.El tema es que no me funciona el botón borrar, seguro que es algún error pavo pero no me puedo dar cuenta cualles pego el código subidas


  1. Archivo:
_______________________________________________ Lista de correo: Php-avanzado Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar Administraci?n Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado Desubscripci?n: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Thu Nov 7 13:22:55 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Thu, 07 Nov 2013 13:22:55 -0300 Subject: [Php-avanzado] consulta manejo archivos In-Reply-To: References: Message-ID: <1383841375.4573.224.camel@praxisviii.intranet.com> Hola Victoria, a simple vista no se ve nada mal, sobre todo si el script ya sube los archivos (aunque este código parece que no debería subir porque al no tener una / final "subidas" estás poniendo las cosas en el mismo directorio del script con nombre subidas.epoch-nombre_original). Fijate haciendo este cambio para obtener mejor información de lo que está pasando. Típicamente esto son errores de permisos o de rutas. if(isset($_POST['Borra'])) { // Debug print("Debug: se va a borrar ".$dir.$_POST['a'] ); unlink($dir.$_POST['a']); $msg = "Archivo borrado: {$_POST['a']}"; } Contanos como te fue! El jue, 07-11-2013 a las 16:05 +0000, Vicky Revuelta escribió: > hola a todos! > estuve practicando el tema de subida de archivos, escaneo de > directorios y demás, modificando un ejemplo que tenía. > El tema es que no me funciona el botón borrar, seguro que es algún > error pavo pero no me puedo dar cuenta cual > les pego el código > > > $p = $_POST; > $f = $_FILES; > $dir = "subidas"; > $msg = ''; > $u = date("U")."-"; > if(isset($_POST['Bok'])) { > if(is_uploaded_file($f["a"]["tmp_name"])) { > if("image/jpeg" == $f["a"]["type"]) { > move_uploaded_file($f["a"]["tmp_name"], $dir.$u.$f["a"]["name"]); > $msg = "Archivo recibido: {$f["a"]["name"]}"; > } else { > $msg = "Error 2; solo JPEG"; > } > } else { > $msg = "Error 1"; > } > } > > > if(isset($_POST['Borra'])) { > unlink($dir.$_POST['a']); > $msg = "Archivo borrado: {$_POST['a']}"; > } > > > $todo = scandir($dir); > array_shift($todo); > array_shift($todo); > > > ?> > > > > subidas > > > > > > > > >
> > >
> > >
>
>
>
    > > > foreach($todo as $l) { > ?> >
  1. > Archivo: >
    > > >
    >
  2. > } > ?> >
> > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Thu Nov 7 18:01:03 2013 From: ferudine en sion.com (Daniel Billia) Date: Thu, 07 Nov 2013 18:01:03 -0300 Subject: [Php-avanzado] RE FI Message-ID: <20131107210055.0E0F548134@relay2.capfed1.sinectis.com.ar> Buenas Leo tengo cargado en un sitio si queres verlo el sitio es www.ferudine.com/logilde en la semana que viene te llevo en un pen el fuente. Si tengo que instalarlo en el servidor de la facu lo haría la semana próxima hoy no puedo ir ..Saludos ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fepcapo en hotmail.com Thu Nov 7 21:23:20 2013 From: fepcapo en hotmail.com (Federico Penin) Date: Fri, 8 Nov 2013 00:23:20 +0000 Subject: [Php-avanzado] ORM In-Reply-To: <1383841375.4573.224.camel@praxisviii.intranet.com> References: , <1383841375.4573.224.camel@praxisviii.intranet.com> Message-ID: Necesitaria los ejemplos de ORM gracias leo :) > From: leonardot en pegasusnet.com.ar > To: php-avanzado en pato2.fi.mdp.edu.ar > Date: Thu, 7 Nov 2013 13:22:55 -0300 > Subject: Re: [Php-avanzado] consulta manejo archivos > > Hola Victoria, > > a simple vista no se ve nada mal, sobre todo si el script ya sube los > archivos (aunque este código parece que no debería subir porque al no > tener una / final "subidas" estás poniendo las cosas en el mismo > directorio del script con nombre subidas.epoch-nombre_original). > > Fijate haciendo este cambio para obtener mejor información de lo que > está pasando. Típicamente esto son errores de permisos o de rutas. > > if(isset($_POST['Borra'])) { > // Debug > print("Debug: se va a borrar ".$dir.$_POST['a'] ); > > unlink($dir.$_POST['a']); > $msg = "Archivo borrado: {$_POST['a']}"; > } > > Contanos como te fue! > > > El jue, 07-11-2013 a las 16:05 +0000, Vicky Revuelta escribió: > > hola a todos! > > estuve practicando el tema de subida de archivos, escaneo de > > directorios y demás, modificando un ejemplo que tenía. > > El tema es que no me funciona el botón borrar, seguro que es algún > > error pavo pero no me puedo dar cuenta cual > > les pego el código > > > > > > > $p = $_POST; > > $f = $_FILES; > > $dir = "subidas"; > > $msg = ''; > > $u = date("U")."-"; > > if(isset($_POST['Bok'])) { > > if(is_uploaded_file($f["a"]["tmp_name"])) { > > if("image/jpeg" == $f["a"]["type"]) { > > move_uploaded_file($f["a"]["tmp_name"], $dir.$u.$f["a"]["name"]); > > $msg = "Archivo recibido: {$f["a"]["name"]}"; > > } else { > > $msg = "Error 2; solo JPEG"; > > } > > } else { > > $msg = "Error 1"; > > } > > } > > > > > > if(isset($_POST['Borra'])) { > > unlink($dir.$_POST['a']); > > $msg = "Archivo borrado: {$_POST['a']}"; > > } > > > > > > $todo = scandir($dir); > > array_shift($todo); > > array_shift($todo); > > > > > > ?> > > > > > > > > subidas > > > > > > > > > > > > > > > > > >
> > > > > >
> > > > > >
> >
> >
> >
    > > > > > > > foreach($todo as $l) { > > ?> > >
  1. > > Archivo: > >
    > > > > > >
    > >
  2. > > > } > > ?> > >
> > > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Fri Nov 8 12:27:18 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Fri, 08 Nov 2013 12:27:18 -0300 Subject: [Php-avanzado] ORM In-Reply-To: References: , <1383841375.4573.224.camel@praxisviii.intranet.com> Message-ID: <1383924438.4573.262.camel@praxisviii.intranet.com> Hola Federico, ahí van de nuevo. Los hizo José Luis Oemig, un colega, para usarlos como ejemplos en clase del ISFT. Se aceptan más ejemplos y más documentación! Los UML son una discusión sobre diseño para un ejemplo. El vie, 08-11-2013 a las 00:23 +0000, Federico Penin escribió: > Necesitaria los ejemplos de ORM gracias leo :) > > > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: oemig.tar.gz Type: application/x-compressed-tar Size: 98779 bytes Desc: no disponible URL: From leonardot en pegasusnet.com.ar Fri Nov 8 13:36:44 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Fri, 08 Nov 2013 13:36:44 -0300 Subject: [Php-avanzado] RE FI In-Reply-To: <20131107210055.0E0F548134@relay2.capfed1.sinectis.com.ar> References: <20131107210055.0E0F548134@relay2.capfed1.sinectis.com.ar> Message-ID: <1383928604.4573.281.camel@praxisviii.intranet.com> Hola Daniel, estoy viendo el sitio. Felicidades! Como no tengo acceso como administrador, no puede ver buena parte de la funcionalidad. Para la entrega, tenés que dejarlo instalado en el servidor de la FI. Combinemos por acá para vernos, pero estamos los Jueves de 18 a 22hs. Lo ideal sería que vayas a eso de las 19hs, así en la pausa me podés mostrar cada funcionalidad. Saludos cordiales! El jue, 07-11-2013 a las 18:01 -0300, Daniel Billia escribió: > Buenas Leo tengo cargado en un sitio si queres verlo el sitio es > www.ferudine.com/logilde en la semana que viene te llevo en un pen el > fuente. > Si tengo que instalarlo en el servidor de la facu lo haría la semana > próxima hoy no puedo ir ..Saludos > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From vicky87_mdq en hotmail.com Fri Nov 8 14:13:05 2013 From: vicky87_mdq en hotmail.com (Vicky Revuelta) Date: Fri, 8 Nov 2013 17:13:05 +0000 Subject: [Php-avanzado] RE FI In-Reply-To: <1383928604.4573.281.camel@praxisviii.intranet.com> References: <20131107210055.0E0F548134@relay2.capfed1.sinectis.com.ar>, <1383928604.4573.281.camel@praxisviii.intranet.com> Message-ID: Qué linda página!! Lo único que puedo decir/aportar es que no le pegó al navegador que estoy usando! la veo en chrome pero dice que estoy en mozilla! saludos! > From: leonardot en pegasusnet.com.ar > To: php-avanzado en pato2.fi.mdp.edu.ar > Date: Fri, 8 Nov 2013 13:36:44 -0300 > Subject: Re: [Php-avanzado] RE FI > > Hola Daniel, > > estoy viendo el sitio. Felicidades! > Como no tengo acceso como administrador, no puede ver buena parte de la > funcionalidad. > Para la entrega, tenés que dejarlo instalado en el servidor de la FI. > Combinemos por acá para vernos, pero estamos los Jueves de 18 a 22hs. Lo > ideal sería que vayas a eso de las 19hs, así en la pausa me podés > mostrar cada funcionalidad. > > Saludos cordiales! > > > > El jue, 07-11-2013 a las 18:01 -0300, Daniel Billia escribió: > > Buenas Leo tengo cargado en un sitio si queres verlo el sitio es > > www.ferudine.com/logilde en la semana que viene te llevo en un pen el > > fuente. > > Si tengo que instalarlo en el servidor de la facu lo haría la semana > > próxima hoy no puedo ir ..Saludos > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fpborsani en yahoo.com.ar Fri Nov 8 14:59:43 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Fri, 8 Nov 2013 14:59:43 -0300 Subject: [Php-avanzado] RE FI In-Reply-To: References: <20131107210055.0E0F548134@relay2.capfed1.sinectis.com.ar>, <1383928604.4573.281.camel@praxisviii.intranet.com> Message-ID: <000b01cedcac$4fa608d0$eef21a70$@yahoo.com.ar> El Chrome se identifica de esa manera cuando se utilizan las propiedades del objeto navigator. Hay un par de formas para diferenciarlos. Por ejemplo, la propiedad appVersion. Las respuestas según el navegador son: Mozilla: 5.0 (Windows) Chrome: 5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36 Como se puede ver, el Chrome se identifica a si mismo al detallar su versión (Chrome/30.0.1599.101), así que es una posible forma para diferenciarlos. Claro que eso no te sirve para diferenciarlo de otros navegadores que usan WebKit, como el Safari. De: php-avanzado-bounces en pato2.fi.mdp.edu.ar [mailto:php-avanzado-bounces en pato2.fi.mdp.edu.ar] En nombre de Vicky Revuelta Enviado el: viernes, 08 de noviembre de 2013 02:13 p.m. Para: Lista del curso de PHP Avanzado Asunto: Re: [Php-avanzado] RE FI Qué linda página!!  Lo único que puedo decir/aportar es que no le pegó al navegador que estoy usando! la veo en chrome pero dice que estoy en mozilla! saludos! > From: leonardot en pegasusnet.com.ar > To: php-avanzado en pato2.fi.mdp.edu.ar > Date: Fri, 8 Nov 2013 13:36:44 -0300 > Subject: Re: [Php-avanzado] RE FI > > Hola Daniel, > > estoy viendo el sitio. Felicidades! > Como no tengo acceso como administrador, no puede ver buena parte de la > funcionalidad. > Para la entrega, tenés que dejarlo instalado en el servidor de la FI. > Combinemos por acá para vernos, pero estamos los Jueves de 18 a 22hs. Lo > ideal sería que vayas a eso de las 19hs, así en la pausa me podés > mostrar cada funcionalidad. > > Saludos cordiales! > > > > El jue, 07-11-2013 a las 18:01 -0300, Daniel Billia escribió: > > Buenas Leo tengo cargado en un sitio si queres verlo el sitio es > > www.ferudine.com/logilde en la semana que viene te llevo en un pen el > > fuente. > > Si tengo que instalarlo en el servidor de la facu lo haría la semana > > próxima hoy no puedo ir ..Saludos > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe From ferudine en sion.com Fri Nov 8 19:01:51 2013 From: ferudine en sion.com (Daniel Billia) Date: Fri, 08 Nov 2013 19:01:51 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?Habilitaci=F3n_FI?= Message-ID: <20131108220137.BE4E1481DD@cobain.capfed1.sinectis.com.ar> Buenas Leo te habilito una registración que realice el otro dia como prueba login leo pass leo todo minúscula te doy nivel 5 que ingresas a todos los sitios de la pagina va a llegar una confirmación al email Php-avanzado en pato2.fi.mdp.edu.ar que estas habilitado saludos… y buen finde.. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ferudine en sion.com Mon Nov 11 09:54:21 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 11 Nov 2013 09:54:21 -0300 Subject: [Php-avanzado] Consulta ??? Message-ID: <20131111125405.2710D48223@relay2.capfed1.sinectis.com.ar> Buenos días Leo te tengo una consulta estoy en la parte de cargar la fotos para los articulos y quiero generar un preview en javascript encontré mieles de ejemplo pero como siempre ninguno funciona y por lo que vi cuando carga el path local de la foto no lo encuentre, le puse a un ejemplo de javascript el path de una foto en el servidor anduvo bien me podes orientar sobre este tema Saludos ¡!!! From matigea en gmail.com Mon Nov 11 10:35:45 2013 From: matigea en gmail.com (Matias Gea) Date: Mon, 11 Nov 2013 11:35:45 -0200 Subject: [Php-avanzado] Consulta ??? In-Reply-To: <20131111125405.2710D48223@relay2.capfed1.sinectis.com.ar> References: <20131111125405.2710D48223@relay2.capfed1.sinectis.com.ar> Message-ID: Hola, Daniel. La preview de fotos en javascript tenés que hacerla con la FileAPI (y FileReader interface) de los navegadores (es un working draft, fijate el soporte: http://caniuse.com/#feat=fileapi). Fijate algunos ejemplos funcionales y documentacion (todo en ingles): http://kellishaver.tumblr.com/post/21428272282/using-the-file-api-to-preview-images-before-uploading http://robertnyman.com/2010/12/16/utilizing-the-html5-file-api-to-choose-upload-preview-and-see-progress-for-multiple-files/ https://developer.mozilla.org/en-US/docs/Web/API/FileReader http://html5demos.com/file-api http://www.html5rocks.com/en/tutorials/file/dndfiles/ Basicamente consiste en escuchar el evento 'onchange' del file input, luego leer los archivos locales del array files del mismo y procesarlos con el file reader. Éste último va a llamar a una función de callback cuando termine de leer el archivo del disco, y en esta función es donde se utiliza readAsDataUrl para poner ese preview como src de un elemento img. Es mucho más simple si usás algún framework, como jQuery, sino, igualmente podés hacerlo, pero tenés que escribir más código para soportar los diversos navegadores (hay problemas especialmente con algunas cosas de IE, como el agregado de listeners para los eventos). Cualquier cosa que te falle, pasá el código y lo vemos. Saludos! El 11 de noviembre de 2013 09:54, Daniel Billia escribió: > Buenos días Leo te tengo una consulta estoy en la parte de cargar la fotos > para los articulos y quiero generar un preview en javascript encontré > mieles de ejemplo pero como siempre ninguno funciona y por lo que vi cuando > carga el path local de la foto no lo encuentre, le puse a un ejemplo de > javascript el path de una foto en el servidor anduvo bien me podes orientar > sobre este tema Saludos ¡!!! > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi- > bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi. > mdp.edu.ar?subject=unsubscribe > -- Matias Fernando Gea matigea en gmail.com http://www.mfgea.com.ar ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Mon Nov 11 12:00:11 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 11 Nov 2013 12:00:11 -0300 Subject: [Php-avanzado] Consulta ??? In-Reply-To: <20131111125405.2710D48223@relay2.capfed1.sinectis.com.ar> References: <20131111125405.2710D48223@relay2.capfed1.sinectis.com.ar> Message-ID: <1384182011.22637.11.camel@praxisviii.intranet.com> Hola Daniel, tal y como dice Matías, no podrás acceder acceder desde JS a un archivo de la PC local (sería un desastre de seguridad si esto fuera posible!!!) Fijate los enlaces del FileAPI que es el mecanismo para hacerlo... te aviso que si la imagen es grande consume mucha RAM. Por otra parte, si bien las preview de las imágenes antes de subir es relativamente útil, es mucho más útil la vista en miniatura de las imágenes existentes. Las miniaturas se hacen en PHP y no tiene nada que ver con la preview en JavaScript. Querés hacer la preview antes antes de subir la imagen o después de que está subida??? El lun, 11-11-2013 a las 09:54 -0300, Daniel Billia escribió: > Buenos días Leo te tengo una consulta estoy en la > parte de cargar la fotos para los articulos y > quiero generar un preview en javascript encontré > mieles de ejemplo pero como siempre ninguno > funciona y por lo que vi cuando carga el path > local de la foto no lo encuentre, le puse a un > ejemplo de javascript el path de una foto en el > servidor anduvo bien me podes orientar sobre este tema Saludos ¡!!! > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Mon Nov 11 12:32:02 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 11 Nov 2013 12:32:02 -0300 Subject: [Php-avanzado] Preview Message-ID: <20131111153144.E608248249@relay1.capfed1.sinectis.com.ar> Hola Leo la imagen se hace el preview antes de cargarla como una referencia en ves de tener el nombre de la imagen sino verla es como decías en una de las clases si el operador se va por un momento y cunado viene no sabe por que punto esta de esa manera se ve el detalle del articulo con su imagen, ya probé el readAsDataUrl y no carga nada no se si se esta colocando mal el path en algunos ejemplos se colocaba al principio file://+el path de la foto probé de varias formas pero nada,te mando unosss de los ejemplos New Document

your image ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Mon Nov 11 12:52:11 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 11 Nov 2013 12:52:11 -0300 Subject: [Php-avanzado] Preview In-Reply-To: <20131111153144.E608248249@relay1.capfed1.sinectis.com.ar> References: <20131111153144.E608248249@relay1.capfed1.sinectis.com.ar> Message-ID: <1384185131.22637.34.camel@praxisviii.intranet.com> Fijate en los enlaces que te mandó Matías, La única forma viable de hacer esto es con la FileAPI de JavaScript El lun, 11-11-2013 a las 12:32 -0300, Daniel Billia escribió: > Hola Leo la imagen se hace el preview antes de cargarla como una > referencia en ves de tener el nombre de la imagen sino verla es como > decías en una de las clases si el operador se va por un momento y > cunado viene no sabe por que punto esta de esa manera se ve el detalle > del articulo con su imagen, ya probé el readAsDataUrl y no carga nada > no se si se esta colocando mal el path en algunos ejemplos se colocaba > al principio file://+el path de la foto probé de varias formas pero > nada,te mando unosss de los ejemplos > > > > http-equiv="Content-Type"content="text/html;charset=ISO-8859-1" /> > > > > > New Document > > > > >

> your image > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From matigea en gmail.com Mon Nov 11 13:08:59 2013 From: matigea en gmail.com (Matias Gea) Date: Mon, 11 Nov 2013 14:08:59 -0200 Subject: [Php-avanzado] Preview In-Reply-To: <1384185131.22637.34.camel@praxisviii.intranet.com> References: <20131111153144.E608248249@relay1.capfed1.sinectis.com.ar> <1384185131.22637.34.camel@praxisviii.intranet.com> Message-ID: Fijate en esto: New Document

your image En tu codigo tenias algunos problemas. Primero, la linea $('#blah').attr('src', e.target.result); intenta utilizar la función $, que no es nativa de javascript, y generalmente la definen los frameworks. En particular, esta función es de jQuery o alguno compatible, por la forma en que se escribe el selector y se utiliza el método attr. También, el elemento que se intenta encontrar es #blah, es decir un elemento con id="blah". En tu documento faltaba ese elemento. Por esto no te funcionaba el codio comentado. Con respecto al código no comentado, hay muchos errores de concepto. var n_foto=input.value; Por motivos de seguridad,no se permite a los navegadores hacer disclosure de ningún tipo de información del usuario no autorizada, eso incluye las rutas a los archivos, por eso, esto en general devuelve un path falso, por ejemplo (y en mi caso) "C:\fakepath\6460_1135525481509_1223690_n.jpg". Esto evita que puedas tener cualquier tipo de acceso al archivo local, salvo por mecanismos autorizados por el browser (FileApi, en este caso). var cont=document.getElementById("imagen"); Acá estas buscando por id el contenedor img, esto es correcto. cont.readAsDataURL(n_foto); Acá hay un error de concepto. readDataAsURL es una función de una instancia de FileReader, que no tiene nada que ver con un elemento HTML IMG; además, el parámetro que toma es un objeto de información de un input tipo file. Es más, por seguridad, también verifica que ese objeto de información sea creado directamente por el navegador al seleccionar un archivo. Ahora, fijate en lo que hace el código que estaba comentado: var reader = new FileReader(); // Acá crea una instancia de FileReader, esta le va a permitir leer el archivo // A la instancia le define un manejador de eventos, para el evento load, es decir, que haga algo cuando se termine de cargar el archivo. // Ese "algo" es poner la imagen en el elemento IMG reader.onload = function (e) { // Buscamos el elemento con id="imagen" document.getElementById('imagen').src = e.target.result; } // Acá le decimos al FileReader que lea el archivo y lo codifique para poder ponerlo en el src de un img (DataUrl) reader.readAsDataURL(input.files[0]); Cualquier duda consultá. Saludos! El 11 de noviembre de 2013 12:52, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Fijate en los enlaces que te mandó Matías, > La única forma viable de hacer esto es con la FileAPI de JavaScript > > > > El lun, 11-11-2013 a las 12:32 -0300, Daniel Billia escribió: > > Hola Leo la imagen se hace el preview antes de cargarla como una > > referencia en ves de tener el nombre de la imagen sino verla es como > > decías en una de las clases si el operador se va por un momento y > > cunado viene no sabe por que punto esta de esa manera se ve el detalle > > del articulo con su imagen, ya probé el readAsDataUrl y no carga nada > > no se si se esta colocando mal el path en algunos ejemplos se colocaba > > al principio file://+el path de la foto probé de varias formas pero > > nada,te mando unosss de los ejemplos > > > > > > > > > http-equiv="Content-Type"content="text/html;charset=ISO-8859-1" /> > > > > > > > > > > New Document > > > > > > > > > >

> > your image > > > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Matias Fernando Gea matigea en gmail.com http://www.mfgea.com.ar ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Mon Nov 11 16:29:00 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 11 Nov 2013 16:29:00 -0300 Subject: [Php-avanzado] No hay clase - 28/11/2013 Message-ID: <1384198140.22637.47.camel@praxisviii.intranet.com> Buenas, aprovecho para recordarles que el próximo jueves 28/11/2013 no tendremos clase. Estarán las aulas ocupadas con el examen de la cátedra de Computación. Salu2! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Mon Nov 11 18:04:29 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 11 Nov 2013 18:04:29 -0300 Subject: [Php-avanzado] Matias Gea Message-ID: <20131111210414.404A94817F@relay1.capfed1.sinectis.com.ar> Hola Matias ya lo probe en firefox funciona bien pero en IE7 no funca después lo pruebo en IE8 ya entendí el concepto es que pense en javascript si uno direcciona un archivo lo carga pero es logico que no lo carga por norma de seguridad . En el ejemplo hay algo que no entiendo… function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e){document.getElementById('imagen').src = e.target.result;} /* la variable (e) de donde nace ? */ reader.readAsDataURL(input.files[0]); } } Saludos!! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From matigea en gmail.com Mon Nov 11 18:14:36 2013 From: matigea en gmail.com (Matias Gea) Date: Mon, 11 Nov 2013 19:14:36 -0200 Subject: [Php-avanzado] Matias Gea In-Reply-To: <20131111210414.404A94817F@relay1.capfed1.sinectis.com.ar> References: <20131111210414.404A94817F@relay1.capfed1.sinectis.com.ar> Message-ID: En IE 6,7,8 y 9 no funciona, porque no soportan la FileApi (fijate en http://caniuse.com/#feat=filereader). La variable "e" es el objeto con la información que generó el evento, del evento mismo y del resultado del mismo. Este objeto lo genera el navegador. Cada vez que se "dispara" un evento se le envia al listener la información que lo disparó. Saludos! El 11 de noviembre de 2013 18:04, Daniel Billia escribió: > Hola Matias ya lo probe en firefox funciona bien pero en IE7 no funca > después lo pruebo en IE8 ya entendí el concepto es que pense en javascript > si uno direcciona un archivo lo carga pero es logico que no lo carga por > norma de seguridad . > En el ejemplo hay algo que no entiendo? > function readURL(input) > { > if (input.files && input.files[0]) > { > var reader = new FileReader(); > reader.onload = > function (e){document.getElementById('imagen').src = e.target.result;} > /* la variable (e) de donde nace ? */ > reader.readAsDataURL(input.files[0]); > } > } > > Saludos!! > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Matias Fernando Gea matigea en gmail.com http://www.mfgea.com.ar ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ferudine en sion.com Mon Nov 11 19:34:32 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 11 Nov 2013 19:34:32 -0300 Subject: [Php-avanzado] Matias Gea Message-ID: <20131111223419.E5C94481D1@cobain.capfed1.sinectis.com.ar> Hola Matias gracias por el link ya estoy viendo después te comento como me fue SALUDOSSS ¡ From analiaevarela en gmail.com Wed Nov 13 11:32:53 2013 From: analiaevarela en gmail.com (Analia Varela) Date: Wed, 13 Nov 2013 12:32:53 -0200 Subject: [Php-avanzado] Consulta tesina Message-ID: Hola Leo, Buenos días! Podría pasar mañana por el curso?. Solucioné algunas cuestiones que me dí cuenta el otro día y agregue la parte que me faltaba. Mí idea sería instalarlo y si esta todo todo ok, te lo entrego. Saludos!!, Analía ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 13 11:39:19 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 13 Nov 2013 11:39:19 -0300 Subject: [Php-avanzado] Consulta tesina In-Reply-To: References: Message-ID: <1384353559.29380.78.camel@praxisviii.intranet.com> Hola Analía, mañana tenemos la clase de Normalización... y viste que esta clase es un poco larga. Si querés ir, te sugiero hacerlo a partir de las 20hs, pero con posibilidad de que recién pueda ver las cosas contigo cerca de las 22hs. Yo no tengo problema en quedarme un rato: con la aplicación instalada, me hacés una visita guiada, te pregunto algunas cosas para entender cómo funciona, y ya está entregada. Si no lo dejamos para el jueves 21/11 o el jueves 05/12 (el 28/11 no tenemos clase. Vos dirás cómo preferís! El mié, 13-11-2013 a las 12:32 -0200, Analia Varela escribió: > Hola Leo, > > Buenos días! > Podría pasar mañana por el curso?. Solucioné algunas cuestiones que me > dí cuenta el otro día y agregue la parte que me faltaba. Mí idea sería > instalarlo y si esta todo todo ok, te lo entrego. > > > Saludos!!, > Analía > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Wed Nov 13 11:40:50 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 13 Nov 2013 11:40:50 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?Invitaci=F3n_-_clase_de_normalizaci?= =?iso-8859-1?q?=F3n?= Message-ID: <1384353650.29380.80.camel@praxisviii.intranet.com> Buenas, quería invitar a los alumnos del curso pasado a asistir como oyentes a la clase de Normalización de Bases de Datos que se dictará el 14/11. Recuerdo que varios faltaron a esta clase y tal vez quieran darse una vuelta para ver y refrescar este tema. Saludos cordiales -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From analiaevarela en gmail.com Wed Nov 13 12:31:39 2013 From: analiaevarela en gmail.com (Analia Varela) Date: Wed, 13 Nov 2013 13:31:39 -0200 Subject: [Php-avanzado] Consulta tesina In-Reply-To: <1384353559.29380.78.camel@praxisviii.intranet.com> References: <1384353559.29380.78.camel@praxisviii.intranet.com> Message-ID: Hola Leo, Sí, por eso te preguntaba, porque recordaba que tenias la clase de normalización. Pero si vos no tenes problema, prefiero ir después de las 20hs, y probar el sistema, así si llego a tener algún inconveniente no pierdo un día más. Y si todo funciona, te espero hasta que la clase finalice. Saludos y gracias!!! Analía El 13 de noviembre de 2013 11:39, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Hola Analía, > > mañana tenemos la clase de Normalización... y viste que esta clase > es > un poco larga. > > Si querés ir, te sugiero hacerlo a partir de las 20hs, pero con > posibilidad de que recién pueda ver las cosas contigo cerca de las 22hs. > Yo no tengo problema en quedarme un rato: con la aplicación instalada, > me hacés una visita guiada, te pregunto algunas cosas para entender cómo > funciona, y ya está entregada. > > Si no lo dejamos para el jueves 21/11 o el jueves 05/12 (el 28/11 > no > tenemos clase. > > Vos dirás cómo preferís! > > > El mié, 13-11-2013 a las 12:32 -0200, Analia Varela escribió: > > Hola Leo, > > > > Buenos días! > > Podría pasar mañana por el curso?. Solucioné algunas cuestiones que me > > dí cuenta el otro día y agregue la parte que me faltaba. Mí idea sería > > instalarlo y si esta todo todo ok, te lo entrego. > > > > > > Saludos!!, > > Analía > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 13 12:40:37 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 13 Nov 2013 12:40:37 -0300 Subject: [Php-avanzado] Consulta tesina In-Reply-To: References: <1384353559.29380.78.camel@praxisviii.intranet.com> Message-ID: <1384357237.29380.84.camel@praxisviii.intranet.com> Nos vemos mañana! El mié, 13-11-2013 a las 13:31 -0200, Analia Varela escribió: > Hola Leo, > > Sí, por eso te preguntaba, porque recordaba que tenias la clase de > normalización. > Pero si vos no tenes problema, prefiero ir después de las 20hs, y > probar el sistema, así si llego a tener algún inconveniente no pierdo > un día más. Y si todo funciona, te espero hasta que la clase finalice. > > > Saludos y gracias!!! > Analía > > > El 13 de noviembre de 2013 11:39, Leonardo Tadei - Pegasus Tech Supply > escribió: > Hola Analía, > > mañana tenemos la clase de Normalización... y viste > que esta clase es > un poco larga. > > Si querés ir, te sugiero hacerlo a partir de las 20hs, > pero con > posibilidad de que recién pueda ver las cosas contigo cerca de > las 22hs. > Yo no tengo problema en quedarme un rato: con la aplicación > instalada, > me hacés una visita guiada, te pregunto algunas cosas para > entender cómo > funciona, y ya está entregada. > > Si no lo dejamos para el jueves 21/11 o el jueves > 05/12 (el 28/11 no > tenemos clase. > > Vos dirás cómo preferís! > > > El mié, 13-11-2013 a las 12:32 -0200, Analia Varela escribió: > > Hola Leo, > > > > Buenos días! > > Podría pasar mañana por el curso?. Solucioné algunas > cuestiones que me > > dí cuenta el otro día y agregue la parte que me faltaba. Mí > idea sería > > instalarlo y si esta todo todo ok, te lo entrego. > > > > > > Saludos!!, > > Analía > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: > http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From fpborsani en yahoo.com.ar Thu Nov 14 23:37:44 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Thu, 14 Nov 2013 23:37:44 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?Ejercicios_de_Normalizaci=F3n?= Message-ID: <000001cee1ab$ac467940$04d36bc0$@yahoo.com.ar> Victoria: estos son los ejercicios que subió Tadei hoy. ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: ejercicios.txt URL: From ferudine en sion.com Mon Nov 18 09:36:59 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 18 Nov 2013 09:36:59 -0300 Subject: [Php-avanzado] Consulta Message-ID: <20131118123643.C9CDA48167@relay2.capfed1.sinectis.com.ar> Buenos dias Leo Una consulta porque utilizando ajax la varaiable $_FILES no pasa los contenidos de que manera se puede utilizar esta variable en una llamada ajax Saldudoss ¡ From leonardot en pegasusnet.com.ar Mon Nov 18 13:23:24 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Mon, 18 Nov 2013 13:23:24 -0300 Subject: [Php-avanzado] Consulta In-Reply-To: <20131118123643.C9CDA48167@relay2.capfed1.sinectis.com.ar> References: <20131118123643.C9CDA48167@relay2.capfed1.sinectis.com.ar> Message-ID: <1384791804.4255.82.camel@praxisviii.intranet.com> Hola Daniel, Me desorientás un poco, porque AJAX es algo de JavaScript, y en JavaScript no existen ni $_FILES, ni $_GET ni $_POST ! Si lo que estás queriendo hacer es enviar archivos vía AJAX, mirate esos enlaces (no están en orden de importancia): http://stackoverflow.com/questions/166221/how-can-i-upload-files-asynchronously-with-jquery http://blueimp.github.io/jQuery-File-Upload/ http://www.scriptiny.com/2013/02/simple-file-upload-using-ajax/ PD: el exceso e AJAX es perjudicial para la salud. El lun, 18-11-2013 a las 09:36 -0300, Daniel Billia escribió: > Buenos dias Leo > Una consulta porque utilizando ajax la varaiable > $_FILES no pasa los contenidos de que manera se > puede utilizar esta variable en una llamada ajax Saldudoss ¡ -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Mon Nov 18 17:25:35 2013 From: ferudine en sion.com (Daniel Billia) Date: Mon, 18 Nov 2013 17:25:35 -0300 Subject: [Php-avanzado] Consulta Message-ID: <20131118202517.473E748173@arise.capfed1.sinectis.com.ar> Que tal Leo si te plantee la pregunta mal es que cunado cargo el articulo utilice ajax y ahora le incluí la foto realizo la llamada ajax para la carga de los datos que estan en PHP, ya estoy viendo lo que me mandaste Saludos… From lizondomaximiliano en gmail.com Mon Nov 18 20:02:35 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Mon, 18 Nov 2013 21:02:35 -0200 Subject: [Php-avanzado] Fwd: SRS tienda virtual In-Reply-To: <1382025758.4697.57.camel@praxisviii.intranet.com> References: <1381181790.8340.275.camel@praxisviii.intranet.com> <1381191962.8340.281.camel@praxisviii.intranet.com> <1381338616.8340.398.camel@praxisviii.intranet.com> <1381957524.4697.15.camel@praxisviii.intranet.com> <1382025758.4697.57.camel@praxisviii.intranet.com> Message-ID: Leo, hice las correcciones que hablamos en su momento. Decime por favor si están correctas. Ahora que lo veo, no me cierra mucho lo de "Listas de precios de productos". Es decir, ¿no sería más sencillo agregar los atributos de "Listas...." a "Productos"? y entonces, los productos tendrían dos precios: uno para los clientes de tipo particular y otro para los clientes de tipo revendedor. Luego, cuando el cliente arme su pedido el sistema le mostraría los precios de productos correspondientes a su tipo de cliente. RESUMEN: La aplicación consiste en una tienda virtual. Dicha aplicación podrá dar de alta, baja, modificar y presentar en pantalla a proveedores, productos y clientes con sus respectivos atributos. El cliente podrá registrarse y obtener una cuenta personal. Además, podrá seleccionar productos y agregarlos a su lista de compras. Es importante señalar que la aplicación utilizará una de dos posibles listas de precios de productos, dependiendo del tipo de cliente (cliente tipo particular o cliente tipo revendedor). Dicha información es solicitada por la aplicación al momento de registrarse el cliente. Cuando el cliente finalice la selección de productos y método de envío, la aplicación presentará en pantalla el precio total del pedido. Teniendo en cuenta los datos personales del cliente, la aplicación podrá calcular el precio de envío al lugar de residencia del cliente. A continuación, la aplicación enviará la información detallada del pedido a una casilla de correo electrónico. REQUERIMIENTOS FUNCIONALES: 1- El sistema debe gestionar países. 2- El sistema debe gestionar provincias con su país[1]. 3- El sistema debe gestionar localidades con su provincia[2]. 4- El sistema debe gestionar proveedores con su país[1], provincia[2] y localidad[3]. 5- El sistema debe gestionar formatos de productos. 6- El sistema debe gestionar productos con sus proveedores[4] y formatos de productos[5]. 7- El sistema debe gestionar tipos de documento. 8- El sistema debe gestionar tipos de clientes. 9- El sistema debe gestionar clientes con su país[1], provincia[2], localidad[3], tipo de documento[7] y tipo de cliente[8]. 10- El sistema debe gestionar tipos de moneda. 11- El sistema debe gestionar listas de precios de productos con sus productos[6], tipos de moneda[10] y tipo de cliente[8]. 12- El sistema debe gestionar tipos de envío con su país[1], provincia[2], localidad[3]. 13- El sistema debe gestionar estados de pedidos. 14- El sistema debe registrar pedidos con sus clientes[9], productos[6], tipo de envío[12] y estados de pedidos[13]. 15- El sistema debe enviar los pedidos[14] a una casilla de correo electrónico. DICCIONARIO: Países: nombre de país Provincias: nombre de provincia, país Localidades: nombre de localidad, país, provincia, código postal Proveedores: razón Social, país, provincia, localidad, dirección, email, página web, teléfono (Se considera proveedores a sellos discográficos y comerciantes, que son gestionados por el sistema UNICAMENTE a través de un usuario administrador) Tipos de documento: país, DNI/CI/LE/LC Tipos de envío: país, provincia, localidad, correo argentino/correo privado/encomienda por ómnibus, precio de envío Clientes: nombre de cliente, tipo de cliente, tipo de documento, número de documento, país, provincia, localidad, dirección, email. (Se considera cliente a cualquier individuo que accede al sistema para registrarse en el mismo) Tipos de clientes: particular/revendedor Tipos de moneda: nombre de moneda, país Productos: nombre de producto, código de identificación, proveedor, formato de producto Listas de precios de productos: productos, tipos de moneda, precio de producto, tipo de cliente Formatos de productos: nombre de formato, CD/TAPE/VINYL Estados de pedidos: aceptado/cancelado Pedidos: fecha de emisión, clientes, productos, tipo de envío, precio total del pedido, estado de pedido El 17 de octubre de 2013 13:02, Leonardo Tadei - Pegasus Tech Supply < leonardot en pegasusnet.com.ar> escribió: > Hola Maximiliano, > > El jue, 17-10-2013 a las 12:38 -0300, Maximiliano Lizondo escribió: > > Leo, paso a aclarar las dudas: > > > > > > *Si, la idea es que el administrador del site pueda tener su interfaz > > administrativa y pueda dar de alta, baja, modificar y listar a los > > distribuidores (es importante poder hacer esto, así se puede mantener > > actualizada la tabla correspondiente y de esa manera el "cliente" > > puede ver los productos con la info actualizada). Por otro lado, los > > "clientes" (definidos según el diccionario: cualquiera que se registre > > en el site) tendrán su interfaz pública para registrarse y tener su > > cuenta personal para realizar pedidos, etc. > > > Ok. Por tu redacción, parecía que el propio Distribuidor iba a > entrar a > cargar sus datos. > La parte en la introducción que aclara "ambos únicamente través del > administrador de la aplicación" es la parte confusa... no es relevante > para la funcionalidad quién puede hacer una cosa y quién no. > > > *A ver si puedo explicarme bien con esto, porque es más sencillo de lo > > que parece: quiero que cuando el administrador de el alta un > > distribuidor, sea necesario ingresar todos los atributos que puse en > > "Distribuidores" en el diccionario (razon social, país, etc.). Ahora, > > cuando un "Cliente" (de nuevo, cualquiera que se registre en el site) > > se registre quiero que sea necesario ingresar en algún campo "Tipo de > > cliente" (con uno de dos valores: particular o distribuidor). Esto > > servirá más que nada para saber qué lista de precios le corresponde > > ok? con lo cual, "Tipo de Cliente" es un mero atributo de la "Lista de > > precios de productos". En definitiva, uno tiene que ver con la > > interfaz administrativa ("Distribuidores") y la otra con la interfaz > > pública ("Tipo de Cliente"). > > Es sencillo, pero si usás la misma palabra para referirte a dos > cosas > distintas, jamás podremos hablar de esto sin aclararlo o sin que se > presente la duda. > Cambiá una de las dos palabras. En el mensaje anterior te sugiero > alguno sinónimos razonables. > > > Por último, voy a definir "Pedidos" en el diccionario así es más > > sencillo la última parte de los requerimientos. En ese caso, ¿sería > > correcto definir el requerimiento como "El sistema debe gestionar > > pedidos con su..."? > > Generalmente los pedidos no se gestionan, sino que solo se > registran, > para no alterar lo que ya pasó. > Lo único que implica esto es poder marcar un pedido como > "cancelado", > con lo que aparece el término "estados de pedidos". > > > Saludos y gracias! > > Por nada! > > > > El 16 de octubre de 2013 18:05, Leonardo Tadei - Pegasus Tech Supply > > escribió: > > Hola Maximiliano, > > > > El mar, 15-10-2013 a las 16:12 -0300, Maximiliano Lizondo > > escribió: > > > Leo, hice algunas modificaciones de los requerimientos > > teniendo en > > > cuenta las indicaciones que me hiciste de la versión > > anterior. Traté > > > de explicar lo mejor posible el funcionamiento de la > > aplicación en el > > > resumen y a través del diccionario debería quedar más claro > > todo. > > > > > > Genial. > > Te hago comentarios o consultas intercalados: > > > > > > > RESUMEN: > > > -------- > > > > > > > > > La aplicación consiste en una tienda virtual. > > > Dicha aplicación podrá dar de alta, baja, modificar y > > presentar en > > > pantalla a distribuidores, productos (ambos únicamente > > través del > > > administrador de la aplicación) y clientes con sus > > respectivos > > > atributos. > > > > > > Esto quiere decir que los distribuidores tienen una > > interfaz > > administrativa, y que los clientes tienen una interfaz pública > > distinta? > > > > > El cliente podrá registrarse y obtener una cuenta personal. > > Además, > > > podrá seleccionar productos y agregarlos a su lista de > > compras. > > > Es importante señalar que la aplicación utilizará una de dos > > posibles > > > listas de precios de productos, dependiendo del tipo de > > cliente > > > (particular o distribuidor). > > > > > > Un "cliente de tipo distribuidor" es lo que en el > > primer párrafo llamás > > "distribuidor" ? > > > > > Dicha información es solicitada por la aplicación al > > momento de > > > registrarse el cliente. > > > Cuando el cliente finalice la selección de productos y > > método de > > > envío, la aplicación presentará en pantalla el precio total > > > del pedido. Teniendo en cuenta los datos personales del > > cliente, la > > > aplicación podrá generar el precio de envío al lugar de > > residencia del > > > cliente. > > > A continuación, la aplicación enviará la información > > detallada del > > > pedido a un casilla de correo electrónico. > > > > > > > > > > > > > > > REQUERIMIENTOS FUNCIONALES: > > > --------------------------- > > > > > > > > > 1- El sistema debe gestionar países. > > > 2- El sistema debe gestionar provincias con su país[1]. > > > 3- El sistema debe gestionar localidades con su > > provincia[2]. > > > > > > Te falta "y con su país[1]". > > Los requerimientos deben ser explícitos y no asumir > > que porque la > > provincia tiene país, entonces la localidad lo va a tener > > porque tiene > > provincia. > > > > > 4- El sistema debe gestionar distribuidores con su país[1], > > > provincia[2] y localidad[3]. > > > > > > > > > 5- El sistema debe gestionar formatos de producto. > > > 6- El sistema debe gestionar productos con sus > > distribuidores[4] y > > > formato de producto[5]. > > > > > > En el diccionario tenés distribuidor en singular y acá > > en plural. > > Si tiene solo uno, ponelo en singular en ambos lugares > > y si puede tener > > más de uno, ponelo en plural. > > > > > 7- El sistema debe gestionar tipos de documento. > > > > > > Según el diccionario, te falta el "con su país". > > > > > 8- El sistema debe gestionar tipos de cliente. > > > 9- El sistema debe gestionar clientes con su país[1], > > provincia[2], > > > localidad[3], tipo de documento[7] y tipo de cliente[8]. > > > > > > > > > 10- El sistema debe gestionar tipos de moneda. > > > > > > Según el diccionario, te falta el "con su país". > > > > > 11- El sistema debe gestionar listas de precios de productos > > con sus > > > productos[6], tipos de moneda[10] y tipo de cliente[8]. > > > 12- El sistema debe gestionar tipos de envío con su país[1], > > > provincia[2], localidad[3]. > > > > > > > > > 13- El sistema debe registrar los productos[6] seleccionados > > por cada > > > cliente[9], según la lista de precios de productos[11] > > correspondiente > > > a dicho cliente. > > > > > > Un detalle: debería decir "lista de precios de > > productos[11] > > correspondiente a dicho tipo de cliente." > > > > Especificás que los que tienen lista de precios son > > los Tipos de > > Clientes, y no los Clientes como decís acá. > > > > Te falta poner el diccionario de esto, que estás > > omitiendo nombrar, > > pero que tranquilamente podría llamarse "pedido". > > Poner solo "registrar productos" parece una > > contradicción con el RF6 > > > > > 14- El sistema debe registrar el tipo de envío[12] > > seleccionado por > > > cada cliente[9] según su país[1], provincia[2] y > > localidad[3]. > > > > > > Idem anterior. > > > > > 15- El sistema debe enviar la información relativa a los > > productos > > > seleccionados por cada cliente[13] y al tipo de envío > > seleccionado por > > > cada cliente[14], a una casilla de correo electrónico. > > > > > > Idem anterior. > > Podría ser algo como "El sistema debe enviar el > > Pedido..." > > > > > > > > > > > > > > DICCIONARIO: > > > ------------ > > > > > > > > > País: nombre de país > > > > > > > > > Provincia: nombre de provincia, país > > > > > > > > > Localidad: nombre de localidad, país, provincia, código > > postal > > > > > > > > > Distribuidor: razón Social, país, provincia, localidad, > > dirección, > > > dirección de email, página web, teléfono > > > (Se considera distribuidores a sellos discográficos y > > comerciantes, > > > que son gestionados por el sistema UNICAMENTE a través de un > > usuario > > > administrador) > > > > > > > > > Tipo de documento: país, DNI/CI/LE/LC > > > > > > > > > Tipo de envío: país, provincia, localidad, correo > > argentino/correo > > > privado/encomienda por ómnibus, precio de envío > > > > > > > > > Cliente: nombre de cliente, tipo de cliente, tipo de > > documento, número > > > de documento, país, provincia, localidad, dirección. > > > (Se considera cliente a cualquier individuo que accede al > > sistema para > > > registrarse en el mismo) > > > > > > > > > Tipo de cliente: particular/distribuidor > > > > > > > > > Tipo de moneda: nombre de moneda, país > > > > > > > > > Producto: nombre de producto, código de indentificación, > > distribuidor, > > > formato de producto > > > > > > > > > Lista de precios de productos: producto, tipo de moneda, > > precio de > > > producto, tipo de cliente > > > > > > > > > Formato de producto: nombre de formato, CD/TAPE/VINYL > > > > > > > > Muy buenas las mejoras en el diccionario. > > > > Perdoname que no termine de estender esto de que hay > > "distribuidores" y > > "clientes de tipo distribuidores"... sería bueno si a alguno > > de los dos > > se le pudiera cambiar el nombre. > > > > Distribuidores: proveedores, sellos discográficos, mayorista, > > etc. > > > > Clientes de tipo distribuidores: revendedores, > > redistribuidores, > > mayorista, etc. > > > > Saludos! > > > > -- > > Leonardo Tadei > > leonardot en pegasusnet.com.ar > > Web: http://leonardo.tadei.com.ar > > Firma pública: > > http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > > > > > > > > > > -- > > Ing. Maximiliano Andrés Lizondo > > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) > > * Perfil profesional en > > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3% > > A9s-lizondo/61/906/344 > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Tue Nov 19 00:50:46 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 19 Nov 2013 00:50:46 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?L=EDneas_de_c=F3digo?= Message-ID: <1384833046.4255.145.camel@praxisviii.intranet.com> Hablábamos el otro día sobre la cantidad de líneas de código del software y su relación (no determinista) de la cantidad de funcionalidades. http://www.genbetadev.com/actualidad/que-software-tiene-mas-lineas-de-codigo-infografia -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Tue Nov 19 12:06:14 2013 From: ferudine en sion.com (Daniel Billia) Date: Tue, 19 Nov 2013 12:06:14 -0300 Subject: [Php-avanzado] Consulta ajax Message-ID: <20131119150554.C39054831A@arise.capfed1.sinectis.com.ar> Buenos días Leo no tendrías otros ejemplos que no utilicen JQUERY estuve buscando directamente por xmlhttprequest este es uno de lo tantos ejemplos pero no funciona : var xmlHttp=new XMLHttpRequest(); xmlHttp.open("POST", domain, true); xmlHttp.setRequestHeader("Content-type","multipart/form-data") si tenes algún link para poder ver te agradecería Saludosss ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Tue Nov 19 15:04:50 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 19 Nov 2013 16:04:50 -0200 Subject: [Php-avanzado] duda enunciados ejercicios objetos Message-ID: Buenas, no me queda claro el enunciado del ejercicio 2 de objetos: *¿se puede poner un parámetro cuando se llama una nueva instancia de la clase Validador? lo digo por el "new Validador($var)". *¿la idea es no pasarle ningún parámetro a ningún método? porque el método noVacio() no recibe parámetro alguno pero los otros métodos reciben "$var"... 1) Construya una clase Validador que tenga como atributo un valor, y este pueda ser validado para no estar vacío, tener al menos x caracteres, tener un e-mail válido, ser un número entre Min y Max. Todos los métodos devuelven verdadero o falso. Ejemplo de uso: $v = new Validador(); $res = $v->noVacio($var); $res = $v->MasDe(4, $var); $res = $v->eMail($var); $res = $v->MinMax(1,10,$var); 2) Idem anterior, pero usando atributos privados para que las llamadas a los métodos no requieran parámetros. $v = new Validador($var); ... $res = $v->noVacio(); $res = $v->MasDe($var); $res = $v->eMail($var); $res = $v->MinMax($var); -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Tue Nov 19 19:30:35 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 19 Nov 2013 20:30:35 -0200 Subject: [Php-avanzado] =?iso-8859-1?q?ejercicio_normalizaci=F3n?= Message-ID: Alguien llegó a las mismas tablas en este ejercicio? 1) Crear las tablas necesarias en tercera forma normal para guardar los siguientes datos: Nombre, Apellido, Fecha de Nacimiento, Dirección, Teléono, e-mail, Ciudad, Código Postal, Provincia, País, Consulta Realizada (pregunta), Respuesta a la Consulta, Estado de la Consulta (Pendiente, Respondida, Descartada) *Clientes:* id_cliente (clave) nombre_cliente apellido fecha de nacimiento dirección teléfono e-mail id_pais id_provincia *Paises:* id_pais nombre_pais *Provincias:* id_provincia nombre_provincia id_país *Ciudades:* id_ciudad código postal nombre_provincia id_país id_provincia *Consultas: * id_consulta consulta realizada respuesta a la consulta estado de la consulta id_cliente -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Tue Nov 19 19:34:55 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Tue, 19 Nov 2013 20:34:55 -0200 Subject: [Php-avanzado] =?iso-8859-1?q?ejercicio_normalizaci=F3n?= In-Reply-To: References: Message-ID: Ah, me faltó poner el "id_ciudad" en la tabla *Clientes*... El 19 de noviembre de 2013 19:30, Maximiliano Lizondo < lizondomaximiliano en gmail.com> escribió: > Alguien llegó a las mismas tablas en este ejercicio? > > 1) Crear las tablas necesarias en tercera forma normal para guardar los > siguientes datos: > Nombre, Apellido, Fecha de Nacimiento, Dirección, Teléono, e-mail, Ciudad, > Código Postal, Provincia, País, Consulta Realizada (pregunta), > Respuesta a la Consulta, Estado de la Consulta (Pendiente, Respondida, > Descartada) > > *Clientes:* > id_cliente (clave) > nombre_cliente > apellido > fecha de nacimiento > dirección > teléfono > e-mail > id_pais > id_provincia > > *Paises:* > id_pais > nombre_pais > > *Provincias:* > id_provincia > nombre_provincia > id_país > > *Ciudades:* > id_ciudad > código postal > nombre_provincia > id_país > id_provincia > > *Consultas: * > id_consulta > consulta realizada > respuesta a la consulta > estado de la consulta > id_cliente > > -- > *Ing. Maximiliano Andrés Lizondo* > > - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) > - *Perfil profesional en LinkedIn: * > http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 > > -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Tue Nov 19 19:40:31 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 19 Nov 2013 19:40:31 -0300 Subject: [Php-avanzado] Consulta ajax In-Reply-To: <20131119150554.C39054831A@arise.capfed1.sinectis.com.ar> References: <20131119150554.C39054831A@arise.capfed1.sinectis.com.ar> Message-ID: <1384900831.4255.170.camel@praxisviii.intranet.com> Hola Daniel, no recuerdo haber visto ejemplos de subidas de archivos escritos en JavaScript Vanilla... el problema es que tenés que armar la secuencia del archivo a subir de alguna manera y posiblemente codificarlo en MIME para el envío... no es algo trivial. En cualquier caso, es una complicación innecesaria ya que se puede hacer todo perfectamente por POST, sin usar AJAX. Por acá hay 2 o 3 que saben mucho de JavaScript y tal vez puedan darnos una mano... El mar, 19-11-2013 a las 12:06 -0300, Daniel Billia escribió: > Buenos días Leo no tendrías otros ejemplos que no utilicen JQUERY > estuve buscando directamente por xmlhttprequest > > este es uno de lo tantos ejemplos pero no funciona : > var xmlHttp=new XMLHttpRequest(); > xmlHttp.open("POST", domain, true); > xmlHttp.setRequestHeader("Content-type","multipart/form-data") > si tenes algún link para poder ver te agradecería Saludosss > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From ferudine en sion.com Tue Nov 19 20:07:15 2013 From: ferudine en sion.com (Daniel Billia) Date: Tue, 19 Nov 2013 20:07:15 -0300 Subject: [Php-avanzado] consulta Message-ID: <20131119230659.462C6481C8@relay2.capfed1.sinectis.com.ar> Hola Leo lo único que lo quería hacer en ajax ya que esta echa la rutina en ese formato pero si es complicado cambiamos el formato Saludos From leonardot en pegasusnet.com.ar Tue Nov 19 23:42:21 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Tue, 19 Nov 2013 23:42:21 -0300 Subject: [Php-avanzado] consulta In-Reply-To: <20131119230659.462C6481C8@relay2.capfed1.sinectis.com.ar> References: <20131119230659.462C6481C8@relay2.capfed1.sinectis.com.ar> Message-ID: <1384915341.4255.175.camel@praxisviii.intranet.com> Hola Daniel, El mar, 19-11-2013 a las 20:07 -0300, Daniel Billia escribió: > Hola Leo lo único que lo quería hacer en ajax ya > que esta echa la rutina en ese formato pero si es > complicado cambiamos el formato Tendrías que evaluar vos, respecto a tu código,qué cosa es más complicada. Te envío unos enlaces que encontré que no usan bibliotecas pqra que los estudios. No mezcles las formas de trabajar http://www.desarrolloweb.com/articulos/ajax-file-upload.html https://developer.tizen.org/help/index.jsp?topic=% 2Forg.tizen.web.appprogramming%2Fhtml%2Ftutorials%2Fw3c_tutorial% 2Fcomm_tutorial%2Fupload_ajax.htm http://geeks.ms/blogs/etomas/archive/2012/12/12/html5-apis-upload-de-ficheros-con-ajax-file-api-y-progress-api.aspx > Saludos =mente -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From matigea en gmail.com Wed Nov 20 00:31:31 2013 From: matigea en gmail.com (Matias Gea) Date: Wed, 20 Nov 2013 01:31:31 -0200 Subject: [Php-avanzado] consulta In-Reply-To: <1384915341.4255.175.camel@praxisviii.intranet.com> References: <20131119230659.462C6481C8@relay2.capfed1.sinectis.com.ar> <1384915341.4255.175.camel@praxisviii.intranet.com> Message-ID: Hola, Daniel. Hoy en día, subir archivos desde Javascript al server es relativamente simple... Si el navegador lo soporta. Para subir un archivo tenés que soportar dos cosas, primero el File API, para poder leer el contenido del archivo a enviar, y luego FormData, que son un conjunto de utilidades para crear la estructura de un formulario, pero de manera programática, sin tener que poner los controles html. El ejemplo corto y conciso lo ves en la uri que te pasó Leo ( http://geeks.ms/blogs/etomas/archive/2012/12/12/html5-apis-upload-de-ficheros-con-ajax-file-api-y-progress-api.aspx), lo modifiqué un poco y comenté: function subirFichero(file) { /* se instancia el objeto xhr, este es el que hace el envío */ var xhr = new XMLHttpRequest(); /* se instancia el objeto FormData, que es el que prepara los datos para enviar */ var formData = new FormData(); /* acá se agrega el archivo, va a llegar en $_FILES['archivo'] */ formData.append("archivo", file); /* acá agregás más datos al envio */ formData.append("accion", 'guardar'); formData.append("id_item", 45); /* añadimos eventos para manejar el error y el éxito del envio */ xhr.addEventListener("error", function(e) { alert("Error subiendo el archivo."); }, false); xhr.addEventListener("load", function(e) { alert("fichero subido: " + e.target.status + "->" + e.target.statusText); }); /* seteamos parametros de conexión y enviamos, esto es igual que el ajax */ xhr.open('POST', '@Url.Action("Index")', true); xhr.send(formData); } Podés también agregar un escucha al evento "progress" para seguir el progreso de la subida (cuantos bytes lleva subido el navegador). Si tu navegador no soporta FileAPI o FormData, no podés subir por AJAX, tenés que encontrar otra forma. Uno de los métodos más usados es tener un iframe oculto en la página y que el target del formulario sea ese iframe. Una vez que se haya enviado el archivo y que el server responda (recordá que la respuesta queda en el iframe), la respuesta trae una instrucción javascript, que ejecuta una funcion de "exito" en el parent, por ejemplo: Este método es algo más sucio, pero efectivo. Si quisieras observar el progreso, el server php debe tener instalada la extensión APC o algún otro progress watcher (si querés más detalles, avisame). Otra forma es utilizando un uploader en flash, pero tiene muchas desventajas, principalmente, que usa flash. Si tu uploader va a ser para un administrador o sistema privado (donde podés poner requerimientos de software), o si no te importa no soportar navegadores viejos e IE, te recomiendo el método HTML5 (FileApi, FormData, XMLHttpRequest). Cualquier cosa, pregunta. Saludos! 2013/11/19 Leonardo Tadei - Pegasus Tech Supply > Hola Daniel, > > > El mar, 19-11-2013 a las 20:07 -0300, Daniel Billia escribió: > > Hola Leo lo único que lo quería hacer en ajax ya > > que esta echa la rutina en ese formato pero si es > > complicado cambiamos el formato > > > Tendrías que evaluar vos, respecto a tu código,qué cosa es más > complicada. > Te envío unos enlaces que encontré que no usan bibliotecas pqra > que los > estudios. > No mezcles las formas de trabajar > > http://www.desarrolloweb.com/articulos/ajax-file-upload.html > > https://developer.tizen.org/help/index.jsp?topic=% > 2Forg.tizen.web.appprogramming%2Fhtml%2Ftutorials%2Fw3c_tutorial% > 2Fcomm_tutorial%2Fupload_ajax.htm > > > http://geeks.ms/blogs/etomas/archive/2012/12/12/html5-apis-upload-de-ficheros-con-ajax-file-api-y-progress-api.aspx > > > Saludos > > =mente > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Matias Fernando Gea matigea en gmail.com http://www.mfgea.com.ar ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From matigea en gmail.com Wed Nov 20 00:34:14 2013 From: matigea en gmail.com (Matias Gea) Date: Wed, 20 Nov 2013 01:34:14 -0200 Subject: [Php-avanzado] consulta In-Reply-To: References: <20131119230659.462C6481C8@relay2.capfed1.sinectis.com.ar> <1384915341.4255.175.camel@praxisviii.intranet.com> Message-ID: Me olvidaba, para ver compatibilidad de funcionalidades, buscá FileApi y FormData en http://caniuse.com. Saludos! El 20 de noviembre de 2013 00:31, Matias Gea escribió: > Hola, Daniel. > > Hoy en día, subir archivos desde Javascript al server es relativamente > simple... Si el navegador lo soporta. > > Para subir un archivo tenés que soportar dos cosas, primero el File API, > para poder leer el contenido del archivo a enviar, y luego FormData, que > son un conjunto de utilidades para crear la estructura de un formulario, > pero de manera programática, sin tener que poner los controles html. > > El ejemplo corto y conciso lo ves en la uri que te pasó Leo ( > http://geeks.ms/blogs/etomas/archive/2012/12/12/html5-apis-upload-de-ficheros-con-ajax-file-api-y-progress-api.aspx), > lo modifiqué un poco y comenté: > > function subirFichero(file) { > /* se instancia el objeto xhr, este es el que hace el envío */ > var xhr = new XMLHttpRequest(); > > /* se instancia el objeto FormData, que es el que prepara los datos para > enviar */ > var formData = new FormData(); > > /* acá se agrega el archivo, va a llegar en $_FILES['archivo'] */ > formData.append("archivo", file); > > /* acá agregás más datos al envio */ > formData.append("accion", 'guardar'); > formData.append("id_item", 45); > > /* añadimos eventos para manejar el error y el éxito del envio */ > xhr.addEventListener("error", function(e) { > alert("Error subiendo el archivo."); > }, false); > > xhr.addEventListener("load", function(e) { > alert("fichero subido: " + e.target.status + "->" + e.target.statusText); > }); > > /* seteamos parametros de conexión y enviamos, esto es igual que el ajax */ > xhr.open('POST', '@Url.Action("Index")', true); > xhr.send(formData); > } > > Podés también agregar un escucha al evento "progress" para seguir el > progreso de la subida (cuantos bytes lleva subido el navegador). > > Si tu navegador no soporta FileAPI o FormData, no podés subir por AJAX, > tenés que encontrar otra forma. Uno de los métodos más usados es tener un > iframe oculto en la página y que el target del formulario sea ese iframe. > Una vez que se haya enviado el archivo y que el server responda (recordá > que la respuesta queda en el iframe), la respuesta trae una instrucción > javascript, que ejecuta una funcion de "exito" en el parent, por ejemplo: > > > > Este método es algo más sucio, pero efectivo. Si quisieras observar el > progreso, el server php debe tener instalada la extensión APC o algún otro > progress watcher (si querés más detalles, avisame). > > Otra forma es utilizando un uploader en flash, pero tiene muchas > desventajas, principalmente, que usa flash. > > Si tu uploader va a ser para un administrador o sistema privado (donde > podés poner requerimientos de software), o si no te importa no soportar > navegadores viejos e IE, te recomiendo el método HTML5 (FileApi, FormData, > XMLHttpRequest). > > Cualquier cosa, pregunta. > > Saludos! > > > 2013/11/19 Leonardo Tadei - Pegasus Tech Supply < > leonardot en pegasusnet.com.ar> > >> Hola Daniel, >> >> >> El mar, 19-11-2013 a las 20:07 -0300, Daniel Billia escribió: >> > Hola Leo lo único que lo quería hacer en ajax ya >> > que esta echa la rutina en ese formato pero si es >> > complicado cambiamos el formato >> >> >> Tendrías que evaluar vos, respecto a tu código,qué cosa es más >> complicada. >> Te envío unos enlaces que encontré que no usan bibliotecas pqra >> que los >> estudios. >> No mezcles las formas de trabajar >> >> http://www.desarrolloweb.com/articulos/ajax-file-upload.html >> >> https://developer.tizen.org/help/index.jsp?topic=% >> 2Forg.tizen.web.appprogramming%2Fhtml%2Ftutorials%2Fw3c_tutorial% >> 2Fcomm_tutorial%2Fupload_ajax.htm >> >> >> http://geeks.ms/blogs/etomas/archive/2012/12/12/html5-apis-upload-de-ficheros-con-ajax-file-api-y-progress-api.aspx >> >> > Saludos >> >> =mente >> >> -- >> Leonardo Tadei >> leonardot en pegasusnet.com.ar >> Web: http://leonardo.tadei.com.ar >> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key >> >> _______________________________________________ >> Lista de correo: Php-avanzado >> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar >> Administración Web: >> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado >> Desubscripción: >> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe >> > > > > -- > Matias Fernando Gea > matigea en gmail.com > http://www.mfgea.com.ar > -- Matias Fernando Gea matigea en gmail.com http://www.mfgea.com.ar ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Wed Nov 20 12:01:42 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 20 Nov 2013 12:01:42 -0300 Subject: [Php-avanzado] =?iso-8859-1?q?ejercicio_normalizaci=F3n?= In-Reply-To: References: Message-ID: <1384959702.4255.201.camel@praxisviii.intranet.com> Hola Maximiliano, tengo varios mensajes tuyos pendientes de respuesta (es una de esas semanas) Veremos la normalización en clase el jueves. Mientras, te adelanto que tenés en Clientes dos campos que no dependen de la clave primaria, en Ciudades tenés tres campos que no dependen de la clave primaria y te falta una tabla. Seguimos! El mar, 19-11-2013 a las 20:34 -0200, Maximiliano Lizondo escribió: > Ah, me faltó poner el "id_ciudad" en la tabla Clientes... > > > El 19 de noviembre de 2013 19:30, Maximiliano Lizondo > escribió: > Alguien llegó a las mismas tablas en este ejercicio? > > > 1) Crear las tablas necesarias en tercera forma normal para > guardar los siguientes datos: > Nombre, Apellido, Fecha de Nacimiento, Dirección, Teléono, > e-mail, Ciudad, > Código Postal, Provincia, País, Consulta Realizada > (pregunta), > Respuesta a la Consulta, Estado de la Consulta (Pendiente, > Respondida, Descartada) > > > Clientes: > id_cliente (clave) > nombre_cliente > apellido > fecha de nacimiento > dirección > teléfono > e-mail > id_pais > id_provincia > > > Paises: > id_pais > nombre_pais > > > Provincias: > id_provincia > nombre_provincia > id_país > > > Ciudades: > id_ciudad > > código postal > nombre_provincia > id_país > id_provincia > > > Consultas: > > id_consulta > consulta realizada > respuesta a la consulta > estado de la consulta > id_cliente > > > -- > Ing. Maximiliano Andrés Lizondo > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 > (móvil) > * Perfil profesional en > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr% > C3%A9s-lizondo/61/906/344 > > > > > -- > Ing. Maximiliano Andrés Lizondo > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) > * Perfil profesional en > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3% > A9s-lizondo/61/906/344 > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Wed Nov 20 12:07:41 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 20 Nov 2013 12:07:41 -0300 Subject: [Php-avanzado] duda enunciados ejercicios objetos In-Reply-To: References: Message-ID: <1384960061.4255.205.camel@praxisviii.intranet.com> Hola Maximiliano, El mar, 19-11-2013 a las 16:04 -0200, Maximiliano Lizondo escribió: > Buenas, no me queda claro el enunciado del ejercicio 2 de objetos: > > > *¿se puede poner un parámetro cuando se llama una nueva instancia de > la clase Validador? lo digo por el "new Validador($var)". Sí, un constructor acepta recibir mensajes. En este caso el mensaje luego será usado para inicializar un valor llamando a otro método. > *¿la idea es no pasarle ningún parámetro a ningún método? porque el > método noVacio() no recibe parámetro alguno pero los otros métodos > reciben "$var"... No, la idea de la variante dos es pasar solo el valor a Validar, y no tener que pasarle los valores límite de la validación. En el caso de noVacío() no hay cambios, pero en el caso de MinMax() la versión dos recibe un solo mensaje y la versión uno necesita tres. Si llevás algo de código podemos ver variantes en clase. Saludos! > 1) Construya una clase Validador que tenga como atributo un valor, y > este pueda > > ser validado para no estar vacío, tener al menos x caracteres, tener > un e-mail > > válido, ser un número entre Min y Max. Todos los métodos devuelven > verdadero o falso. > > Ejemplo de uso: > > $v = new Validador(); > > $res = $v->noVacio($var); > > $res = $v->MasDe(4, $var); > > $res = $v->eMail($var); > > $res = $v->MinMax(1,10,$var); > > > > 2) Idem anterior, pero usando atributos privados para que las llamadas > a los métodos > > no requieran parámetros. > > $v = new Validador($var); > > ... > > $res = $v->noVacio(); > > $res = $v->MasDe($var); > > $res = $v->eMail($var); > > $res = $v->MinMax($var); > > > > -- > Ing. Maximiliano Andrés Lizondo > * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) > * Perfil profesional en > LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3% > A9s-lizondo/61/906/344 > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Wed Nov 20 12:29:52 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 20 Nov 2013 12:29:52 -0300 Subject: [Php-avanzado] Fwd: SRS tienda virtual In-Reply-To: References: <1381181790.8340.275.camel@praxisviii.intranet.com> <1381191962.8340.281.camel@praxisviii.intranet.com> <1381338616.8340.398.camel@praxisviii.intranet.com> <1381957524.4697.15.camel@praxisviii.intranet.com> <1382025758.4697.57.camel@praxisviii.intranet.com> Message-ID: <1384961392.4255.222.camel@praxisviii.intranet.com> Hola Maximiliano, El lun, 18-11-2013 a las 21:02 -0200, Maximiliano Lizondo escribió: > Leo, hice las correcciones que hablamos en su momento. Decime por > favor si están correctas. Te respondo intercalado. > Ahora que lo veo, no me cierra mucho lo de "Listas de precios de > productos". Es decir, ¿no sería más sencillo agregar los atributos de > "Listas...." a "Productos"? Tal vez es ligeramente más sencillo, pero estarías omitiendo especificar las listas de precios, que son algo que sí tenés en este problema: una lista de precios para los clientes de tipo particular y otra para los clientes revendedores. Esto sin contar con que si luego querés una tercer lista de precios, es inviable de implementar sin modificar el código (de lo que resulta que faltaba algo en la especificación) > y entonces, los productos tendrían dos precios: uno para los clientes > de tipo particular y otro para los clientes de tipo revendedor. Luego, > cuando el cliente arme su pedido el sistema le mostraría los precios > de productos correspondientes a su tipo de cliente. Esta parte es una discusión sobre cómo escribir el software, pero recordá que acá estás especificando qué software escribir, y no cómo escribirlo. > RESUMEN: > > La aplicación consiste en una tienda virtual. > > Dicha aplicación podrá dar de alta, baja, modificar y presentar en > pantalla a proveedores, productos y clientes con sus respectivos > atributos. > > El cliente podrá registrarse y obtener una cuenta personal. Además, > podrá seleccionar productos y agregarlos a su lista de compras. > > Es importante señalar que la aplicación utilizará una de dos posibles > listas de precios de productos, dependiendo del tipo de cliente > (cliente tipo particular o cliente tipo revendedor). Dicha información > es solicitada por la aplicación al momento de registrarse el cliente. > > Cuando el cliente finalice la selección de productos y método de > envío, la aplicación presentará en pantalla el precio total del > pedido. Teniendo en cuenta los datos personales del cliente, la > aplicación podrá calcular el precio de envío al lugar de residencia > del cliente. > > A continuación, la aplicación enviará la información detallada del > pedido a una casilla de correo electrónico. > > > > REQUERIMIENTOS FUNCIONALES: > > 1- El sistema debe gestionar países. > > 2- El sistema debe gestionar provincias con su país[1]. > > 3- El sistema debe gestionar localidades con su provincia[2]. Omití pedirte que al RF3 le agregues también la Provincia. Acá es como que la asumís por transitividad, pero en el RF4 y RF9 la explicitás, y entonces queda confuso. Igual, lo correcto es especificar todo. > 4- El sistema debe gestionar proveedores con su país[1], provincia[2] > y localidad[3]. > > 5- El sistema debe gestionar formatos de productos. > > 6- El sistema debe gestionar productos con sus proveedores[4] y > formatos de productos[5]. > > 7- El sistema debe gestionar tipos de documento. > > 8- El sistema debe gestionar tipos de clientes. > > 9- El sistema debe gestionar clientes con su país[1], provincia[2], > localidad[3], tipo de documento[7] y tipo de cliente[8]. > > 10- El sistema debe gestionar tipos de moneda. En el diccionario de Moneda aparece que tiene un país: agregale un "con su País[1]" acá así queda la referencia funcional. > 11- El sistema debe gestionar listas de precios de productos con sus > productos[6], tipos de moneda[10] y tipo de cliente[8]. El RF11 está bien, pero significa que un cliente va a poder tener una lista de precios que depende de su tipo únicamente, y no se podrá por ejemplo definir una lista de precios X para asignársela a un grupo de clientes porque se negoció un precio diferente o lo que fuera. Te insisto que está bien, pero es muy limitante. Si querés podemos ver mañana como generalizar un poco esto agregando dos pavadas. > 12- El sistema debe gestionar tipos de envío con su país[1], > provincia[2], localidad[3]. > > 13- El sistema debe gestionar estados de pedidos. > > 14- El sistema debe registrar pedidos con sus clientes[9], > productos[6], tipo de envío[12] y estados de pedidos[13]. Un Pedido puede ser enviado a más de un Cliente??? Un Pedido se puede cambiar de estado sin restricción alguna? Es decir, se pueden cancelar pedidos aceptados y reaceptar pedidos cancelados siempre? No hace falta algún estado más en la definición de Estados de Pedidos, como "entregado", "en proceso", "verificado", etc ? > 15- El sistema debe enviar los pedidos[14] a una casilla de correo > electrónico. > > > > DICCIONARIO: > > Países: nombre de país > > Provincias: nombre de provincia, país > > Localidades: nombre de localidad, país, provincia, código postal > > Proveedores: razón Social, país, provincia, localidad, dirección, > email, página web, teléfono > > (Se considera proveedores a sellos discográficos y comerciantes, que > son gestionados por el sistema UNICAMENTE a través de un usuario > administrador) > > Tipos de documento: país, DNI/CI/LE/LC > > Tipos de envío: país, provincia, localidad, correo argentino/correo > privado/encomienda por ómnibus, precio de envío > > Clientes: nombre de cliente, tipo de cliente, tipo de documento, > número de documento, país, provincia, localidad, dirección, email. > > (Se considera cliente a cualquier individuo que accede al sistema para > registrarse en el mismo) > > Tipos de clientes: particular/revendedor > > Tipos de moneda: nombre de moneda, país > > Productos: nombre de producto, código de identificación, proveedor, > formato de producto > > Listas de precios de productos: productos, tipos de moneda, precio de > producto, tipo de cliente > > Formatos de productos: nombre de formato, CD/TAPE/VINYL > > Estados de pedidos: aceptado/cancelado > > Pedidos: fecha de emisión, clientes, productos, tipo de envío, precio > total del pedido, estado de pedido Bueno Maximiliano, como ves son más que nada dudas que tengo por no conocer mucho del proyecto y cómo es la operatoria. Si querés el Jueves en clase le pegamos una revisión a la nueva versión, la ajustamos si hace falta y ya la vamos dejando terminada. Saludos! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From mozo_mdq en hotmail.com Fri Nov 22 19:07:08 2013 From: mozo_mdq en hotmail.com (Nicolas Mozo) Date: Fri, 22 Nov 2013 19:07:08 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD Message-ID: Hola leoo, como andas? Como te dije ayer, aca esta la SRS 1.0. Random Food. DATOS FUNCIONALES: 1) El sistema deberá gestionar información nutricional. 2) El sistema deberá gestionar regiones. 3) El sistema deberá administrar ofertas. 4) El sistema deberá administrar precios. 5) El sistema deberá gestionar usuarios. 6) El sistema deberá gestionar contraseñas. 7) El sistema deberá solicitar y gestionar características de los usuarios [5]; en el caso de ser un usuario a registrar se tomaran datos como, peso, edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee restricciones, vegetariano, deportista). 8) El sistema deberá gestionar alimentos, con sus respectivas ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos se podrá realizar con/sin tener un usuario registrado [5][6]. 9) EL sistema deberá poder realizar comidas de manera aleatoria extraídos de una base de datos en forma diaria (?RandomDay?) o planes más extensos, teniendo en cuenta las características de dicho usuario [5], y la región [2] (este dato es importante, para la elaboración de alimentos típicos de la región). 10) El sistema deberá elaborar recetas según la comida elegida u obtenida aleatoriamente [9]. Cada una de estas recetas poseerá ingredientes, procedimientos, tiempo de cocción (en caso de ser un alimentos que requieran aumentar su temperatura), calorías, precio aproximado de dicha receta. 11) El sistema debe buscar alimentos por: a. Orden alfabético. b. Por tipo de alimento (carnes, pastas, frutas, verduras). c. Tipo de alimentación del usuario [7]. d. Calorías. 12) El sistema deberá extraer las ofertas [3] y precios [4] de los supermercados adheridos al sistema y visualizarlos públicamente a todos los usuarios, registrados o no, tanto en los alimentos aleatorios [9] como en los visualizados en la sección(?Productos?). 13) El sistema deberá, en el momento que se obtiene la comida aleatoria [9], teniendo en cuenta ofertas[3] y precios[4] de los diferentes supermercados, visualizar sus ingredientes con sus respectivas ofertas [3] y en el caso de no tenerlo, visualizar el precio [4] más bajo y mostrar a que supermercado [12] corresponde dicha oferta. 14) El sistema deberá gestionar un buzón de salida para establecer un contacto administrador-usuario y validar los datos teniendo en cuenta que todos los campos estén llenos. 15) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, sus características y como usarlo. 16) El sistema deberá tener una sección en la cual los Usuarios [5] puedan compartir recetas y ser valorizadas como positivas o negativas, a determinada reputación dichas recetas serán cargadas o actualizaran otras. Diccionario:Usuario = nombre de Usuario.Alimento = nombre del Alimento. Característica Alimento = información nutricional. Características Usuario = Tipo de alimentación. Supermercado = nombre del Supermercado. Ofertas = Ofertas de los distintos productos particulares de cada Supermercado. Precios = Precios de los distintos productos. RandomDay = Alimento aleatorio que se les brinda a los Usuarios no registrados. Región = nombre de la provincia, sea norte, centro o sur de dicha provincia. Recetas = Ingredientes, tiempo de cocción, calorías y precio aproximado. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From mozo_mdq en hotmail.com Sat Nov 23 10:55:15 2013 From: mozo_mdq en hotmail.com (Nicolas Mozo) Date: Sat, 23 Nov 2013 10:55:15 -0300 Subject: [Php-avanzado] SRS RANDOM FOOD In-Reply-To: <1384961392.4255.222.camel@praxisviii.intranet.com> References: , , <1381181790.8340.275.camel@praxisviii.intranet.com>, , <1381191962.8340.281.camel@praxisviii.intranet.com>, , <1381338616.8340.398.camel@praxisviii.intranet.com>, , <1381957524.4697.15.camel@praxisviii.intranet.com>, , <1382025758.4697.57.camel@praxisviii.intranet.com>, , <1384961392.4255.222.camel@praxisviii.intranet.com> Message-ID: Hola leoo, como andas? Te lo habia mandado ayer, pero como no recibi respuesta pienso que lo mande mal, por las dudas te lo mando devuelta, saludosss Random Food.DATOS FUNCIONALES:1) El sistema deberá gestionar información nutricional.2) El sistema deberá gestionar regiones.3) El sistema deberá administrar ofertas.4) El sistema deberá administrar precios.5) El sistema deberá gestionar usuarios.6) El sistema deberá gestionar contraseñas.7) El sistema deberá solicitar y gestionar características de los usuarios [5]; en el caso de ser un usuario a registrar se tomaran datos como, peso, edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee restricciones, vegetariano, deportista).8) El sistema deberá gestionar alimentos, con sus respectivas ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos se podrá realizar con/sin tener un usuario registrado [5][6].9) EL sistema deberá poder realizar comidas de manera aleatoria extraídos de una base de datos en forma diaria (?RandomDay?) o planes más extensos, teniendo en cuenta las características de dicho usuario [5], y la región [2] (este dato es importante, para la elaboración de alimentos típicos de la región).10) El sistema deberá elaborar recetas según la comida elegida u obtenida aleatoriamente [9]. Cada una de estas recetas poseerá ingredientes, procedimientos, tiempo de cocción (en caso de ser un alimentos que requieran aumentar su temperatura), calorías, precio aproximado de dicha receta.11) El sistema debe buscar alimentos por: a. Orden alfabético. b. Por tipo de alimento (carnes, pastas, frutas, verduras). c. Tipo de alimentación del usuario [7]. d. Calorías. 12) El sistema deberá extraer las ofertas [3] y precios [4] de los supermercados adheridos al sistema y visualizarlos públicamente a todos los usuarios, registrados o no, tanto en los alimentos aleatorios [9] como en los visualizados en la sección(?Productos?).13) El sistema deberá, en el momento que se obtiene la comida aleatoria [9], teniendo en cuenta ofertas[3] y precios[4] de los diferentes supermercados, visualizar sus ingredientes con sus respectivas ofertas [3] y en el caso de no tenerlo, visualizar el precio [4] más bajo y mostrar a que supermercado [12] corresponde dicha oferta.14) El sistema deberá gestionar un buzón de salida para establecer un contacto administrador-usuario y validar los datos teniendo en cuenta que todos los campos estén llenos.15) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, sus características y como usarlo.16) El sistema deberá tener una sección en la cual los Usuarios [5] puedan compartir recetas y ser valorizadas como positivas o negativas, a determinada reputación dichas recetas serán cargadas o actualizaran otras. Diccionario:Usuario = nombre de Usuario.Alimento = nombre del Alimento.Característica Alimento = información nutricional.Características Usuario = Tipo de alimentación.Supermercado = nombre del Supermercado.Ofertas = Ofertas de los distintos productos particulares de cada Supermercado.Precios = Precios de los distintos productos.RandomDay = Alimento aleatorio que se les brinda a los Usuarios no registrados.Región = nombre de la provincia, sea norte, centro o sur de dicha provincia.Recetas = Ingredientes, tiempo de cocción, calorías y precio aproximado. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From lizondomaximiliano en gmail.com Sat Nov 23 16:06:27 2013 From: lizondomaximiliano en gmail.com (Maximiliano Lizondo) Date: Sat, 23 Nov 2013 17:06:27 -0200 Subject: [Php-avanzado] temas vistos el 21-11-2013 Message-ID: Buenas, alguien sería tan amable de decirme qué vieron el jueves pasado y pasarme los ejercicios nuevos? muchas gracias y saludos! -- *Ing. Maximiliano Andrés Lizondo* - *Teléfonos: **0223-493-5488* (particular) - *2236-321708* (móvil) - *Perfil profesional en LinkedIn: * http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From fpborsani en yahoo.com.ar Sat Nov 23 19:30:49 2013 From: fpborsani en yahoo.com.ar (=?iso-8859-1?Q?Fernando_Pehu=E9n_Borsani?=) Date: Sat, 23 Nov 2013 19:30:49 -0300 Subject: [Php-avanzado] temas vistos el 21-11-2013 In-Reply-To: References: Message-ID: <000501cee89b$adaaa620$08fff260$@yahoo.com.ar> Vimos consultas SQL, bastante serio el asunto, con algunas proyecciones que no conocíamos (como COUNT o SUM). Te paso los ejercicios. Nos vemos Maxi. De: php-avanzado-bounces en pato2.fi.mdp.edu.ar [mailto:php-avanzado-bounces en pato2.fi.mdp.edu.ar] En nombre de Maximiliano Lizondo Enviado el: sábado, 23 de noviembre de 2013 04:06 p.m. Para: Lista del curso de PHP Avanzado Asunto: [Php-avanzado] temas vistos el 21-11-2013 Buenas, alguien sería tan amable de decirme qué vieron el jueves pasado y pasarme los ejercicios nuevos? muchas gracias y saludos! -- Ing. Maximiliano Andrés Lizondo * Teléfonos: 0223-493-5488 (particular) - 2236-321708 (móvil) * Perfil profesional en LinkedIn: http://ar.linkedin.com/pub/maximiliano-andr%C3%A9s-lizondo/61/906/344 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: new_ex.txt URL: From leonardot en pegasusnet.com.ar Wed Nov 27 23:35:29 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Wed, 27 Nov 2013 23:35:29 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD In-Reply-To: References: Message-ID: <1385606129.7776.124.camel@praxisviii.intranet.com> Hola Nicolás, te hago unas observaciones y preguntas intercaladas: El vie, 22-11-2013 a las 19:07 -0300, Nicolas Mozo escribió: > Hola leoo, como andas? Como te dije ayer, aca esta la SRS 1.0. > > > Random Food. > > > DATOS FUNCIONALES: No son "datos", son "requerimientos" > 1) El sistema deberá gestionar información nutricional. Para que podamos saber cuál es la abstracción que vas a usar de cada concepto, le tenés que crear una entrada en el diccionario si no la tiene, y ponerle los atributos que para este sistema tendrá. Toda funcionalidad debe tener su entrada en el diccionario, al menos para ponerlo los atributos. Por otra parte, cuando un RF usa a otro, hay que hacer referencia a él en la propia funcionalidad: ninguno de tus RF referencia a otro! Buscá en la lista SRS de compañeros para darte una mejor idea. > 2) El sistema deberá gestionar regiones. En el diccionario pareciera que las regiones corresponden a Provincias, pero no aparece ninguna funcionalidad para gestionar o mostrar provincias! > 3) El sistema deberá administrar ofertas. Además de faltar los atributos, las ofertas mencionan a los productos, que tampoco aparecen como funcionalidad. Tampoco aparece la gestión de Supermercados (pero tiene una entrada en el diccionario) que debería ser referenciada acá. > 4) El sistema deberá administrar precios. Esto parece una forma distinta de especificar las ofertas, pero sin los atributos no puedo saberlo :-( > 5) El sistema deberá gestionar usuarios. La palabra usuario es demasiado ambigua para que tenga sentido usarla en una SRS. Ponele un nombre acorde con el problema y los atributos en el diccionario. Si estos "usuarios" son los que administran el sitio, no serán una funcionalidad. > 6) El sistema deberá gestionar contraseñas. Parece que esto es un mero atributo del RF anterior, y por lo tanto no tiene sentido a nivel funcional. De acá para abajo, sin los atributos, no puedo validarte más nada... agregale estas cosas y reenviamela como versión 2!!! Saludos!!! > 7) El sistema deberá solicitar y gestionar características de los > usuarios [5]; en el caso de ser un usuario a registrar se tomaran > datos como, peso, edad, altura, tipo de alimentación (Si es celiaco, > diabético, no posee restricciones, vegetariano, deportista). > > 8) El sistema deberá gestionar alimentos, con sus respectivas > ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos > se podrá realizar con/sin tener un usuario registrado [5][6]. > > 9) EL sistema deberá poder realizar comidas de manera aleatoria > extraídos de una base de datos en forma diaria (?RandomDay?) o planes > más extensos, teniendo en cuenta las características de dicho usuario > [5], y la región [2] (este dato es importante, para la elaboración de > alimentos típicos de la región). > > 10) El sistema deberá elaborar recetas según la comida > elegida u obtenida aleatoriamente [9]. Cada una de estas recetas > poseerá ingredientes, procedimientos, tiempo de cocción (en caso de > ser un alimentos que requieran aumentar su temperatura), calorías, > precio aproximado de dicha receta. > > 11) El sistema debe buscar alimentos por: > > a. Orden alfabético. > > b. Por tipo de alimento (carnes, pastas, frutas, verduras). > > c. Tipo de alimentación del usuario [7]. > > d. Calorías. > > 12) El sistema deberá extraer las ofertas [3] y precios [4] > de los supermercados adheridos al sistema y visualizarlos públicamente > a todos los usuarios, registrados o no, tanto en los alimentos > aleatorios [9] como en los visualizados en la sección(?Productos?). > > 13) El sistema deberá, en el momento que se obtiene la comida > aleatoria [9], teniendo en cuenta ofertas[3] y precios[4] de los > diferentes supermercados, visualizar sus ingredientes con sus > respectivas ofertas [3] y en el caso de no tenerlo, visualizar el > precio [4] más bajo y mostrar a que supermercado [12] corresponde > dicha oferta. > > 14) El sistema deberá gestionar un buzón de salida para > establecer un contacto administrador-usuario y validar los datos > teniendo en cuenta que todos los campos estén llenos. > > 15) El sistema deberá brindad una ayuda-tutorial sobre > RandomFood, sus características y como usarlo. > > 16) El sistema deberá tener una sección en la cual los > Usuarios [5] puedan compartir recetas y ser valorizadas como positivas > o negativas, a determinada reputación dichas recetas serán cargadas o > actualizaran otras. > > > Diccionario: > > Usuario = nombre de Usuario. > > Alimento = nombre del Alimento. > > Característica Alimento = información nutricional. > > Características Usuario = Tipo de alimentación. > > Supermercado = nombre del Supermercado. > > Ofertas = Ofertas de los distintos productos particulares de cada > Supermercado. > > Precios = Precios de los distintos productos. > > RandomDay = Alimento aleatorio que se les brinda a los Usuarios no > registrados. > > Región = nombre de la provincia, sea norte, centro o sur de dicha > provincia. > > Recetas = Ingredientes, tiempo de cocción, calorías y precio > aproximado. > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From leonardot en pegasusnet.com.ar Thu Nov 28 13:48:55 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Thu, 28 Nov 2013 13:48:55 -0300 Subject: [Php-avanzado] Hoy no hay clase Message-ID: <1385657335.7776.156.camel@praxisviii.intranet.com> Buenas a todos! les escribo para recordarle que hoy no tenemos clase. Nos vemos la semana que viene! -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From shodri en gmail.com Thu Nov 28 14:09:05 2013 From: shodri en gmail.com (Rodrigo Fernandez) Date: Thu, 28 Nov 2013 15:09:05 -0200 Subject: [Php-avanzado] Consulta clase 28-11 Message-ID: Que tal Leo, Quería preguntarte si podría ir a presenciar un rato la clase de hoy y de paso en la pausa hacerte algunas consultas sobre la tesina, sabiendo que tengo el 12-12 como fecha límite para entregarla. Si me dejas ir llevo mate :-) Saludos ! From shodri en gmail.com Thu Nov 28 14:10:27 2013 From: shodri en gmail.com (Rodrigo Fernandez) Date: Thu, 28 Nov 2013 15:10:27 -0200 Subject: [Php-avanzado] Hoy no hay clase In-Reply-To: <1385657335.7776.156.camel@praxisviii.intranet.com> References: <1385657335.7776.156.camel@praxisviii.intranet.com> Message-ID: Uhh y yo justo te mande para ir. Bueno será la semana que viene. Saludos ! El 28/11/13, Leonardo Tadei - Pegasus Tech Supply escribió: > Buenas a todos! > > les escribo para recordarle que hoy no tenemos clase. > > Nos vemos la semana que viene! > > -- > Leonardo Tadei > leonardot en pegasusnet.com.ar > Web: http://leonardo.tadei.com.ar > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > From leonardot en pegasusnet.com.ar Thu Nov 28 14:23:50 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Thu, 28 Nov 2013 14:23:50 -0300 Subject: [Php-avanzado] Hoy no hay clase In-Reply-To: References: <1385657335.7776.156.camel@praxisviii.intranet.com> Message-ID: <1385659430.7776.157.camel@praxisviii.intranet.com> Dale! Venite la semana que viene El jue, 28-11-2013 a las 15:10 -0200, Rodrigo Fernandez escribió: > Uhh y yo justo te mande para ir. Bueno será la semana que viene. > Saludos ! > > El 28/11/13, Leonardo Tadei - Pegasus Tech Supply > escribió: > > Buenas a todos! > > > > les escribo para recordarle que hoy no tenemos clase. > > > > Nos vemos la semana que viene! > > > > -- > > Leonardo Tadei > > leonardot en pegasusnet.com.ar > > Web: http://leonardo.tadei.com.ar > > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key > > > > _______________________________________________ > > Lista de correo: Php-avanzado > > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > > Administración Web: > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > > Desubscripción: > > php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe > -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From mozo_mdq en hotmail.com Fri Nov 29 11:42:24 2013 From: mozo_mdq en hotmail.com (Nicolas Mozo) Date: Fri, 29 Nov 2013 11:42:24 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD In-Reply-To: <1385606129.7776.124.camel@praxisviii.intranet.com> References: , <1385606129.7776.124.camel@praxisviii.intranet.com> Message-ID: Leo te envió el SRS v1.02, una pregunta, vos me pusiste en el anterior e-mail que "cuando un RF usa a otro, hay que hacer referencia a él en la propia funcionalidad: ninguno de tus RF referencia a otro! Buscá en la lista SRS de compañeros para darte una mejor idea." Pero yo a partir del RF 7 hice eso, esta mal como lo hice? Random Food. REQUERIMIENTOS FUNCIONALES: 1) El sistema deberá gestionar información nutricional. 2) El sistema deberá gestionar regiones. 3) El sistema deberá administrar ofertas. 4) El sistema deberá administrar precios. 5) El sistema deberá gestionar usuarios. 6) El sistema debe gestionar supermercados. 7) El sistema deberá solicitar y gestionar características de los usuarios [5]; en el caso de ser un usuario a registrar se tomaran datos como, peso, edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee restricciones, vegetariano, deportista) y región [2]. 8) El sistema deberá gestionar alimentos, con sus respectivas ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos se podrá realizar con/sin tener un usuario registrado [5]. · En el caso de no estar registrado, el usuario deberá llenar un formulario mínimo. 9) EL sistema deberá poder realizar comidas de manera aleatoria extraídos de una base de datos en forma diaria (?RandomDay?) o planes más extensos, teniendo en cuenta las características de dicho usuario [5], y la región [2] (este dato es importante, para la elaboración de alimentos típicos de la región). 10) El sistema deberá elaborar recetas según la comida elegida u obtenida aleatoriamente [9]. Cada una de estas recetas poseerá ingredientes, procedimientos, tiempo de cocción (en caso de ser un alimentos que requieran aumentar su temperatura), calorías, precio aproximado de dicha receta. 11) El sistema debe buscar alimentos por: a. Orden alfabético. b. Por tipo de alimento (carnes, pastas, frutas, verduras). c. Tipo de alimentación del usuario [7]. d. Calorías. 12) El sistema deberá extraer las ofertas [3] y precios [4] de los supermercados [6] adheridos al sistema y visualizarlos públicamente a todos los usuarios, registrados o no, tanto en los alimentos aleatorios [9] como en los visualizados en la sección (?Productos?). 13) El sistema deberá, en el momento que se obtiene la comida aleatoria [8], teniendo en cuenta ofertas [3] y precios [4] de los diferentes supermercados, visualizar sus ingredientes con sus respectivas ofertas [3] y en el caso de no tenerlo, visualizar el precio [4] más bajo y mostrar a que supermercado [12] corresponde dicha oferta. 14) El sistema deberá gestionar un buzón de salida para establecer un contacto administrador-usuario y validar los datos teniendo en cuenta que todos los campos estén llenos. 15) El sistema deberá tener una sección en la cual los Usuarios [5] puedan compartir recetas y ser valorizadas como positivas o negativas, a determinada reputación dichas recetas serán cargadas o actualizaran otras. REQUERIMIENTOS NO FUNCIONALES: 1) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, sus características y como usarlo. DICCIONARIO: Usuario Registrado = Persona registrada en el sitio. Atributos: nombre de usuario, nombre, apellido, contraseña, edad, región, altura, peso. Usuario No registrado = Persona no registrada en el sitio. Atributos: Nombre, apellido, peso y altura. Características de los usuarios = Determina las características nutricionales y físicas del usuario. Atributos: peso, edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee restricciones, vegetariano, deportista) y región. Planes = Según el aporte del usuario al sitio, se le otorgaran diferentes beneficios, si el usuario no aporta nada, nada mas podrá hacer búsquedas aleatorias por día, si el usuario paga los planes podrá beneficiarse con búsquedas más extensas y tener un seguimiento de la misma. Información Nutricional = características que portaran cada alimento. Atributo: nombre alimento, características. Precios = Costo estimativo sustraído de los supermercados adheridos el cual son fijados en cada alimento único. Atributo: pesos. Ofertas = Costo menor a Precios sustraídos de los supermercados adheridos el cual son fijados en cada alimento único. Atributo: pesos. Alimento = Sustancia nutricional en la que se basaran las recetas que proporcione dicho sitio. Atributo: nombre, información nutricional. Ingredientes = Alimentos correspondientes que llevaran una receta. Supermercado = Mercado adherido al sitio el cual brindara todos los alimentos o su mayoría. Atributos: nombre. Región = nombre de la provincia, especificar sea norte, centro o sur de dicha provincia, en el que se basará el sitio para dar un alimento típico de dicha región. Atributo: nombre. Recetas = Lista de todos los alimentos y características que llevara la realización de un determinado plato de comidas. Atributos: Ingredientes, tiempo de cocción, calorías y precio aproximado. Buzón de Salida = Espacio en el que el usuario podrá explayarse sobre alguna cuestión, pregunta o problema sobre el sitio. Atributos: Texto, asunto,nombre, e-mail. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Fri Nov 29 12:34:32 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Fri, 29 Nov 2013 12:34:32 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD In-Reply-To: References: , <1385606129.7776.124.camel@praxisviii.intranet.com> Message-ID: <1385739272.7776.185.camel@praxisviii.intranet.com> Hola Nicolás, no acepto SRS que usen la palabra "usuario" Es una palabra que por su ambigüedad inherente, no tiene sentido. Respecto a las referencias, me parece que se desprende del diccionario por ejemplo que una Oferta se refiere a un Alimento: entonces tenés que especificar primero Alimento, y cuando especifiques Oferta te quedará más o menos así: El sistema debe gestionar Ofertas de Alimentos. Reescribila por favor sin la palabra "usuarios" así la leo y la cosa tiene un poco de sentido. Seguimos! El vie, 29-11-2013 a las 11:42 -0300, Nicolas Mozo escribió: > > Leo te envió el SRS v1.02, una pregunta, vos me pusiste en el > anterior e-mail que "cuando un RF usa a otro, hay que hacer referencia > a él en la propia funcionalidad: ninguno de tus RF referencia a otro! > Buscá en la lista SRS de compañeros para darte una mejor idea." Pero > yo a partir del RF 7 hice eso, esta mal como lo hice? > > > Random Food. > > > REQUERIMIENTOS FUNCIONALES: > > > > 1) El sistema deberá gestionar información nutricional. > > 2) El sistema deberá gestionar regiones. > > 3) El sistema deberá administrar ofertas. > > 4) El sistema deberá administrar precios. > > 5) El sistema deberá gestionar usuarios. > > 6) El sistema debe gestionar supermercados. > > 7) El sistema deberá solicitar y gestionar características de los > usuarios [5]; en el caso de ser un usuario a registrar se tomaran > datos como, peso, edad, altura, tipo de alimentación (Si es celiaco, > diabético, no posee restricciones, vegetariano, deportista) y región > [2]. > > 8) El sistema deberá gestionar alimentos, con sus respectivas > ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos > se podrá realizar con/sin tener un usuario registrado [5]. > > · En el caso de no estar registrado, el usuario deberá llenar un > formulario mínimo. > > 9) EL sistema deberá poder realizar comidas de manera aleatoria > extraídos de una base de datos en forma diaria (?RandomDay?) o planes > más extensos, teniendo en cuenta las características de dicho usuario > [5], y la región [2] (este dato es importante, para la elaboración de > alimentos típicos de la región). > > 10) El sistema deberá elaborar recetas según la comida > elegida u obtenida aleatoriamente [9]. Cada una de estas recetas > poseerá ingredientes, procedimientos, tiempo de cocción (en caso de > ser un alimentos que requieran aumentar su temperatura), calorías, > precio aproximado de dicha receta. > > 11) El sistema debe buscar alimentos por: > > a. Orden alfabético. > > b. Por tipo de alimento (carnes, pastas, frutas, verduras). > > c. Tipo de alimentación del usuario [7]. > > d. Calorías. > > 12) El sistema deberá extraer las ofertas [3] y precios [4] > de los supermercados [6] adheridos al sistema y visualizarlos > públicamente a todos los usuarios, registrados o no, tanto en los > alimentos aleatorios [9] como en los visualizados en la sección > (?Productos?). > > 13) El sistema deberá, en el momento que se obtiene la comida > aleatoria [8], teniendo en cuenta ofertas [3] y precios [4] de los > diferentes supermercados, visualizar sus ingredientes con sus > respectivas ofertas [3] y en el caso de no tenerlo, visualizar el > precio [4] más bajo y mostrar a que supermercado [12] corresponde > dicha oferta. > > 14) El sistema deberá gestionar un buzón de salida para > establecer un contacto administrador-usuario y validar los datos > teniendo en cuenta que todos los campos estén llenos. > > 15) El sistema deberá tener una sección en la cual los > Usuarios [5] puedan compartir recetas y ser valorizadas como positivas > o negativas, a determinada reputación dichas recetas serán cargadas o > actualizaran otras. > > > > > > > REQUERIMIENTOS NO FUNCIONALES: > > > > 1) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, > sus características y como usarlo. > > > > > DICCIONARIO: > > > > Usuario Registrado = Persona registrada en el sitio. > Atributos: nombre de usuario, nombre, apellido, contraseña, edad, > región, altura, peso. > > > Usuario No registrado = Persona no registrada en el sitio. > Atributos: Nombre, apellido, peso y altura. > > > Características de los usuarios = Determina las > características nutricionales y físicas del usuario. Atributos:peso, > edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee > restricciones, vegetariano, deportista) y región. > > > Planes = Según el aporte del usuario al sitio, se le > otorgaran diferentes beneficios, si el usuario no aporta nada, nada > mas podrá hacer búsquedas aleatorias por día, si el usuario paga los > planes podrá beneficiarse con búsquedas más extensas y tener un > seguimiento de la misma. > > > Información Nutricional = características que portaran > cada alimento. Atributo: nombre alimento, características. > > > Precios = Costo estimativo sustraído de los supermercados > adheridos el cual son fijados en cada alimento único. Atributo: pesos. > > > Ofertas = Costo menor a Precios sustraídos de los > supermercados adheridos el cual son fijados en cada alimento único. > Atributo: pesos. > > > Alimento = Sustancia nutricional en la que se basaran las > recetas que proporcione dicho sitio. Atributo: nombre, información > nutricional. > > > Ingredientes = Alimentos correspondientes que llevaran una > receta. > > > Supermercado = Mercado adherido al sitio el cual brindara > todos los alimentos o su mayoría. Atributos: nombre. > > > Región = nombre de la provincia, especificar sea norte, centro o sur > de dicha provincia, en el que se basará el sitio para dar un alimento > típico de dicha región. Atributo: nombre. > > > Recetas = Lista de todos los alimentos y características que llevara > la realización de un determinado plato de comidas. Atributos: > Ingredientes, tiempo de cocción, calorías y precio aproximado. > > > Buzón de Salida = Espacio en el que el usuario podrá > explayarse sobre alguna cuestión, pregunta o problema sobre el sitio. > Atributos: Texto, asunto,nombre, e-mail. > > > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key From mozo_mdq en hotmail.com Fri Nov 29 13:25:01 2013 From: mozo_mdq en hotmail.com (Nicolas Mozo) Date: Fri, 29 Nov 2013 13:25:01 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD In-Reply-To: <1385739272.7776.185.camel@praxisviii.intranet.com> References: ,, <1385606129.7776.124.camel@praxisviii.intranet.com>, , <1385739272.7776.185.camel@praxisviii.intranet.com> Message-ID: Leo te reenvio el SRS 1.03, ahi le cambie lo que me decias de los Usuarios, lo dividi en Visitantes y Suscriptores, igualmente no me quedo muy en claro eso de que las referencias se desprenden del diccionario. Random Food. REQUERIMIENTOS FUNCIONALES: 1) El sistema deberá gestionar información nutricional. 2) El sistema deberá gestionar regiones. 3) El sistema deberá administrar ofertas. 4) El sistema deberá administrar precios. 5) El sistema deberá calcular precio mínimo. 6) El sistema deberá gestionar suscriptores. 7) El sistema deberá gestionar visitantes. 8) El sistema debe gestionar supermercados. 9) El sistema deberá solicitar y gestionar características de los suscriptores [6]; en el caso de ser un visitante [7] se tomaran datos como, nombre, apellido, peso y altura. 10) El sistema deberá gestionar alimentos, con sus respectivas ofertas [3] (Si las posee), y sus precios [4]. La gestión de alimentos se podrá realizar con/sin tener un suscripción [6]. · En el caso de no estar registrado, el visitante [7] deberá llenar un formulario mínimo. 11) EL sistema deberá poder realizar comidas de manera aleatoria extraídos de una base de datos en forma diaria (?RandomDay?) o planes más extensos, teniendo en cuenta las características de dicho suscriptor [6], y la región [2] (este dato es importante, para la elaboración de alimentos típicos de la región). 12) El sistema deberá elaborar recetas según la comida elegida u obtenida aleatoriamente [11]. Cada una de estas recetas poseerá ingredientes, procedimientos, tiempo de cocción (en caso de ser un alimentos que requieran aumentar su temperatura), calorías, precio aproximado de dicha receta. 13) El sistema debe buscar alimentos por: a. Orden alfabético. b. Por tipo de alimento (carnes, pastas, frutas, verduras). c. Tipo de alimentación del suscriptor/visitante [6] [7]. d. Calorías. 14) El sistema deberá extraer las ofertas [3] y precios [4] de los supermercados [8] adheridos al sistema y visualizarlos públicamente a todos los suscriptores, registrados o no, tanto en los alimentos aleatorios [11] como en los visualizados en la sección (?Productos?). 15) El sistema deberá, en el momento que se obtiene la comida aleatoria [8], teniendo en cuenta ofertas [3] y precios [4] de los diferentes supermercados, visualizar sus ingredientes con sus respectivas ofertas [3] y en el caso de no tenerlo, visualizar el precio [4] más bajo y mostrar a que supermercado [14] corresponde dicha oferta. 16) El sistema deberá gestionar un buzón de salida para establecer un contacto administrador-usuario y validar los datos teniendo en cuenta que todos los campos estén llenos. 17) El sistema deberá tener una sección en la cual los suscriptores [5] puedan compartir recetas y ser valorizadas como positivas o negativas, a determinada reputación dichas recetas serán cargadas o actualizaran otras. REQUERIMIENTOS NO FUNCIONALES: 1) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, sus características y como usarlo. Diccionario: Suscriptor Registrado = Persona registrada en el sitio. Atributos: nombre de usuario, nombre, apellido, contraseña, edad, región, altura, peso. Visitante = Persona no registrada en el sitio. Atributos: Nombre, apellido, peso y altura. Características de los suscriptores = Determina las características nutricionales y físicas del usuario. Atributos: peso, edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee restricciones, vegetariano, deportista) y región. Características de los visitantes = Determina las características mínimas de una persona para dar un apropiado alimento aleatorio. Atributos: peso, edad, nombre, e-mail(opcional). Planes = Según el aporte del suscriptor/visitante al sitio, se le otorgaran diferentes beneficios, si el usuario no aporta nada, nada más podrá hacer búsquedas aleatorias por día, si el suscriptor/visitante paga los planes podrá beneficiarse con búsquedas más extensas y tener un seguimiento de la misma. Información Nutricional = características que portaran cada alimento. Atributo: nombre alimento, características. Precios = Costo sustraído de los supermercados adheridos el cual son fijados en cada alimento único. Atributo: pesos. Ofertas = Costo menor a Precios de los supermercados adheridos el cual son fijados en cada alimento único. Atributo: pesos. Precio Mínimo = En esta tercer categoría de costos, se expresaran precios menores a cualquier otro, sin necesidad de ser oferta. Atributo: pesos. Alimento = Sustancia nutricional en la que se basaran las recetas que proporcione dicho sitio. Atributo: nombre, información nutricional. Ingredientes = Alimentos correspondientes que llevaran una receta. Supermercado = Mercado adherido al sitio el cual brindara todos los alimentos o su mayoría. Atributos: nombre. Región = nombre de la provincia, especificar sea norte, centro o sur de dicha provincia, en el que se basará el sitio para dar un alimento típico de dicha región. Atributo: nombre. Recetas = Lista de todos los alimentos y características que llevara la realización de un determinado plato de comidas. Atributos: Ingredientes, tiempo de cocción, calorías y precio aproximado. Buzón de Salida = Espacio en el que el usuario podrá explayarse sobre alguna cuestión, pregunta o problema sobre el sitio. Atributos: Texto, asunto, nombre, e-mail. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From leonardot en pegasusnet.com.ar Fri Nov 29 18:53:13 2013 From: leonardot en pegasusnet.com.ar (Leonardo Tadei - Pegasus Tech Supply) Date: Fri, 29 Nov 2013 18:53:13 -0300 Subject: [Php-avanzado] [PHP-AVANZADO] SRS RANDOM FOOD In-Reply-To: References: ,, <1385606129.7776.124.camel@praxisviii.intranet.com> , , <1385739272.7776.185.camel@praxisviii.intranet.com> Message-ID: <1385761993.7776.208.camel@praxisviii.intranet.com> Hola Nicolás, El vie, 29-11-2013 a las 13:25 -0300, Nicolas Mozo escribió: > > Leo te reenvio el SRS 1.03, ahi le cambie lo que me decias de los > Usuarios, lo dividi en Visitantes y Suscriptores, Ok. > igualmente no me quedo muy en claro eso de que las referencias se > desprenden del diccionario. En este mensaje te lo explico sobre esta versión de la SRS: > Random Food. > > > REQUERIMIENTOS FUNCIONALES: > > > 1) El sistema deberá gestionar información nutricional. La Información Nutricional no parece una funcionalidad aparte, sino un mero atributo de un Alimento. Qué hace que se justifique como funcionalidad aparte??? > 2) El sistema deberá gestionar regiones. La especificación de la región dice que es relativa a la Provincia, pero no existe una "gestión de Provincias". Deberías especificar: "El sistema debe gestionar Provincias" y luego "El sistema debe gestionar Regiones con su Provincia". Luego, el diccionario de Región quedaría: nombre, provincia. > 3) El sistema deberá administrar ofertas. Esto está claramente incompleto: las Ofertas son de un Alimento por un Supermercado. Esto implica especificar primero Alimentos y Supoermercados para poder definirlo por completo. Luego el diccionario de Oferta será: alimento, supermercado, precio. Posiblemente sea buena idea agregarle fecha de validez, es decir, hasta cuando dura la Oferta. Qué tareas implica "administrar"??? Seguro que es algo diferente de "gestionar", pero tenés que decir en qué consiste en el diccionario. > 4) El sistema deberá administrar precios. Idem anterior. > 5) El sistema deberá calcular precio mínimo. Le falta "de un Alimento". > 6) El sistema deberá gestionar suscriptores. Falta la referencia a la región (y a la provincia que está omitida en la región) > 7) El sistema deberá gestionar visitantes. No entiendo la diferencia funcional entre Subscriptor y Visitante. Cuál es? Qué hacen distinto en este sistema? > 8) El sistema debe gestionar supermercados. Este RF pasa mucho más arriba. > 9) El sistema deberá solicitar y gestionar características de los > suscriptores [6]; en el caso de ser un visitante [7] se tomaran datos > como, nombre, apellido, peso y altura. > > 10) El sistema deberá gestionar alimentos, con sus > respectivas ofertas [3] (Si las posee), y sus precios [4]. La gestión > de alimentos se podrá realizar con/sin tener un suscripción [6]. Este RF pasa mucho más arriba. > · En el caso de no estar registrado, el visitante [7] deberá > llenar un formulario mínimo. > > 11) EL sistema deberá poder realizar comidas de manera > aleatoria extraídos de una base de datos en forma diaria (?RandomDay?) > o planes más extensos, teniendo en cuenta las características de dicho > suscriptor [6], y la región [2] (este dato es importante, para la > elaboración de alimentos típicos de la región). > > 12) El sistema deberá elaborar recetas según la comida > elegida u obtenida aleatoriamente [11]. Cada una de estas recetas > poseerá ingredientes, procedimientos, tiempo de cocción (en caso de > ser un alimentos que requieran aumentar su temperatura), calorías, > precio aproximado de dicha receta. Cómo que el sistema elabora las recetas? Vas a hacer un motor de inferencia para que basado en los alimentos y con reglas de IA el sistema las elabore? O el sistema debe gestionar recetas? > 13) El sistema debe buscar alimentos por: > > a. Orden alfabético. > > b. Por tipo de alimento (carnes, pastas, frutas, verduras). Los Tipos de Alimento son una omisión funcional en este RF. Tenés que especificarlos antes de los Alimentos para poder hacer referencia a ellos. > c. Tipo de alimentación del suscriptor/visitante [6] [7]. Idem. > d. Calorías. Las calorías no aparecen como atributo de los Alimentos para poder hacer esto! > 14) El sistema deberá extraer las ofertas [3] y precios [4] > de los supermercados [8] adheridos al sistema y visualizarlos > públicamente a todos los suscriptores, registrados o no, tanto en los > alimentos aleatorios [11] como en los visualizados en la sección > (?Productos?). > > 15) El sistema deberá, en el momento que se obtiene la comida > aleatoria [8], teniendo en cuenta ofertas [3] y precios [4] de los > diferentes supermercados, visualizar sus ingredientes con sus > respectivas ofertas [3] y en el caso de no tenerlo, visualizar el > precio [4] más bajo y mostrar a que supermercado [14] corresponde > dicha oferta. > > 16) El sistema deberá gestionar un buzón de salida para > establecer un contacto administrador-usuario y validar los datos > teniendo en cuenta que todos los campos estén llenos. La palabra usuario acá hace ambigua la especificación. Cual de las decenas de usuarios posibles es con la que hay que establecer contacto? > 17) El sistema deberá tener una sección en la cual los > suscriptores [5] puedan compartir recetas y ser valorizadas como > positivas o negativas, a determinada reputación dichas recetas serán > cargadas o actualizaran otras. Entonces "El sistema debe gestionar Recetas con su Subscriptor". Agregá la Receta al diccionario. Especificá cuál es la "determinada reputación" y de qué manera se determina el reemplazo o actualización. > > > > > REQUERIMIENTOS NO FUNCIONALES: > > > 1) El sistema deberá brindad una ayuda-tutorial sobre RandomFood, > sus características y como usarlo. Esto es una funcionalidad! Lo que no sería una funcionalidad es el acceso de los administradores del sitio... Bueno, recordá actualizar los diccionarios y crear las entradas de las funcionalidades nuevas. Cualquier duda puntual antes de la próxima versión, consultá por acá!!! Seguimos!!! > Diccionario: > > > Suscriptor Registrado = Persona registrada en el sitio. > Atributos: nombre de usuario, nombre, apellido, contraseña, edad, > región, altura, peso. > > > Visitante = Persona no registrada en el sitio. Atributos: > Nombre, apellido, peso y altura. > > > Características de los suscriptores = Determina las > características nutricionales y físicas del usuario. Atributos:peso, > edad, altura, tipo de alimentación (Si es celiaco, diabético, no posee > restricciones, vegetariano, deportista) y región. > > > Características de los visitantes = Determina las > características mínimas de una persona para dar un apropiado alimento > aleatorio. Atributos: peso, edad, nombre, e-mail(opcional). > > > Planes = Según el aporte del suscriptor/visitante al > sitio, se le otorgaran diferentes beneficios, si el usuario no aporta > nada, nada más podrá hacer búsquedas aleatorias por día, si el > suscriptor/visitante paga los planes podrá beneficiarse con búsquedas > más extensas y tener un seguimiento de la misma. > > > Información Nutricional = características que portaran > cada alimento. Atributo: nombre alimento, características. > > > Precios = Costo sustraído de los supermercados adheridos > el cual son fijados en cada alimento único. Atributo: pesos. > > > Ofertas = Costo menor a Precios de los supermercados > adheridos el cual son fijados en cada alimento único. Atributo: pesos. > > > Precio Mínimo = En esta tercer categoría de costos, se > expresaran precios menores a cualquier otro, sin necesidad de ser > oferta. Atributo: pesos. > > > Alimento = Sustancia nutricional en la que se basaran las > recetas que proporcione dicho sitio. Atributo: nombre, información > nutricional. > > > Ingredientes = Alimentos correspondientes que llevaran una > receta. > > > Supermercado = Mercado adherido al sitio el cual brindara > todos los alimentos o su mayoría. Atributos: nombre. > > > Región = nombre de la provincia, especificar sea norte, centro o sur > de dicha provincia, en el que se basará el sitio para dar un alimento > típico de dicha región. Atributo: nombre. > > > Recetas = Lista de todos los alimentos y características que llevara > la realización de un determinado plato de comidas. Atributos: > Ingredientes, tiempo de cocción, calorías y precio aproximado. > > > Buzón de Salida = Espacio en el que el usuario podrá > explayarse sobre alguna cuestión, pregunta o problema sobre el sitio. > Atributos: Texto, asunto, nombre, e-mail. > > > > > > > > > _______________________________________________ > Lista de correo: Php-avanzado > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar > Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado > Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe -- Leonardo Tadei leonardot en pegasusnet.com.ar Web: http://leonardo.tadei.com.ar Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key