This repository has been archived by the owner on Jan 24, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 81b358b
Showing
104 changed files
with
44,162 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
<?php namespace Wild\Identify; | ||
use Wild\Identify\PHPMailer\PHPMailer as OPHPMailer; | ||
class PHPMailer extends OPHPMailer{ | ||
function mail($email, $subject, $message, $html=true){ | ||
if(is_array($email)){ | ||
foreach($email as $k=>$v){ | ||
if(is_integer($k)) | ||
$this->addAddress($v); | ||
else | ||
$this->addAddress($k,$v); | ||
} | ||
} | ||
else{ | ||
$this->addAddress($email); | ||
} | ||
$this->Subject = $subject; | ||
if($html){ | ||
if(is_bool($html)){ | ||
$this->msgHTML($message); | ||
} | ||
else{ | ||
$this->msgHTML($html); | ||
$this->AltBody = $message; | ||
} | ||
} | ||
else{ | ||
$this->Body = $message; | ||
} | ||
return $this->send(); | ||
} | ||
function __construct($exceptions = false){ | ||
parent::__construct($exceptions); | ||
$config = $this->Config('mailer'); | ||
$fromName = isset($config['fromName'])?$config['fromName']:null; | ||
$fromEmail = isset($config['fromEmail'])?$config['fromEmail']:null; | ||
$replyName = isset($config['replyName'])?$config['replyName']:null; | ||
$replyEmail = isset($config['replyEmail'])?$config['replyEmail']:null; | ||
if(isset($config['host'])&&$config['host']){ | ||
$this->isSMTP(); | ||
if(isset($config['debug'])){ | ||
$this->SMTPDebug = $config['debug']; | ||
if($config['debug']) | ||
$this->Debugoutput = 'html'; | ||
} | ||
$this->Host = $config['host']; | ||
$this->Port = isset($config['port'])?$config['port']:25; | ||
if(isset($config['username'])){ | ||
$this->SMTPAuth = true; | ||
if(isset($config['secure'])) | ||
$this->SMTPSecure = $config['secure']===true?'tls':$config['secure']; | ||
$this->Username = $config['username']; | ||
$this->Password = $config['password']; | ||
} | ||
} | ||
elseif(isset($config['sendmail'])&&$config['sendmail']){ | ||
$this->isSendmail(); | ||
} | ||
if($fromEmail) | ||
$this->setFrom($fromEmail, $fromName); | ||
if($replyEmail) | ||
$this->addReplyTo($replyEmail, $replyName); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
<?php namespace Wild\Identify\PHPMailer; | ||
/** | ||
* EasyPeasyICS Simple ICS/vCal data generator. | ||
* @author Marcus Bointon <[email protected]> | ||
* @author Manuel Reinhard <[email protected]> | ||
* | ||
* Built with inspiration from | ||
* http://stackoverflow.com/questions/1463480/how-can-i-use-php-to-dynamically-publish-an-ical-file-to-be-read-by-google-calend/1464355#1464355 | ||
* History: | ||
* 2010/12/17 - Manuel Reinhard - when it all started | ||
* 2014 PHPMailer project becomes maintainer | ||
*/ | ||
|
||
/** | ||
* Class EasyPeasyICS. | ||
* Simple ICS data generator | ||
* @package phpmailer | ||
* @subpackage easypeasyics | ||
*/ | ||
class EasyPeasyICS | ||
{ | ||
/** | ||
* The name of the calendar | ||
* @type string | ||
*/ | ||
protected $calendarName; | ||
/** | ||
* The array of events to add to this calendar | ||
* @type array | ||
*/ | ||
protected $events = array(); | ||
|
||
/** | ||
* Constructor | ||
* @param string $calendarName | ||
*/ | ||
public function __construct($calendarName = "") | ||
{ | ||
$this->calendarName = $calendarName; | ||
} | ||
|
||
/** | ||
* Add an event to this calendar. | ||
* @param string $start The start date and time as a unix timestamp | ||
* @param string $end The end date and time as a unix timestamp | ||
* @param string $summary A summary or title for the event | ||
* @param string $description A description of the event | ||
* @param string $url A URL for the event | ||
* @param string $uid A unique identifier for the event - generated automatically if not provided | ||
* @return array An array of event details, including any generated UID | ||
*/ | ||
public function addEvent($start, $end, $summary = '', $description = '', $url = '', $uid = '') | ||
{ | ||
if (empty($uid)) { | ||
$uid = md5(uniqid(mt_rand(), true)) . '@EasyPeasyICS'; | ||
} | ||
$event = array( | ||
'start' => gmdate('Ymd', $start) . 'T' . gmdate('His', $start) . 'Z', | ||
'end' => gmdate('Ymd', $end) . 'T' . gmdate('His', $end) . 'Z', | ||
'summary' => $summary, | ||
'description' => $description, | ||
'url' => $url, | ||
'uid' => $uid | ||
); | ||
$this->events[] = $event; | ||
return $event; | ||
} | ||
|
||
/** | ||
* @return array Get the array of events. | ||
*/ | ||
public function getEvents() | ||
{ | ||
return $this->events; | ||
} | ||
|
||
/** | ||
* Clear all events. | ||
*/ | ||
public function clearEvents() | ||
{ | ||
$this->events = array(); | ||
} | ||
|
||
/** | ||
* Get the name of the calendar. | ||
* @return string | ||
*/ | ||
public function getName() | ||
{ | ||
return $this->calendarName; | ||
} | ||
|
||
/** | ||
* Set the name of the calendar. | ||
* @param $name | ||
*/ | ||
public function setName($name) | ||
{ | ||
$this->calendarName = $name; | ||
} | ||
|
||
/** | ||
* Render and optionally output a vcal string. | ||
* @param bool $output Whether to output the calendar data directly (the default). | ||
* @return string The complete rendered vlal | ||
*/ | ||
public function render($output = true) | ||
{ | ||
//Add header | ||
$ics = 'BEGIN:VCALENDAR | ||
METHOD:PUBLISH | ||
VERSION:2.0 | ||
X-WR-CALNAME:' . $this->calendarName . ' | ||
PRODID:-//hacksw/handcal//NONSGML v1.0//EN'; | ||
|
||
//Add events | ||
foreach ($this->events as $event) { | ||
$ics .= ' | ||
BEGIN:VEVENT | ||
UID:' . $event['uid'] . ' | ||
DTSTAMP:' . gmdate('Ymd') . 'T' . gmdate('His') . 'Z | ||
DTSTART:' . $event['start'] . ' | ||
DTEND:' . $event['end'] . ' | ||
SUMMARY:' . str_replace("\n", "\\n", $event['summary']) . ' | ||
DESCRIPTION:' . str_replace("\n", "\\n", $event['description']) . ' | ||
URL;VALUE=URI:' . $event['url'] . ' | ||
END:VEVENT'; | ||
} | ||
|
||
//Add footer | ||
$ics .= ' | ||
END:VCALENDAR'; | ||
|
||
if ($output) { | ||
//Output | ||
$filename = $this->calendarName; | ||
//Filename needs quoting if it contains spaces | ||
if (strpos($filename, ' ') !== false) { | ||
$filename = '"'.$filename.'"'; | ||
} | ||
header('Content-type: text/calendar; charset=utf-8'); | ||
header('Content-Disposition: inline; filename=' . $filename . '.ics'); | ||
echo $ics; | ||
} | ||
return $ics; | ||
} | ||
} |
Oops, something went wrong.