Newer
Older
tuve_tv_web / include / funcs.inc
@reddawg reddawg on 20 Mar 2008 5 KB TUve Web Site
<?

define("N_NEWITEM",0);
define("N_ITEMUPDATE",1);
define("N_WORKSCHEDULED",2);
define("N_NEWS",3);
define("N_CUSTOM",4);
define("N_SIZE",10);

function send_mail($to, $body, $subject, $fromaddress, $fromname, $attachments=false) {
  $eol="\r\n";
  $mime_boundary=md5(time());

  # Common Headers
  $headers .= "From: ".$fromname."<".$fromaddress.">".$eol;
  $headers .= "Reply-To: ".$fromname."<".$fromaddress.">".$eol;
  $headers .= "Return-Path: ".$fromname."<".$fromaddress.">".$eol;    // these two to set reply address
  $headers .= "Message-ID: <".time()."-".$fromaddress.">".$eol;
  $headers .= "X-Mailer: PHP v".phpversion().$eol;          // These two to help avoid spam-filters

  # Boundry for marking the split & Multitype Headers
  $headers .= 'MIME-Version: 1.0'.$eol;
  $headers .= "Content-Type: multipart/alternative; $eol boundary=\"".$mime_boundary."\"".$eol;

  $msg = "This is a multi-part message in MIME format.$eol";
  # Open the first part of the mail
  $msg .= "--".$mime_boundary.$eol;
  
  # Text Version
  $msg .= "--".$mime_boundary.$eol;
  $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol;
  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  $msg .= strip_tags(str_replace("<br>", "\r\n", substr($body, (strpos($body, "<body>")+6)))).$eol.$eol;

  # HTML Version
  $msg .= "--".$mime_boundary.$eol;
  $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol;
  $msg .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
  $msg .= $body.$eol.$eol;

  if ($attachments !== false)
  {
    for($i=0; $i < count($attachments); $i++)
    {
      if (is_file($attachments[$i]["file"]))
      {   
        # File for Attachment
        $file_name = substr($attachments[$i]["file"], (strrpos($attachments[$i]["file"], "/")+1));
        
        $handle=fopen($attachments[$i]["file"], 'rb');
        $f_contents=fread($handle, filesize($attachments[$i]["file"]));
        $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
        $f_type=filetype($attachments[$i]["file"]);
        fclose($handle);
        
        # Attachment
        $msg .= "--".$mime_boundary.$eol;
        $msg .= "Content-Type: ".$attachments[$i]["content_type"]."; name=\"".$file_name."\"".$eol;  // sometimes i have to send MS Word, use 'msword' instead of 'pdf'
        $msg .= "Content-Transfer-Encoding: base64".$eol;
        $msg .= "Content-Description: ".$file_name.$eol;
        $msg .= "Content-Disposition: attachment; filename=\"".$file_name."\"".$eol.$eol; // !! This line needs TWO end of lines !! IMPORTANT !!
        $msg .= $f_contents.$eol.$eol;
      }
    }
  }

  # Finished
  $msg .= "--".$mime_boundary."--".$eol.$eol;  // finish with two eol's for better security. see Injection.
  
  # SEND THE EMAIL
  ini_set(sendmail_from,$fromaddress);  // the INI lines are to force the From Address to be used !
  $mail_sent = mail($to, $subject, $msg, $headers);
  
  ini_restore(sendmail_from);
  
  return $mail_sent;
}


function makeRating($rating) {
  $ret = "<SELECT NAME=\"data[rating][$vid]\">\n";
  $ret .= "<OPTION VALUE=\"1\">Y</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">Y7</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">G</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">PG</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">14</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">MA</OPTION>\n";
  $ret .= "<OPTION VALUE=\"1\">AD</OPTION>\n";
  $ret .= "</SELECT>\n";
  return($ret);
  }




function getCompany($data,$cid) {
  if ($cid == -1)
    return("Everyone");
  else {
    $query = "SELECT company FROM users WHERE UID='$cid'";
    $result = mysql_query($query); 
    return(mysql_result($result,0,'company'));
    }
  }

function getGroup($data,$gid) {
  $query = "SELECT * FROM groups WHERE id='$gid'";
  $result = mysql_query($query);
  return(mysql_result($result,0,'group'));
  }

function mkGroupList($data) {
  $group = "<OPTION VALUE=\"\">Select Group</OPTION>\n";
  if ($data[lg] != "") {
    $query = "SELECT * FROM groups WHERE id > 1";
    $gid = $data[lg];
    }
  else { 
    $query = "SELECT * FROM groups";
    $gid = $data[gid];
    }
  $result = mysql_query($query);
  $rows = mysql_numrows($result);
  for ($i=0;$i<$rows;$i++) {
    $id = mysql_result($result,$i,'id');
    if ($gid == $id)
      $sel = "SELECTED";
    else
      $sel = "";
    $group .= "<OPTION VALUE=\"$id\" $sel>" . mysql_result($result,$i,'group') . "</OPTION>\n";
    } 
  return($group);
  }

function mkCompanyList($data) {
  $company = "<OPTION VALUE=\"\">Select Company</OPTION>\n"; 
  if ($data[gid] == 1)
    $query = "SELECT company,uid FROM users WHERE GID = 2 AND active = 1 ORDER BY company";
  else 
    $query = "SELECT company,uid FROM users WHERE UID='$data[uid]' ORDER BY company";
  $result = mysql_query($query);
  $num = mysql_numrows($result);
  if ($data[company] == -1) 
    $sel = "SELECTED";
  $company .= "<OPTION VALUE=\"-1\" $sel>All Companies</OPTION>\n";
  for ($i=0;$i<$num;$i++) {
    $uid = mysql_result($result,$i,'uid');
    if ($data[company] == $uid)
      $sel = "SELECTED";
    else 
      $sel = "";
    $company .= "<OPTION VALUE=\"$uid\" $sel>" . mysql_result($result,$i,'company') . "</OPTION>\n";
    }
  return($company);
  }

?>