Skip to content
This repository has been archived by the owner on Jan 24, 2019. It is now read-only.

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
devthejo committed Aug 18, 2015
0 parents commit 81b358b
Show file tree
Hide file tree
Showing 104 changed files with 44,162 additions and 0 deletions.
710 changes: 710 additions & 0 deletions Auth.php

Large diffs are not rendered by default.

475 changes: 475 additions & 0 deletions AuthServer.php

Large diffs are not rendered by default.

63 changes: 63 additions & 0 deletions PHPMailer.php
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);
}
}
148 changes: 148 additions & 0 deletions PHPMailer/EasyPeasyICS.php
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;
}
}
Loading

0 comments on commit 81b358b

Please sign in to comment.