tipo_mail= $tipo; if($datosmail) $this->datos_mail=$datosmail; if(count($adjuntos)>0) $this->adjuntos=$adjuntos; if(count($headers)>0) { if($headers['from_address']||$headers['from_name']) $this->emailheader .=$this->HeaderField('From',$headers['from_address'], $headers['from_name'])."\n"; $this->emailheader .=$this->carbonCopy($headers['cc'],'cc') ; $this->emailheader .=$this->carbonCopy($headers['bcc'],'bcc') ; if($headers['reply']) $this->emailheader .=$this->HeaderField('reply-to',$headers['reply'],'')."\n"; $this->emailheader .= "MIME-Version: 1.0\n"; }// fin de if(count($headers)>0) $this->relboundary = md5('relatedboundary'); $this->mixboundary = md5('mixedboundary'); $this->textboundary = md5('textboundary'); $this->image_types = array( 'gif' => 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'bmp' => 'image/bmp', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'swf' => 'application/x-shockwave-flash' ); } function HeaderField ($header,$email, $name = '') { if (!is_string ($email) || empty ($email)) { return false; } elseif (empty ($name)) { $content= $email; } else { $name = str_replace ('"', "'", $name); $content= "\"$name\" <$email>"; } return ("$header: $content"); } // string FUNCION carbonCopy() private // Descripción: toma un array cc o bcc y devuelve sus elementos de forma adecuado para adjuntar al correo // Parámetros : // $copy: array qye contiene las direcciones cc o bcc // Devuelve : devuelve un string de los elementos del array parametro separados por comas function carbonCopy($copy,$c) { if(count($copy) > 0) { $destino=($c=='cc')?'Cc':'Bcc'; $addcopy .=$destino.': '; $i=0; for($i=0;$iValidateEmail($copy[$i]['EMAIL'])) { if($i > 0) $addcopy .= ','; $addcopy .=$copy[$i]['NOMBRE'].'<'.$email.'>'; $i++; } else { $this->{$destino.'_errors'}[$s][0]=$copy[$i]['NOMBRE']; $this->{$destino.'_errors'}[$s][1]=$copy[$i]['EMAIL']; $this->{$destino.'_errors'}[$s][2]=$destino; $s++; } }//FIN for($i=0;$i 0) return $addcopy; } // string FUNCION validateEmail() private // Descripción: como su nombre aclara :valida un email // Parámetros : // $to_address: la direccion del correo a enviar // Devuelve : devuelve el mismo correo caso de ser correcto function validateEmail($address) { if(!eregi('^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$',$address)) { return false; } return $address; } //string FUNCION Get() public // Descripción: Obtiene el valor del miembro de la clase pasado como argumento // Parámetros : // $variable: Miembro de datos de la clase, del cuál se desea obtener su valor // Devuelve : El valor del miembro pasado como argumento function Get($variable) { return $this->$variable; } // void FUNCION Set public // Descripción: Establece el valor del miembro de la clase pasado como argumento // Parámetros : // $variable: Miembro de datos de la clase, del cuál se desea establecer su valor // $value: Valor a asignar a $variable // Devuelve : function Set($variable,$value) { $this->$variable=$value; } // string FUNCION GetFile() private // Descripción: Lee un fichero y lo devuelve como salida // Parámetros : // $filename: path del fichero a leer // Devuelve : El contenido del fichero si es correcto y FALSE en caso contrario function getFile($filename) { $fp = @fopen($filename, 'rb'); $file = fread($fp, filesize($filename)); fclose($fp); return $file; } // string FUNCION EncodeFile() private // Descripción: Codifica el contenido de un fichero en base64 // Parámetros : // $filepath: Path completo del fichero // Devuelve : Contenido del fichero en codificación base64 function encodeFile($filepath) { $file =$this->getFile($filepath); $file = chunk_split(base64_encode($file),72); return $file; } // string FUNCION getTemplate() private // Descripción: Protocolo de mail utilizado en la cabecera // Parámetros : // Devuelve: $this->html ,que es el mensaje que se quiere mandar function getTemplate($version) { //aqui se decide que tempplate se va a utilizar y se sustituyen los variables del email por sus valores $this->template =($version=='html')? $this->html_version:$this->txt_version; if(!$this->template) return false; $message = $this->getFile($this->template); if(is_array($this->datos_mail)&& count($this->datos_mail)>0) { foreach ($this->datos_mail as $key => $value) { $placeholder = ''; $message = str_replace ($placeholder, $value, $message); } } return $message; } //void FUNCION setText() private // Descripción: prepara el texto plano como el html del mensaje con los protocolos adecuados // Parámetros : // Devuelve: function setText() { if($this->tipo_mail=='html') $html=($this->body)?$this->body:$this->getTemplate('html'); $plain=($this->txt_version)?$this->getTemplate('plain'):""; $this->textbody .= "Content-Type: multipart/alternative; boundary=\"$this->textboundary\"\n\n"; $this->textbody .= "--$this->textboundary\n"; $this->textbody .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\n"; $this->textbody .= "Content-Transfer-Encoding: 7bit\n\n"; $this->textbody .= $plain."\n\n"; if($html) { $this->textbody .= "--$this->textboundary\n"; $this->textbody .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n"; $this->textbody .= "Content-Transfer-Encoding: 7bit\n\n"; $this->textbody .= $html."\n\n"; } $this->textbody .= "--$this->textboundary--\n\n"; } //void FUNCION embed() public // Descripción: prepara las imagenes a incrustar con los protocolos adecuados // Parámetros : // Devuelve: function embed($images) { for($i=0;$iimage_types[substr($name, strrpos($name, '.') + 1)]; $data=$this->encodeFile($embeded); $toembed = "--$this->relboundary\n"; $toembed .= "Content-Type: ".$type.";\n name=\"".$name."\"\n"; $toembed .= "Content-Transfer-Encoding: base64\n"; $toembed .= "Content-ID: <".$cid.">\n\n"; $toembed .= $data."\n\n"; $this->buildembeded[]=$toembed; $this->textbody= str_replace($name,'cid:'.$cid,$this->textbody ); } } // string FUNCION findImagesToEmbed() public // Descripción: Busca en el cocumento html las imagenes a incrustar y los incluye como los elementos de un array que devuelve // Parámetros : // Devuelve: un string con los nombres (incluido path) de las imágenes function findImagesToEmbed () { while(list($key,) = each($this->image_types)) $extensions[] = $key; if($this->body) $html = $this->body; else { $fp= fopen($this->html_version, "r"); $html = fread($fp, filesize($this->html_version)); } //preg_match_all('/"([^"\']+\.('.implode('|', $extensions).'))"/Ui', $html, $images); preg_match_all('/["\']([^"\']+\.('.implode('|', $extensions).'))["\']/Ui', $html, $images); for($i=0; $iimages_dir."/".$images[1][$i])) $images_arr[]=$this->images_dir."/".$images[1][$i]; } if(!empty($images_arr)) { $images_arr= array_unique($images_arr); sort($images_arr); } return $images_arr; } //void FUNCION attach() public // Descripción: prepara los ficheros a adjuntar con los protocolos adecuados // Parámetros : // Devuelve: function attach($attach) { if(is_array($attach) && count($attach)>0) foreach($attach as $value) { $attached=(string)$value; $name=basename($attached); $type= 'application/octet-stream'; $data=$this->encodeFile($attached); $toattach = "--$this->mixboundary\n"; $toattach .= "Content-Type: ".$type.";\n name=\"".$name."\"\n"; $toattach .= "Content-Transfer-Encoding: base64\n"; $toattach .= "Content-Disposition: attachment; filename=\"".$name."\"\n\n"; $toattach .= $data."\n\n"; $this->buildattached[] = $toattach; } else return false; } //string FUNCION buildMail() private // Descripción: construye el correo a mandar // Parámetros : // Devuelve: el mensaje que se quiere mandar con los protocolos adecuados function buildMail() { $this->setText(); if($this->tipo_mail=='html' ) { $toembed=$this->findImagesToEmbed(); if($toembed !="") $this->embed($toembed); } $this->attach($this->adjuntos) ; if($this->tipo_mail=='plain') { if((count($this->buildattached)>0)) { //el tipo es text plano con adjuntos $header= "Content-type: multipart/mixed; boundary=\"".$this->mixboundary."\"\n\n"; $header .= "--".$this->mixboundary."\n"; $header .= $this->textbody ; //$header .= ($this->body !="")?$this->body:$this->getTemplate('plain'); for($i=0;$ibuildattached);$i++) { $header .= $this->buildattached[$i]; } $header .= "--".$this->mixboundary."--\n"; } else {//el tipo es texto oplano sin adjuntos $header = $header .= $this->textbody ; } }// fin if($this->tip_mail=='plain') else {//si el tipo es html if(count($this->buildattached)<=0) { //manda correo html solo o html con incrustaciones $header .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"$this->relboundary\"\n\n"; $header .= "--$this->relboundary\n"; $header .= $this->textbody; for($i=0;$ibuildembeded);$i++) { $header .= $this->buildembeded[$i]; } $header .= "--$this->relboundary--"; }//fin if((count($this->buildattached)<=0)) elseif(count($this->buildembeded)<=0 && count($this->buildattached)>0) { // manda correo html sin incrustaciones y con attachments $header= "Content-type: multipart/mixed; boundary=\"".$this->mixboundary."\"\n\n"; $header .= "--$this->mixboundary\n"; $header .= $this->textbody; for($i=0;$ibuildattached);$i++) { $header .= $this->buildattached[$i]; } $header .= "--".$this->mixboundary."--\n"; }//fin if((count($this->buildembeded)<0)) else {////manda correo html con incrustaciones y attachments $header= "Content-type: multipart/mixed; boundary=\"".$this->mixboundary."\"\n\n"; $header .= "--$this->mixboundary\n"; $header .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"$this->relboundary\"\n\n"; $header .= "--$this->relboundary\n"; $header .= $this->textbody; for($i=0;$ibuildembeded);$i++) { $header .= $this->buildembeded[$i]; } $header .= "--$this->relboundary--\n\n"; for($i=0;$ibuildattached);$i++) { $header .= $this->buildattached[$i]; } $header .= "--".$this->mixboundary."--\n"; }//fin manda correo html con incrustaciones y attachments }//fin else si el tipo es html return $header; }//buildMail() //bool FUNCION send() public // Descripción: envia el mensaje // Parámetros : // Devuelve: true si el correo se manda con exito y false en caso de error function send($to_address,$to_name,$subject) { $header = $this->emailheader; $header .=$this->buildMail(); $sent=false; if($email=$this->validateEmail($to_address)) { if($to_name !="") $recipient='"'.$to_name.'"<'.$email.'>'; else $recipient=$email; if(mail($recipient,$subject,'',$header)) $sent=true; } else { $this->Principal_errors[0]=$to_name; $this->Principal_errors[1]=$to_address; $this->Principal_errors[2]='Principal'; } $this->cleanMemory(); return $sent; } //void FUNCION cleanMemoryv() private // Descripción: borra los arrays utilizados durante el envio del correo de la memoria despues del envio. // Parámetros : // Devuelve: function cleanMemory() { unset($this->emailheader); unset($this->textbody); unset($this->buildembeded); unset($this->buildeattached); } }//fin clase Mime ?> inicio.php
¿Quiénes somos?
¿Cómo funciona?
Documentación necesaria
Precio y forma de pago
Mutuo acuerdo: ventajas
Convenio regulador
Untitled Document

Convenio
regulador

Se llama Convenio Regulador al documento firmado por ambas partes y en el que se recogen los efectos y medidas que las partes libremente acuerdan para regular su separación o divorcio, convenio que posteriormente tien el Juez que aaprobar. Su importancia radica en la figura de la libre autonomía de la voluntad que tienen las partes para fijar, de común acuerdo, las condiciones que han de regir la ruptura del matrimonio. Si bien el Juez en principio, respeta la intimidad de las partes en estas cuestiones, se existen una serie de requisitos mínimos que éstos deben cumplir y que vienen regulados en nuestro artículo 90 del Código Civil. Por tanto, en dicho documento, que viene a tener la forma de un contrato, se deben recoger los siguientes aspectos fundamentales para la relación de la pareja, una vez producida la separación o divorcio, en función de que el matrimonio tenga o no hijos menores de edad:

A) Matrimonio con hijos menores de edad:

  1. Quien se atribuye la guarda y custodia de los hijos.
  2. Qué progenitor se queda con uso y disfrute de la vivienda conyugal. En este caso, lo normal es concederlo a los hijos menores y por tanto, a aquél progenitor que tenga adjudicada la guarda y custodia.
  3. Establecer un régimen de visitas a favor del progenitor no custodio. En este caso, suele establecerse un régimen de fines de semana alternos, de viernes a domingo, además de la mitad de las vacaciones. Pero los cónyuges pueden establecer el que deseen.
  4. Fijar cual va a ser la cuantía que el progenitor no custodio va a entregar mensualmente en concepto de pensión alimenticia a favor de los hijos. A modo orientativo, incluimos una tabla realizada por la Audiencia Provincial de Madrid, que se acerca mucho a los criterios aproximados que utilizan los jueces para fijar dicha cuantía (la tabla está en pesetas). No obstante, pueden los cónyuges de común acuerdo, fijar la cantidad que estimen conveniente, teniendo en cuenta que dicha cantidad no incluirá los gastos extraordinarios (dentistas, médicos no incluidos en la seguridad social, gastos de óptica, etc), que se abonarán por mitad entre ambos cónyuges.
    Si no sabéis que cantidad fijar como pensión alimenticia, podéis consultar el cuadro que adjuntamos, y que será de gran ayuda. Dichas cuantías, si bien no son obligatorias, se han obtenido de un estudio realizado en la Audiencia Provincial de Madrid, siendo las mismas un buen referente para fijar vuestra pensión.
  5. Si la separación genera un evidente desequilibrio económico a uno de los cónyuges, podrá fijarse una cantidad mensual a su favor, en concepto de Pensión compensatoria. Aunque en caso de acuerdo, puede pactarse la renuncia a este derecho, en caso de existir.
  6. Por último podemos indicar si se ha liquidado o no la Sociedad de Gananciales o si existen o no bienes en común. En caso de querer liquidar la Sociedad de Gananciales, recomendamos a los cónyuges acudan a un Notario donde les gestionarán dicho trámite.
  7. Se podrán también incluir aquellas condiciones especiales que los padres deseen.
  8. La única limitación legal que existe en el Convenio, es la de fijar las condiciones siempre en beneficio de los intereses de los menores, puesto que si alguna condición es perjudicial para los hijos (por ejemplo, no fijar una pensión de alimentos o negar una visita que es un derecho del niño) el Juez no aprobará dicho acuerdo.

B) Matrimonio sin hijos:

En este caso, el Convenio Regulador es mucho más sencillo, toda vez que indicaremos básicamente quien se queda con el uso y disfrute de la vivienda habitual, si fijamos el pago de algún tipo de pensión compensatoria y en el caso de existir bienes en común, manifestaremos si se ha procedido o no, a la liquidación de dicha sociedad ó, incluso podemos añadir un inventario de bienes y una valoración, a efectos de su posterior liquidación.


Para descargarte un modelo típico de Convenio Regulador (en formato PDF), pulsa aquí  Convenio regulador

Tabla obtenida estadísticamente de sentencias dictadas en la Audiencia Provincial de Madrid en el año 1998: