mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
newdevice: Added support for Gude ETS devices (#7145)
This commit is contained in:
parent
34d0fc3199
commit
3594f494eb
BIN
html/images/os/gude.png
Normal file
BIN
html/images/os/gude.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
21
includes/definitions/discovery/ets.yaml
Normal file
21
includes/definitions/discovery/ets.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
mib: GUDEADS-ETS-MIB
|
||||
modules:
|
||||
sensors:
|
||||
state:
|
||||
data:
|
||||
-
|
||||
oid: etsPrimPowAvail
|
||||
num_oid: .1.3.6.1.4.1.28507.4.1.2.
|
||||
descr: 'Primary power'
|
||||
index: 'etsPrimPowAvail.{{ $index }}'
|
||||
states:
|
||||
- { descr: unavailable, graph: 1, value: 0, generic: 2 }
|
||||
- { descr: available, graph: 1, value: 1, generic: 0 }
|
||||
-
|
||||
oid: etsSecPowAvail
|
||||
num_oid: .1.3.6.1.4.1.28507.4.1.3.
|
||||
descr: 'Secondary power'
|
||||
index: 'etsSecPowAvail.{{ $index }}'
|
||||
states:
|
||||
- { descr: unavailable, graph: 1, value: 0, generic: 2 }
|
||||
- { descr: available, graph: 1, value: 1, generic: 0 }
|
13
includes/definitions/ets.yaml
Normal file
13
includes/definitions/ets.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
os: ets
|
||||
text: 'Gude Expert Transfer Switch'
|
||||
type: power
|
||||
icon: gude
|
||||
group: gude
|
||||
mib_dir:
|
||||
- gude
|
||||
over:
|
||||
- { graph: device_bits, text: 'Device Traffic' }
|
||||
- { graph: device_state, text: 'States' }
|
||||
discovery:
|
||||
- sysObjectId:
|
||||
- .1.3.6.1.4.1.28507
|
261
mibs/gude/GUDEADS-ETS-MIB
Normal file
261
mibs/gude/GUDEADS-ETS-MIB
Normal file
@ -0,0 +1,261 @@
|
||||
GUDEADS-ETS-MIB DEFINITIONS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
enterprises,
|
||||
MODULE-IDENTITY,
|
||||
OBJECT-TYPE,
|
||||
NOTIFICATION-TYPE,
|
||||
Integer32,
|
||||
IpAddress
|
||||
FROM SNMPv2-SMI
|
||||
OBJECT-GROUP,
|
||||
NOTIFICATION-GROUP
|
||||
FROM SNMPv2-CONF;
|
||||
|
||||
gudeads MODULE-IDENTITY
|
||||
LAST-UPDATED "200705231244Z" -- May 23, 2007 12:44:00 PM
|
||||
ORGANIZATION "Gude Analog- und Digitalsysteme GmbH"
|
||||
CONTACT-INFO
|
||||
"http://www.gudeads.com/"
|
||||
DESCRIPTION
|
||||
""
|
||||
REVISION "200705231244Z" -- May 23, 2007 12:44:00 PM
|
||||
DESCRIPTION
|
||||
"Initial version."
|
||||
-- 1.3.6.1.4.1.28507
|
||||
::= { enterprises 28507 }
|
||||
|
||||
|
||||
|
||||
etsPrimaryPowerChangeEvt NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
etsPrimPowAvail}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Event is triggered when a primary power
|
||||
changes"
|
||||
-- 1.3.6.1.4.1.28507.4.0.1
|
||||
::= { etsEvents 1 }
|
||||
|
||||
|
||||
etsSecondaryPowerChangeEvt NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
etsSecPowAvail}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Event is triggered when a secondary power
|
||||
changes"
|
||||
-- 1.3.6.1.4.1.28507.4.0.2
|
||||
::= { etsEvents 2 }
|
||||
|
||||
etsSNMPaccess OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.1.1
|
||||
::= { etsObjects 1 }
|
||||
|
||||
etsTrapCtrl OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..2)
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"0 = off
|
||||
1 = Ver. 1
|
||||
2 = Ver. 2c"
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.1
|
||||
::= { etsSNMPaccess 1 }
|
||||
|
||||
|
||||
etsTrapIPTable OBJECT-TYPE
|
||||
SYNTAX SEQUENCE OF EtsTrapIPEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"list of all Trap receiver"
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.2
|
||||
::= { etsSNMPaccess 2 }
|
||||
|
||||
|
||||
etsTrapIPEntry OBJECT-TYPE
|
||||
SYNTAX EtsTrapIPEntry
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"an entry containing management
|
||||
informations regarding the list of trap
|
||||
receivers"
|
||||
INDEX {
|
||||
etsTrapIPIndex }
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.2.1
|
||||
::= { etsTrapIPTable 1 }
|
||||
|
||||
|
||||
EtsTrapIPEntry ::= SEQUENCE {
|
||||
|
||||
etsTrapIPIndex Integer32,
|
||||
etsTrapIPAddr IpAddress,
|
||||
etsTrapIPPort Integer32 }
|
||||
|
||||
|
||||
etsTrapIPIndex OBJECT-TYPE
|
||||
SYNTAX Integer32 (1..8)
|
||||
MAX-ACCESS not-accessible
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"A unique value, greater than zero, for each receiver slot."
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.2.1.1
|
||||
::= { etsTrapIPEntry 1 }
|
||||
|
||||
|
||||
etsTrapIPPort OBJECT-TYPE
|
||||
SYNTAX Integer32 (0..1024)
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"IP Port specifying one Trap receiver slot.
|
||||
A value of 0 disables this slot."
|
||||
DEFVAL { 162 }
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.2.1.3
|
||||
::= { etsTrapIPEntry 3 }
|
||||
|
||||
|
||||
etsTrapIPAddr OBJECT-TYPE
|
||||
SYNTAX IpAddress
|
||||
MAX-ACCESS read-write
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"IP Address specifying one Trap receiver slot.
|
||||
A value of '00000000'H disables this slot."
|
||||
DEFVAL { '00000000'H }
|
||||
-- 1.3.6.1.4.1.28507.4.1.1.2.1.2
|
||||
::= { etsTrapIPEntry 2 }
|
||||
|
||||
|
||||
gadsETS OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4
|
||||
::= { gudeads 4 }
|
||||
|
||||
-- Scalars and Tables
|
||||
--
|
||||
|
||||
etsObjects OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.1
|
||||
::= { gadsETS 1 }
|
||||
|
||||
etsPrimPowAvail OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"not zero if primary Power available"
|
||||
-- 1.3.6.1.4.1.28507.4.1.2
|
||||
::= { etsObjects 2 }
|
||||
|
||||
|
||||
etsSecPowAvail OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"not zero if secondary Power available"
|
||||
-- 1.3.6.1.4.1.28507.4.1.3
|
||||
::= { etsObjects 3 }
|
||||
|
||||
|
||||
etsSecManualSelect OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"not zero if secondary Power is manually selected"
|
||||
-- 1.3.6.1.4.1.28507.4.1.4
|
||||
::= { etsObjects 4 }
|
||||
|
||||
|
||||
-- Notification Types
|
||||
--
|
||||
|
||||
etsEvents OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.0
|
||||
::= { gadsETS 0 }
|
||||
|
||||
etsPowerSelect OBJECT-TYPE
|
||||
SYNTAX Integer32
|
||||
MAX-ACCESS read-only
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"if 1, power is primary
|
||||
if 2, power is secondary"
|
||||
-- 1.3.6.1.4.1.28507.4.1.5
|
||||
::= { etsObjects 5 }
|
||||
|
||||
|
||||
-- Conformance
|
||||
--
|
||||
|
||||
etsConf OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.3
|
||||
::= { gadsETS 3 }
|
||||
|
||||
-- Groups
|
||||
--
|
||||
|
||||
etsGroups OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.3.1
|
||||
::= { etsConf 1 }
|
||||
|
||||
-- Compliance
|
||||
--
|
||||
|
||||
etsCompls OBJECT IDENTIFIER
|
||||
-- 1.3.6.1.4.1.28507.4.3.2
|
||||
::= { etsConf 2 }
|
||||
|
||||
|
||||
etsManualSelectEvt NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
etsSecManualSelect}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"triggered when secondary power is manually
|
||||
selected"
|
||||
-- 1.3.6.1.4.1.28507.4.0.3
|
||||
::= { etsEvents 3 }
|
||||
|
||||
|
||||
etsPowerSelectEvt NOTIFICATION-TYPE
|
||||
OBJECTS {
|
||||
etsPowerSelect}
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Event is triggered when power changes
|
||||
between primary and secondary"
|
||||
-- 1.3.6.1.4.1.28507.4.0.4
|
||||
::= { etsEvents 4 }
|
||||
|
||||
etsBasicGroup OBJECT-GROUP
|
||||
OBJECTS {
|
||||
etsPrimPowAvail,
|
||||
etsSecPowAvail,
|
||||
etsSecManualSelect,
|
||||
etsPowerSelect,
|
||||
etsTrapCtrl,
|
||||
etsTrapIPAddr,
|
||||
etsTrapIPPort }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
"Basic objects."
|
||||
-- 1.3.6.1.4.1.28507.4.3.1.1
|
||||
::= { etsGroups 1 }
|
||||
|
||||
etsNotificationGroup NOTIFICATION-GROUP
|
||||
NOTIFICATIONS {
|
||||
etsPrimaryPowerChangeEvt,
|
||||
etsSecondaryPowerChangeEvt,
|
||||
etsManualSelectEvt,
|
||||
etsPowerSelectEvt }
|
||||
STATUS current
|
||||
DESCRIPTION
|
||||
""
|
||||
-- 1.3.6.1.4.1.28507.4.3.1.2
|
||||
::= { etsGroups 2 }
|
||||
|
||||
END
|
2
tests/snmpsim/ets.snmprec
Normal file
2
tests/snmpsim/ets.snmprec
Normal file
@ -0,0 +1,2 @@
|
||||
1.3.6.1.2.1.1.1.0|4|Auto Transfer Switch
|
||||
1.3.6.1.2.1.1.2.0|6|.1.3.6.1.4.1.28507.4
|
1328
vendor/composer/autoload_classmap.php
vendored
1328
vendor/composer/autoload_classmap.php
vendored
File diff suppressed because it is too large
Load Diff
4
vendor/composer/autoload_namespaces.php
vendored
4
vendor/composer/autoload_namespaces.php
vendored
@ -6,10 +6,14 @@ $vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
|
||||
'Slim' => array($vendorDir . '/slim/slim'),
|
||||
'Requests' => array($vendorDir . '/rmccue/requests/library'),
|
||||
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
|
||||
'Phpass' => array($vendorDir . '/xjtuwangke/passwordhash/src'),
|
||||
'PhpAmqpLib' => array($vendorDir . '/php-amqplib/php-amqplib'),
|
||||
'JakubOnderka\\PhpConsoleHighlighter' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'),
|
||||
'JakubOnderka\\PhpConsoleColor' => array($vendorDir . '/jakub-onderka/php-console-color/src'),
|
||||
'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
|
||||
'Console_Color2' => array($vendorDir . '/pear/console_color2'),
|
||||
);
|
||||
|
3
vendor/composer/autoload_psr4.php
vendored
3
vendor/composer/autoload_psr4.php
vendored
@ -6,9 +6,12 @@ $vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Ulrichsg\\Getopt\\' => array($vendorDir . '/ulrichsg/getopt-php/src'),
|
||||
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
|
||||
'ReadmeGen\\' => array($vendorDir . '/fojuth/readmegen/src'),
|
||||
'LibreNMS\\Tests\\' => array($baseDir . '/tests'),
|
||||
'LibreNMS\\' => array($baseDir . '/LibreNMS'),
|
||||
'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
|
||||
'Dapphp\\Radius\\' => array($vendorDir . '/dapphp/radius/src'),
|
||||
'Amenadiel\\JpGraph\\Util\\' => array($vendorDir . '/amenadiel/jpgraph/src/util'),
|
||||
'Amenadiel\\JpGraph\\Themes\\' => array($vendorDir . '/amenadiel/jpgraph/src/themes'),
|
||||
|
1371
vendor/composer/autoload_static.php
vendored
1371
vendor/composer/autoload_static.php
vendored
File diff suppressed because it is too large
Load Diff
1556
vendor/composer/installed.json
vendored
1556
vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load Diff
2
vendor/phpmailer/phpmailer/VERSION
vendored
2
vendor/phpmailer/phpmailer/VERSION
vendored
@ -1 +1 @@
|
||||
5.2.21
|
||||
5.2.24
|
||||
|
53
vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
53
vendor/phpmailer/phpmailer/class.phpmailer.php
vendored
@ -31,7 +31,7 @@ class PHPMailer
|
||||
* The PHPMailer Version number.
|
||||
* @var string
|
||||
*/
|
||||
public $Version = '5.2.21';
|
||||
public $Version = '5.2.24';
|
||||
|
||||
/**
|
||||
* Email priority.
|
||||
@ -440,9 +440,9 @@ class PHPMailer
|
||||
*
|
||||
* Parameters:
|
||||
* boolean $result result of the send action
|
||||
* string $to email address of the recipient
|
||||
* string $cc cc email addresses
|
||||
* string $bcc bcc email addresses
|
||||
* array $to email addresses of the recipients
|
||||
* array $cc cc email addresses
|
||||
* array $bcc bcc email addresses
|
||||
* string $subject the subject
|
||||
* string $body the email body
|
||||
* string $from email address of sender
|
||||
@ -1622,8 +1622,13 @@ class PHPMailer
|
||||
|
||||
foreach ($hosts as $hostentry) {
|
||||
$hostinfo = array();
|
||||
if (!preg_match('/^((ssl|tls):\/\/)*([a-zA-Z0-9\.-]*):?([0-9]*)$/', trim($hostentry), $hostinfo)) {
|
||||
if (!preg_match(
|
||||
'/^((ssl|tls):\/\/)*([a-zA-Z0-9\.-]*|\[[a-fA-F0-9:]+\]):?([0-9]*)$/',
|
||||
trim($hostentry),
|
||||
$hostinfo
|
||||
)) {
|
||||
// Not a valid host entry
|
||||
$this->edebug('Ignoring invalid host: ' . $hostentry);
|
||||
continue;
|
||||
}
|
||||
// $hostinfo[2]: optional ssl or tls prefix
|
||||
@ -1742,6 +1747,7 @@ class PHPMailer
|
||||
'dk' => 'da',
|
||||
'no' => 'nb',
|
||||
'se' => 'sv',
|
||||
'sr' => 'rs'
|
||||
);
|
||||
|
||||
if (isset($renamed_langcodes[$langcode])) {
|
||||
@ -2024,10 +2030,7 @@ class PHPMailer
|
||||
{
|
||||
$result = '';
|
||||
|
||||
if ($this->MessageDate == '') {
|
||||
$this->MessageDate = self::rfcDate();
|
||||
}
|
||||
$result .= $this->headerLine('Date', $this->MessageDate);
|
||||
$result .= $this->headerLine('Date', $this->MessageDate == '' ? self::rfcDate() : $this->MessageDate);
|
||||
|
||||
// To be created automatically by mail()
|
||||
if ($this->SingleTo) {
|
||||
@ -2492,6 +2495,7 @@ class PHPMailer
|
||||
|
||||
/**
|
||||
* Add an attachment from a path on the filesystem.
|
||||
* Never use a user-supplied path to a file!
|
||||
* Returns false if the file could not be found or read.
|
||||
* @param string $path Path to the attachment.
|
||||
* @param string $name Overrides the attachment name.
|
||||
@ -3017,6 +3021,7 @@ class PHPMailer
|
||||
* displayed inline with the message, not just attached for download.
|
||||
* This is used in HTML messages that embed the images
|
||||
* the HTML refers to using the $cid value.
|
||||
* Never use a user-supplied path to a file!
|
||||
* @param string $path Path to the attachment.
|
||||
* @param string $cid Content ID of the attachment; Use this to reference
|
||||
* the content when using an embedded image in HTML.
|
||||
@ -3380,12 +3385,14 @@ class PHPMailer
|
||||
* Create a message body from an HTML string.
|
||||
* Automatically inlines images and creates a plain-text version by converting the HTML,
|
||||
* overwriting any existing values in Body and AltBody.
|
||||
* $basedir is used when handling relative image paths, e.g. <img src="images/a.png">
|
||||
* Do not source $message content from user input!
|
||||
* $basedir is prepended when handling relative URLs, e.g. <img src="/images/a.png"> and must not be empty
|
||||
* will look for an image file in $basedir/images/a.png and convert it to inline.
|
||||
* If you don't want to apply these transformations to your HTML, just set Body and AltBody yourself.
|
||||
* If you don't provide a $basedir, relative paths will be left untouched (and thus probably break in email)
|
||||
* If you don't want to apply these transformations to your HTML, just set Body and AltBody directly.
|
||||
* @access public
|
||||
* @param string $message HTML message string
|
||||
* @param string $basedir base directory for relative paths to images
|
||||
* @param string $basedir Absolute path to a base directory to prepend to relative paths to images
|
||||
* @param boolean|callable $advanced Whether to use the internal HTML to text converter
|
||||
* or your own custom converter @see PHPMailer::html2text()
|
||||
* @return string $message The transformed message Body
|
||||
@ -3394,6 +3401,10 @@ class PHPMailer
|
||||
{
|
||||
preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images);
|
||||
if (array_key_exists(2, $images)) {
|
||||
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
||||
// Ensure $basedir has a trailing /
|
||||
$basedir .= '/';
|
||||
}
|
||||
foreach ($images[2] as $imgindex => $url) {
|
||||
// Convert data URIs into embedded images
|
||||
if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) {
|
||||
@ -3411,18 +3422,24 @@ class PHPMailer
|
||||
$message
|
||||
);
|
||||
}
|
||||
} elseif (substr($url, 0, 4) !== 'cid:' && !preg_match('#^[a-z][a-z0-9+.-]*://#i', $url)) {
|
||||
// Do not change urls for absolute images (thanks to corvuscorax)
|
||||
continue;
|
||||
}
|
||||
if (
|
||||
// Only process relative URLs if a basedir is provided (i.e. no absolute local paths)
|
||||
!empty($basedir)
|
||||
// Ignore URLs containing parent dir traversal (..)
|
||||
&& (strpos($url, '..') === false)
|
||||
// Do not change urls that are already inline images
|
||||
&& substr($url, 0, 4) !== 'cid:'
|
||||
// Do not change absolute URLs, including anonymous protocol
|
||||
&& !preg_match('#^[a-z][a-z0-9+.-]*:?//#i', $url)
|
||||
) {
|
||||
$filename = basename($url);
|
||||
$directory = dirname($url);
|
||||
if ($directory == '.') {
|
||||
$directory = '';
|
||||
}
|
||||
$cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2
|
||||
if (strlen($basedir) > 1 && substr($basedir, -1) != '/') {
|
||||
$basedir .= '/';
|
||||
}
|
||||
if (strlen($directory) > 1 && substr($directory, -1) != '/') {
|
||||
$directory .= '/';
|
||||
}
|
||||
@ -4019,7 +4036,7 @@ class phpmailerException extends Exception
|
||||
*/
|
||||
public function errorMessage()
|
||||
{
|
||||
$errorMsg = '<strong>' . $this->getMessage() . "</strong><br />\n";
|
||||
$errorMsg = '<strong>' . htmlspecialchars($this->getMessage()) . "</strong><br />\n";
|
||||
return $errorMsg;
|
||||
}
|
||||
}
|
||||
|
2
vendor/phpmailer/phpmailer/class.pop3.php
vendored
2
vendor/phpmailer/phpmailer/class.pop3.php
vendored
@ -34,7 +34,7 @@ class POP3
|
||||
* @var string
|
||||
* @access public
|
||||
*/
|
||||
public $Version = '5.2.21';
|
||||
public $Version = '5.2.24';
|
||||
|
||||
/**
|
||||
* Default POP3 port number.
|
||||
|
113
vendor/phpmailer/phpmailer/class.smtp.php
vendored
113
vendor/phpmailer/phpmailer/class.smtp.php
vendored
@ -30,7 +30,7 @@ class SMTP
|
||||
* The PHPMailer SMTP version number.
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '5.2.21';
|
||||
const VERSION = '5.2.24';
|
||||
|
||||
/**
|
||||
* SMTP line break constant.
|
||||
@ -81,7 +81,7 @@ class SMTP
|
||||
* @deprecated Use the `VERSION` constant instead
|
||||
* @see SMTP::VERSION
|
||||
*/
|
||||
public $Version = '5.2.21';
|
||||
public $Version = '5.2.24';
|
||||
|
||||
/**
|
||||
* SMTP server port number.
|
||||
@ -150,16 +150,16 @@ class SMTP
|
||||
*/
|
||||
public $Timelimit = 300;
|
||||
|
||||
/**
|
||||
* @var array patterns to extract smtp transaction id from smtp reply
|
||||
* Only first capture group will be use, use non-capturing group to deal with it
|
||||
* Extend this class to override this property to fulfil your needs.
|
||||
*/
|
||||
protected $smtp_transaction_id_patterns = array(
|
||||
'exim' => '/[0-9]{3} OK id=(.*)/',
|
||||
'sendmail' => '/[0-9]{3} 2.0.0 (.*) Message/',
|
||||
'postfix' => '/[0-9]{3} 2.0.0 Ok: queued as (.*)/'
|
||||
);
|
||||
/**
|
||||
* @var array patterns to extract smtp transaction id from smtp reply
|
||||
* Only first capture group will be use, use non-capturing group to deal with it
|
||||
* Extend this class to override this property to fulfil your needs.
|
||||
*/
|
||||
protected $smtp_transaction_id_patterns = array(
|
||||
'exim' => '/[0-9]{3} OK id=(.*)/',
|
||||
'sendmail' => '/[0-9]{3} 2.0.0 (.*) Message/',
|
||||
'postfix' => '/[0-9]{3} 2.0.0 Ok: queued as (.*)/'
|
||||
);
|
||||
|
||||
/**
|
||||
* The socket for the server connection.
|
||||
@ -227,12 +227,11 @@ class SMTP
|
||||
break;
|
||||
case 'html':
|
||||
//Cleans up output a bit for a better looking, HTML-safe output
|
||||
echo htmlentities(
|
||||
echo gmdate('Y-m-d H:i:s') . ' ' . htmlentities(
|
||||
preg_replace('/[\r\n]+/', '', $str),
|
||||
ENT_QUOTES,
|
||||
'UTF-8'
|
||||
)
|
||||
. "<br>\n";
|
||||
) . "<br>\n";
|
||||
break;
|
||||
case 'echo':
|
||||
default:
|
||||
@ -242,7 +241,7 @@ class SMTP
|
||||
"\n",
|
||||
"\n \t ",
|
||||
trim($str)
|
||||
)."\n";
|
||||
) . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
@ -276,7 +275,8 @@ class SMTP
|
||||
}
|
||||
// Connect to the SMTP server
|
||||
$this->edebug(
|
||||
"Connection: opening to $host:$port, timeout=$timeout, options=".var_export($options, true),
|
||||
"Connection: opening to $host:$port, timeout=$timeout, options=" .
|
||||
var_export($options, true),
|
||||
self::DEBUG_CONNECTION
|
||||
);
|
||||
$errno = 0;
|
||||
@ -362,14 +362,14 @@ class SMTP
|
||||
}
|
||||
|
||||
// Begin encrypted connection
|
||||
if (!stream_socket_enable_crypto(
|
||||
set_error_handler(array($this, 'errorHandler'));
|
||||
$crypto_ok = stream_socket_enable_crypto(
|
||||
$this->smtp_conn,
|
||||
true,
|
||||
$crypto_method
|
||||
)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
);
|
||||
restore_error_handler();
|
||||
return $crypto_ok;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -398,8 +398,7 @@ class SMTP
|
||||
}
|
||||
|
||||
if (array_key_exists('EHLO', $this->server_caps)) {
|
||||
// SMTP extensions are available. Let's try to find a proper authentication method
|
||||
|
||||
// SMTP extensions are available; try to find a proper authentication method
|
||||
if (!array_key_exists('AUTH', $this->server_caps)) {
|
||||
$this->setError('Authentication is not allowed at this stage');
|
||||
// 'at this stage' means that auth may be allowed after the stage changes
|
||||
@ -424,7 +423,7 @@ class SMTP
|
||||
$this->setError('No supported authentication methods found');
|
||||
return false;
|
||||
}
|
||||
self::edebug('Auth method selected: '.$authtype, self::DEBUG_LOWLEVEL);
|
||||
self::edebug('Auth method selected: ' . $authtype, self::DEBUG_LOWLEVEL);
|
||||
}
|
||||
|
||||
if (!in_array($authtype, $this->server_caps['AUTH'])) {
|
||||
@ -550,7 +549,7 @@ class SMTP
|
||||
* Works like hash_hmac('md5', $data, $key)
|
||||
* in case that function is not available
|
||||
* @param string $data The data to hash
|
||||
* @param string $key The key to hash with
|
||||
* @param string $key The key to hash with
|
||||
* @access protected
|
||||
* @return string
|
||||
*/
|
||||
@ -893,7 +892,8 @@ class SMTP
|
||||
$code_ex = (count($matches) > 2 ? $matches[2] : null);
|
||||
// Cut off error code from each response line
|
||||
$detail = preg_replace(
|
||||
"/{$code}[ -]".($code_ex ? str_replace('.', '\\.', $code_ex).' ' : '')."/m",
|
||||
"/{$code}[ -]" .
|
||||
($code_ex ? str_replace('.', '\\.', $code_ex) . ' ' : '') . "/m",
|
||||
'',
|
||||
$this->last_reply
|
||||
);
|
||||
@ -989,7 +989,10 @@ class SMTP
|
||||
public function client_send($data)
|
||||
{
|
||||
$this->edebug("CLIENT -> SERVER: $data", self::DEBUG_CLIENT);
|
||||
return fwrite($this->smtp_conn, $data);
|
||||
set_error_handler(array($this, 'errorHandler'));
|
||||
$result = fwrite($this->smtp_conn, $data);
|
||||
restore_error_handler();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1089,8 +1092,10 @@ class SMTP
|
||||
$this->edebug("SMTP -> get_lines(): \$data is \"$data\"", self::DEBUG_LOWLEVEL);
|
||||
$this->edebug("SMTP -> get_lines(): \$str is \"$str\"", self::DEBUG_LOWLEVEL);
|
||||
$data .= $str;
|
||||
// If 4th character is a space, we are done reading, break the loop, micro-optimisation over strlen
|
||||
if ((isset($str[3]) and $str[3] == ' ')) {
|
||||
// If response is only 3 chars (not valid, but RFC5321 S4.2 says it must be handled),
|
||||
// or 4th character is a space, we are done reading, break the loop,
|
||||
// string array access is a micro-optimisation over strlen
|
||||
if (!isset($str[3]) or (isset($str[3]) and $str[3] == ' ')) {
|
||||
break;
|
||||
}
|
||||
// Timed-out? Log and break
|
||||
@ -1105,7 +1110,7 @@ class SMTP
|
||||
// Now check if reads took too long
|
||||
if ($endtime and time() > $endtime) {
|
||||
$this->edebug(
|
||||
'SMTP -> get_lines(): timelimit reached ('.
|
||||
'SMTP -> get_lines(): timelimit reached (' .
|
||||
$this->Timelimit . ' sec)',
|
||||
self::DEBUG_LOWLEVEL
|
||||
);
|
||||
@ -1208,42 +1213,44 @@ class SMTP
|
||||
* Reports an error number and string.
|
||||
* @param integer $errno The error number returned by PHP.
|
||||
* @param string $errmsg The error message returned by PHP.
|
||||
* @param string $errfile The file the error occurred in
|
||||
* @param integer $errline The line number the error occurred on
|
||||
*/
|
||||
protected function errorHandler($errno, $errmsg)
|
||||
protected function errorHandler($errno, $errmsg, $errfile = '', $errline = 0)
|
||||
{
|
||||
$notice = 'Connection: Failed to connect to server.';
|
||||
$notice = 'Connection failed.';
|
||||
$this->setError(
|
||||
$notice,
|
||||
$errno,
|
||||
$errmsg
|
||||
);
|
||||
$this->edebug(
|
||||
$notice . ' Error number ' . $errno . '. "Error notice: ' . $errmsg,
|
||||
$notice . ' Error #' . $errno . ': ' . $errmsg . " [$errfile line $errline]",
|
||||
self::DEBUG_CONNECTION
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Will return the ID of the last smtp transaction based on a list of patterns provided
|
||||
* in SMTP::$smtp_transaction_id_patterns.
|
||||
* If no reply has been received yet, it will return null.
|
||||
* If no pattern has been matched, it will return false.
|
||||
* @return bool|null|string
|
||||
*/
|
||||
public function getLastTransactionID()
|
||||
{
|
||||
$reply = $this->getLastReply();
|
||||
/**
|
||||
* Will return the ID of the last smtp transaction based on a list of patterns provided
|
||||
* in SMTP::$smtp_transaction_id_patterns.
|
||||
* If no reply has been received yet, it will return null.
|
||||
* If no pattern has been matched, it will return false.
|
||||
* @return bool|null|string
|
||||
*/
|
||||
public function getLastTransactionID()
|
||||
{
|
||||
$reply = $this->getLastReply();
|
||||
|
||||
if (empty($reply)) {
|
||||
return null;
|
||||
}
|
||||
if (empty($reply)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) {
|
||||
if(preg_match($smtp_transaction_id_pattern, $reply, $matches)) {
|
||||
return $matches[1];
|
||||
}
|
||||
}
|
||||
foreach ($this->smtp_transaction_id_patterns as $smtp_transaction_id_pattern) {
|
||||
if (preg_match($smtp_transaction_id_pattern, $reply, $matches)) {
|
||||
return $matches[1];
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
21
vendor/phpmailer/phpmailer/composer.json
vendored
21
vendor/phpmailer/phpmailer/composer.json
vendored
@ -20,11 +20,28 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"ext-ctype": "*",
|
||||
"php": ">=5.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpdocumentor/phpdocumentor": "*",
|
||||
"phpunit/phpunit": "4.7.*"
|
||||
"doctrine/annotations": "1.2.*",
|
||||
"jms/serializer": "0.16.*",
|
||||
"phpdocumentor/phpdocumentor": "2.*",
|
||||
"phpunit/phpunit": "4.8.*",
|
||||
"symfony/debug": "2.8.*",
|
||||
"symfony/filesystem": "2.8.*",
|
||||
"symfony/translation": "2.8.*",
|
||||
"symfony/yaml": "2.8.*",
|
||||
"zendframework/zend-cache": "2.5.1",
|
||||
"zendframework/zend-config": "2.5.1",
|
||||
"zendframework/zend-eventmanager": "2.5.1",
|
||||
"zendframework/zend-filter": "2.5.1",
|
||||
"zendframework/zend-i18n": "2.5.1",
|
||||
"zendframework/zend-json": "2.5.1",
|
||||
"zendframework/zend-math": "2.5.1",
|
||||
"zendframework/zend-serializer": "2.5.*",
|
||||
"zendframework/zend-servicemanager": "2.5.*",
|
||||
"zendframework/zend-stdlib": "2.5.1"
|
||||
},
|
||||
"suggest": {
|
||||
"league/oauth2-google": "Needed for Google XOAUTH2 authentication"
|
||||
|
945
vendor/phpmailer/phpmailer/composer.lock
generated
vendored
945
vendor/phpmailer/phpmailer/composer.lock
generated
vendored
File diff suppressed because it is too large
Load Diff
@ -58,46 +58,53 @@ class phpmailerAppException extends phpmailerException
|
||||
$example_code .= "\n\nclass phpmailerAppException extends phpmailerException {}";
|
||||
$example_code .= "\n\ntry {";
|
||||
|
||||
// Convert a string to its JavaScript representation.
|
||||
function JSString($s) {
|
||||
static $from = array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"');
|
||||
static $to = array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\\"');
|
||||
return is_null($s)? 'null': '"' . str_replace($from, $to, "$s") . '"';
|
||||
}
|
||||
|
||||
try {
|
||||
if (isset($_POST["submit"]) && $_POST['submit'] == "Submit") {
|
||||
$to = $_POST['To_Email'];
|
||||
$to = $to_email;
|
||||
if (!PHPMailer::validateAddress($to)) {
|
||||
throw new phpmailerAppException("Email address " . $to . " is invalid -- aborting!");
|
||||
}
|
||||
|
||||
$example_code .= "\n\$to = '{$_POST['To_Email']}';";
|
||||
$example_code .= "\n\$to = '" . addslashes($to_email) . "';";
|
||||
$example_code .= "\nif(!PHPMailer::validateAddress(\$to)) {";
|
||||
$example_code .= "\n throw new phpmailerAppException(\"Email address \" . " .
|
||||
"\$to . \" is invalid -- aborting!\");";
|
||||
$example_code .= "\n}";
|
||||
|
||||
switch ($_POST['test_type']) {
|
||||
switch ($test_type) {
|
||||
case 'smtp':
|
||||
$mail->isSMTP(); // telling the class to use SMTP
|
||||
$mail->SMTPDebug = (integer)$_POST['smtp_debug'];
|
||||
$mail->Host = $_POST['smtp_server']; // SMTP server
|
||||
$mail->Port = (integer)$_POST['smtp_port']; // set the SMTP port
|
||||
if ($_POST['smtp_secure']) {
|
||||
$mail->SMTPSecure = strtolower($_POST['smtp_secure']);
|
||||
$mail->SMTPDebug = (integer)$smtp_debug;
|
||||
$mail->Host = $smtp_server; // SMTP server
|
||||
$mail->Port = (integer)$smtp_port; // set the SMTP port
|
||||
if ($smtp_secure) {
|
||||
$mail->SMTPSecure = strtolower($smtp_secure);
|
||||
}
|
||||
$mail->SMTPAuth = array_key_exists('smtp_authenticate', $_POST); // enable SMTP authentication?
|
||||
if (array_key_exists('smtp_authenticate', $_POST)) {
|
||||
$mail->Username = $_POST['authenticate_username']; // SMTP account username
|
||||
$mail->Password = $_POST['authenticate_password']; // SMTP account password
|
||||
$mail->Username = $authenticate_username; // SMTP account username
|
||||
$mail->Password = $authenticate_password; // SMTP account password
|
||||
}
|
||||
|
||||
$example_code .= "\n\$mail->isSMTP();";
|
||||
$example_code .= "\n\$mail->SMTPDebug = " . $_POST['smtp_debug'] . ";";
|
||||
$example_code .= "\n\$mail->Host = \"" . $_POST['smtp_server'] . "\";";
|
||||
$example_code .= "\n\$mail->Port = \"" . $_POST['smtp_port'] . "\";";
|
||||
$example_code .= "\n\$mail->SMTPSecure = \"" . strtolower($_POST['smtp_secure']) . "\";";
|
||||
$example_code .= "\n\$mail->SMTPDebug = " . (integer) $smtp_debug . ";";
|
||||
$example_code .= "\n\$mail->Host = \"" . addslashes($smtp_server) . "\";";
|
||||
$example_code .= "\n\$mail->Port = \"" . addslashes($smtp_port) . "\";";
|
||||
$example_code .= "\n\$mail->SMTPSecure = \"" . addslashes(strtolower($smtp_secure)) . "\";";
|
||||
$example_code .= "\n\$mail->SMTPAuth = " . (array_key_exists(
|
||||
'smtp_authenticate',
|
||||
$_POST
|
||||
) ? 'true' : 'false') . ";";
|
||||
if (array_key_exists('smtp_authenticate', $_POST)) {
|
||||
$example_code .= "\n\$mail->Username = \"" . $_POST['authenticate_username'] . "\";";
|
||||
$example_code .= "\n\$mail->Password = \"" . $_POST['authenticate_password'] . "\";";
|
||||
$example_code .= "\n\$mail->Username = \"" . addslashes($authenticate_username) . "\";";
|
||||
$example_code .= "\n\$mail->Password = \"" . addslashes($authenticate_password) . "\";";
|
||||
}
|
||||
break;
|
||||
case 'mail':
|
||||
@ -118,59 +125,59 @@ try {
|
||||
|
||||
try {
|
||||
if ($_POST['From_Name'] != '') {
|
||||
$mail->addReplyTo($_POST['From_Email'], $_POST['From_Name']);
|
||||
$mail->setFrom($_POST['From_Email'], $_POST['From_Name']);
|
||||
$mail->addReplyTo($from_email, $from_name);
|
||||
$mail->setFrom($from_email, $from_name);
|
||||
|
||||
$example_code .= "\n\$mail->addReplyTo(\"" .
|
||||
$_POST['From_Email'] . "\", \"" . $_POST['From_Name'] . "\");";
|
||||
addslashes($from_email) . "\", \"" . addslashes($from_name) . "\");";
|
||||
$example_code .= "\n\$mail->setFrom(\"" .
|
||||
$_POST['From_Email'] . "\", \"" . $_POST['From_Name'] . "\");";
|
||||
addslashes($from_email) . "\", \"" . addslashes($from_name) . "\");";
|
||||
} else {
|
||||
$mail->addReplyTo($_POST['From_Email']);
|
||||
$mail->setFrom($_POST['From_Email'], $_POST['From_Email']);
|
||||
$mail->addReplyTo($from_email);
|
||||
$mail->setFrom($from_email, $from_email);
|
||||
|
||||
$example_code .= "\n\$mail->addReplyTo(\"" . $_POST['From_Email'] . "\");";
|
||||
$example_code .= "\n\$mail->addReplyTo(\"" . addslashes($from_email) . "\");";
|
||||
$example_code .= "\n\$mail->setFrom(\"" .
|
||||
$_POST['From_Email'] . "\", \"" . $_POST['From_Email'] . "\");";
|
||||
addslashes($from_email) . "\", \"" . addslashes($from_email) . "\");";
|
||||
}
|
||||
|
||||
if ($_POST['To_Name'] != '') {
|
||||
$mail->addAddress($to, $_POST['To_Name']);
|
||||
$example_code .= "\n\$mail->addAddress(\"$to\", \"" . $_POST['To_Name'] . "\");";
|
||||
$mail->addAddress($to, $to_name);
|
||||
$example_code .= "\n\$mail->addAddress(\"$to\", \"" . addslashes($to_name) . "\");";
|
||||
} else {
|
||||
$mail->addAddress($to);
|
||||
$example_code .= "\n\$mail->addAddress(\"$to\");";
|
||||
}
|
||||
|
||||
if ($_POST['bcc_Email'] != '') {
|
||||
$indiBCC = explode(" ", $_POST['bcc_Email']);
|
||||
$indiBCC = explode(" ", $bcc_email);
|
||||
foreach ($indiBCC as $key => $value) {
|
||||
$mail->addBCC($value);
|
||||
$example_code .= "\n\$mail->addBCC(\"$value\");";
|
||||
$example_code .= "\n\$mail->addBCC(\"" . addslashes($value) . "\");";
|
||||
}
|
||||
}
|
||||
|
||||
if ($_POST['cc_Email'] != '') {
|
||||
$indiCC = explode(" ", $_POST['cc_Email']);
|
||||
$indiCC = explode(" ", $cc_Email);
|
||||
foreach ($indiCC as $key => $value) {
|
||||
$mail->addCC($value);
|
||||
$example_code .= "\n\$mail->addCC(\"$value\");";
|
||||
$example_code .= "\n\$mail->addCC(\"" . addslashes($value) . "\");";
|
||||
}
|
||||
}
|
||||
} catch (phpmailerException $e) { //Catch all kinds of bad addressing
|
||||
throw new phpmailerAppException($e->getMessage());
|
||||
}
|
||||
$mail->Subject = $_POST['Subject'] . ' (PHPMailer test using ' . strtoupper($_POST['test_type']) . ')';
|
||||
$example_code .= "\n\$mail->Subject = \"" . $_POST['Subject'] .
|
||||
' (PHPMailer test using ' . strtoupper($_POST['test_type']) . ')";';
|
||||
$mail->Subject = $subject . ' (PHPMailer test using ' . strtoupper($test_type) . ')';
|
||||
$example_code .= "\n\$mail->Subject = \"" . addslashes($subject) .
|
||||
' (PHPMailer test using ' . addslashes(strtoupper($test_type)) . ')";';
|
||||
|
||||
if ($_POST['Message'] == '') {
|
||||
$body = file_get_contents('contents.html');
|
||||
} else {
|
||||
$body = $_POST['Message'];
|
||||
$body = $message;
|
||||
}
|
||||
|
||||
$example_code .= "\n\$body = <<<'EOT'\n" . htmlentities($body) . "\nEOT;";
|
||||
$example_code .= "\n\$body = <<<'EOT'\n$body\nEOT;";
|
||||
|
||||
$mail->WordWrap = 78; // set word wrap to the RFC2822 limit
|
||||
$mail->msgHTML($body, dirname(__FILE__), true); //Create message bodies and embed images
|
||||
@ -187,7 +194,7 @@ try {
|
||||
$example_code .= "\n\ntry {";
|
||||
$example_code .= "\n \$mail->send();";
|
||||
$example_code .= "\n \$results_messages[] = \"Message has been sent using " .
|
||||
strtoupper($_POST['test_type']) . "\";";
|
||||
addslashes(strtoupper($test_type)) . "\";";
|
||||
$example_code .= "\n}";
|
||||
$example_code .= "\ncatch (phpmailerException \$e) {";
|
||||
$example_code .= "\n throw new phpmailerAppException('Unable to send to: ' . \$to. ': '.\$e->getMessage());";
|
||||
@ -195,7 +202,7 @@ try {
|
||||
|
||||
try {
|
||||
$mail->send();
|
||||
$results_messages[] = "Message has been sent using " . strtoupper($_POST["test_type"]);
|
||||
$results_messages[] = "Message has been sent using " . strtoupper($test_type);
|
||||
} catch (phpmailerException $e) {
|
||||
throw new phpmailerAppException("Unable to send to: " . $to . ': ' . $e->getMessage());
|
||||
}
|
||||
@ -309,22 +316,22 @@ $example_code .= "\n}";
|
||||
|
||||
function startAgain() {
|
||||
var post_params = {
|
||||
"From_Name": "<?php echo $from_name; ?>",
|
||||
"From_Email": "<?php echo $from_email; ?>",
|
||||
"To_Name": "<?php echo $to_name; ?>",
|
||||
"To_Email": "<?php echo $to_email; ?>",
|
||||
"cc_Email": "<?php echo $cc_email; ?>",
|
||||
"bcc_Email": "<?php echo $bcc_email; ?>",
|
||||
"Subject": "<?php echo $subject; ?>",
|
||||
"Message": "<?php echo $message; ?>",
|
||||
"test_type": "<?php echo $test_type; ?>",
|
||||
"smtp_debug": "<?php echo $smtp_debug; ?>",
|
||||
"smtp_server": "<?php echo $smtp_server; ?>",
|
||||
"smtp_port": "<?php echo $smtp_port; ?>",
|
||||
"smtp_secure": "<?php echo $smtp_secure; ?>",
|
||||
"smtp_authenticate": "<?php echo $smtp_authenticate; ?>",
|
||||
"authenticate_username": "<?php echo $authenticate_username; ?>",
|
||||
"authenticate_password": "<?php echo $authenticate_password; ?>"
|
||||
"From_Name": <?php echo JSString($from_name); ?>,
|
||||
"From_Email": <?php echo JSString($from_email); ?>,
|
||||
"To_Name": <?php echo JSString($to_name); ?>,
|
||||
"To_Email": <?php echo JSString($to_email); ?>,
|
||||
"cc_Email": <?php echo JSString($cc_email); ?>,
|
||||
"bcc_Email": <?php echo JSString($bcc_email); ?>,
|
||||
"Subject": <?php echo JSString($subject); ?>,
|
||||
"Message": <?php echo JSString($message); ?>,
|
||||
"test_type": <?php echo JSString($test_type); ?>,
|
||||
"smtp_debug": <?php echo JSString($smtp_debug); ?>,
|
||||
"smtp_server": <?php echo JSString($smtp_server); ?>,
|
||||
"smtp_port": <?php echo JSString($smtp_port); ?>,
|
||||
"smtp_secure": <?php echo JSString($smtp_secure); ?>,
|
||||
"smtp_authenticate": <?php echo JSString($smtp_authenticate); ?>,
|
||||
"authenticate_username": <?php echo JSString($authenticate_username); ?>,
|
||||
"authenticate_password": <?php echo JSString($authenticate_password); ?>
|
||||
};
|
||||
|
||||
var resetForm = document.createElement("form");
|
||||
@ -374,7 +381,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
echo "<button type=\"submit\" onclick=\"startAgain();\">Start Over</button><br>\n";
|
||||
echo "<br><span>Script:</span>\n";
|
||||
echo "<pre class=\"brush: php;\">\n";
|
||||
echo $example_code;
|
||||
echo htmlentities($example_code);
|
||||
echo "\n</pre>\n";
|
||||
echo "\n<hr style=\"margin: 3em;\">\n";
|
||||
}
|
||||
@ -390,7 +397,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<label for="From_Name"><strong>From</strong> Name</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="From_Name" name="From_Name" value="<?php echo $from_name; ?>"
|
||||
<input type="text" id="From_Name" name="From_Name" value="<?php echo htmlentities($from_name); ?>"
|
||||
style="width:95%;" autofocus placeholder="Your Name">
|
||||
</td>
|
||||
</tr>
|
||||
@ -399,7 +406,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<label for="From_Email"><strong>From</strong> Email Address</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="From_Email" name="From_Email" value="<?php echo $from_email; ?>"
|
||||
<input type="text" id="From_Email" name="From_Email" value="<?php echo htmlentities($from_email); ?>"
|
||||
style="width:95%;" required placeholder="Your.Email@example.com">
|
||||
</td>
|
||||
</tr>
|
||||
@ -408,7 +415,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<label for="To_Name"><strong>To</strong> Name</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="To_Name" name="To_Name" value="<?php echo $to_name; ?>"
|
||||
<input type="text" id="To_Name" name="To_Name" value="<?php echo htmlentities($to_name); ?>"
|
||||
style="width:95%;" placeholder="Recipient's Name">
|
||||
</td>
|
||||
</tr>
|
||||
@ -417,7 +424,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<label for="To_Email"><strong>To</strong> Email Address</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="To_Email" name="To_Email" value="<?php echo $to_email; ?>"
|
||||
<input type="text" id="To_Email" name="To_Email" value="<?php echo htmlentities($to_email); ?>"
|
||||
style="width:95%;" required placeholder="Recipients.Email@example.com">
|
||||
</td>
|
||||
</tr>
|
||||
@ -428,7 +435,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="cc_Email" name="cc_Email" value="<?php echo $cc_email; ?>"
|
||||
<input type="text" id="cc_Email" name="cc_Email" value="<?php echo htmlentities($cc_email); ?>"
|
||||
style="width:95%;" placeholder="cc1@example.com, cc2@example.com">
|
||||
</td>
|
||||
</tr>
|
||||
@ -439,7 +446,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
</label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="bcc_Email" name="bcc_Email" value="<?php echo $bcc_email; ?>"
|
||||
<input type="text" id="bcc_Email" name="bcc_Email" value="<?php echo htmlentities($bcc_email); ?>"
|
||||
style="width:95%;" placeholder="bcc1@example.com, bcc2@example.com">
|
||||
</td>
|
||||
</tr>
|
||||
@ -448,7 +455,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<label for="Subject"><strong>Subject</strong></label>
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<input type="text" name="Subject" id="Subject" value="<?php echo $subject; ?>"
|
||||
<input type="text" name="Subject" id="Subject" value="<?php echo htmlentities($subject); ?>"
|
||||
style="width:95%;" placeholder="Email Subject">
|
||||
</td>
|
||||
</tr>
|
||||
@ -460,7 +467,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
</td>
|
||||
<td class="colrite">
|
||||
<textarea name="Message" id="Message" style="width:95%;height:5em;"
|
||||
placeholder="Body of your email"><?php echo $message; ?></textarea>
|
||||
placeholder="Body of your email"><?php echo htmlentities($message); ?></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -531,7 +538,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<td class="colleft"><label for="smtp_server">SMTP Server</label></td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="smtp_server" name="smtp_server"
|
||||
value="<?php echo $smtp_server; ?>" style="width:95%;"
|
||||
value="<?php echo htmlentities($smtp_server); ?>" style="width:95%;"
|
||||
placeholder="smtp.server.com">
|
||||
</td>
|
||||
</tr>
|
||||
@ -539,7 +546,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<td class="colleft" style="width: 5em;"><label for="smtp_port">SMTP Port</label></td>
|
||||
<td class="colrite">
|
||||
<input type="text" name="smtp_port" id="smtp_port" size="3"
|
||||
value="<?php echo $smtp_port; ?>" placeholder="Port">
|
||||
value="<?php echo htmlentities($smtp_port); ?>" placeholder="Port">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -560,14 +567,14 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<?php if ($smtp_authenticate != '') {
|
||||
echo "checked";
|
||||
} ?>
|
||||
value="<?php echo $smtp_authenticate; ?>">
|
||||
value="true">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="colleft"><label for="authenticate_username">Authenticate Username</label></td>
|
||||
<td class="colrite">
|
||||
<input type="text" id="authenticate_username" name="authenticate_username"
|
||||
value="<?php echo $authenticate_username; ?>" style="width:95%;"
|
||||
value="<?php echo htmlentities($authenticate_username); ?>" style="width:95%;"
|
||||
placeholder="SMTP Server Username">
|
||||
</td>
|
||||
</tr>
|
||||
@ -575,7 +582,7 @@ if (isset($_POST["submit"]) && $_POST["submit"] == "Submit") {
|
||||
<td class="colleft"><label for="authenticate_password">Authenticate Password</label></td>
|
||||
<td class="colrite">
|
||||
<input type="password" name="authenticate_password" id="authenticate_password"
|
||||
value="<?php echo $authenticate_password; ?>" style="width:95%;"
|
||||
value="<?php echo htmlentities($authenticate_password); ?>" style="width:95%;"
|
||||
placeholder="SMTP Server Password">
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -15,6 +15,7 @@
|
||||
<p>Russian text: Пустое тело сообщения</p>
|
||||
<p>Armenian text: Հաղորդագրությունը դատարկ է</p>
|
||||
<p>Czech text: Prázdné tělo zprávy</p>
|
||||
<p>Emoji: <span style="font-size: 48px">😂 🦄 💥 📤 📧</span></p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -43,8 +43,8 @@ $mail->SMTPAuth = true;
|
||||
//Set AuthType
|
||||
$mail->AuthType = 'XOAUTH2';
|
||||
|
||||
//User Email to use for SMTP authentication - Use the same Email used in Google Developer Console
|
||||
$mail->oauthUserEmail = "someone@gmail.com";
|
||||
//User Email to use for SMTP authentication - user who gave consent to our app
|
||||
$mail->oauthUserEmail = "from@gmail.com";
|
||||
|
||||
//Obtained From Google Developer Console
|
||||
$mail->oauthClientId = "RANDOMCHARS-----duv1n2.apps.googleusercontent.com";
|
||||
|
@ -259,7 +259,7 @@ if (XRegExp) {
|
||||
|
||||
|
||||
//---------------------------------
|
||||
// Overriden native methods
|
||||
// Overridden native methods
|
||||
//---------------------------------
|
||||
|
||||
// Adds named capture support (with backreferences returned as `result.name`), and fixes two
|
||||
|
@ -17,7 +17,7 @@ if (array_key_exists('userfile', $_FILES)) {
|
||||
$mail->setFrom('from@example.com', 'First Last');
|
||||
$mail->addAddress('whoto@example.com', 'John Doe');
|
||||
$mail->Subject = 'PHPMailer file sender';
|
||||
$mail->msgHTML("My message body");
|
||||
$mail->Body = 'My message body';
|
||||
// Attach the uploaded file
|
||||
$mail->addAttachment($uploadfile, 'My uploaded file');
|
||||
if (!$mail->send()) {
|
||||
|
@ -12,7 +12,7 @@ if (array_key_exists('userfile', $_FILES)) {
|
||||
$mail->setFrom('from@example.com', 'First Last');
|
||||
$mail->addAddress('whoto@example.com', 'John Doe');
|
||||
$mail->Subject = 'PHPMailer file sender';
|
||||
$mail->msgHTML('My message body');
|
||||
$mail->Body = 'My message body';
|
||||
//Attach multiple files one by one
|
||||
for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
|
||||
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));
|
||||
|
8
vendor/phpmailer/phpmailer/extras/README.md
vendored
8
vendor/phpmailer/phpmailer/extras/README.md
vendored
@ -1,17 +1,17 @@
|
||||
#PHPMailer Extras
|
||||
# PHPMailer Extras
|
||||
|
||||
These classes provide optional additional functions to PHPMailer.
|
||||
|
||||
These are not loaded by the PHPMailer autoloader, so in some cases you may need to `require` them yourself before using them.
|
||||
|
||||
##EasyPeasyICS
|
||||
## EasyPeasyICS
|
||||
|
||||
This class was originally written by Manuel Reinhard and provides a simple means of generating ICS/vCal files that are used in sending calendar events. PHPMailer does not use it directly, but you can use it to generate content appropriate for placing in the `Ical` property of PHPMailer. The PHPMailer project is now its official home as Manuel has given permission for that and is no longer maintaining it himself.
|
||||
|
||||
##htmlfilter
|
||||
## htmlfilter
|
||||
|
||||
This class by Konstantin Riabitsev and Jim Jagielski implements HTML filtering to remove potentially malicious tags, such as `<script>` or `onclick=` attributes that can result in XSS attacks. This is a simple filter and is not as comprehensive as [HTMLawed](http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/) or [HTMLPurifier](http://htmlpurifier.org), but it's easier to use and considerably better than nothing! PHPMailer does not use it directly, but you may want to apply it to user-supplied HTML before using it as a message body.
|
||||
|
||||
##NTLM_SASL_client
|
||||
## NTLM_SASL_client
|
||||
|
||||
This class by Manuel Lemos (bundled with permission) adds the ability to authenticate with Microsoft Windows mail servers that use NTLM-based authentication. It is used by PHPMailer if you send via SMTP and set the `AuthType` property to `NTLM`; you will also need to use the `Realm` and `Workstation` properties. The original source is [here](http://www.phpclasses.org/browse/file/7495.html).
|
||||
|
10
vendor/phpmailer/phpmailer/extras/htmlfilter.php
vendored
10
vendor/phpmailer/phpmailer/extras/htmlfilter.php
vendored
@ -46,7 +46,7 @@ function tln_tagprint($tagname, $attary, $tagtype)
|
||||
$fulltag = '<' . $tagname;
|
||||
if (is_array($attary) && sizeof($attary)) {
|
||||
$atts = array();
|
||||
while (list($attname, $attvalue) = each($attary)) {
|
||||
foreach($attary as $attname => $attvalue) {
|
||||
array_push($atts, "$attname=$attvalue");
|
||||
}
|
||||
$fulltag .= ' ' . join(' ', $atts);
|
||||
@ -433,7 +433,7 @@ function tln_getnxtag($body, $offset)
|
||||
*
|
||||
* @param string $attvalue the by-ref value to check.
|
||||
* @param string $regex the regular expression to check against.
|
||||
* @param boolean $hex whether the entites are hexadecimal.
|
||||
* @param boolean $hex whether the entities are hexadecimal.
|
||||
* @return boolean True or False depending on whether there were matches.
|
||||
*/
|
||||
function tln_deent(&$attvalue, $regex, $hex = false)
|
||||
@ -520,7 +520,7 @@ function tln_fixatts(
|
||||
$trans_image_path,
|
||||
$block_external_images
|
||||
) {
|
||||
while (list($attname, $attvalue) = each($attary)) {
|
||||
foreach($attary as $attname => $attvalue) {
|
||||
/**
|
||||
* See if this attribute should be removed.
|
||||
*/
|
||||
@ -772,7 +772,7 @@ function tln_fixstyle($body, $pos, $trans_image_path, $block_external_images)
|
||||
tln_defang($contentTemp);
|
||||
tln_unspace($contentTemp);
|
||||
|
||||
$match = Array('/\/\*.*\*\//',
|
||||
$match = array('/\/\*.*\*\//',
|
||||
'/expression/i',
|
||||
'/behaviou*r/i',
|
||||
'/binding/i',
|
||||
@ -780,7 +780,7 @@ function tln_fixstyle($body, $pos, $trans_image_path, $block_external_images)
|
||||
'/javascript/i',
|
||||
'/script/i',
|
||||
'/position/i');
|
||||
$replace = Array('','idiocy', 'idiocy', 'idiocy', 'idiocy', 'idiocy', 'idiocy', '');
|
||||
$replace = array('','idiocy', 'idiocy', 'idiocy', 'idiocy', 'idiocy', 'idiocy', '');
|
||||
$contentNew = preg_replace($match, $replace, $contentTemp);
|
||||
if ($contentNew !== $contentTemp) {
|
||||
$content = $contentNew;
|
||||
|
@ -22,4 +22,4 @@ $PHPMAILER_LANG['signing'] = 'Chyba přihlašování: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() selhal.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'Chyba SMTP serveru: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Nelze nastavit nebo změnit proměnnou: ';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = 'Chybí rozšíření: ';
|
||||
|
@ -1,25 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Norwegian PHPMailer language file: refer to English translation for definitive list
|
||||
* Norwegian Bokmål PHPMailer language file: refer to English translation for definitive list
|
||||
* @package PHPMailer
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Feil: Kunne ikke autentisere.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Feil: Kunne ikke koble til SMTP tjener.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Feil: Data ble ikke akseptert.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'Meldingsinnholdet er tomt';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ukjent tegnkoding: ';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Feil: Datainnhold ikke akseptert.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'Melding kropp tomt';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ukjent koding: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunne ikke utføre: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Får ikke tilgang til filen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil feil: Kunne ikke åpne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende avsenderadresse feilet: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kunne ikke initialisere mailfunksjonen.';
|
||||
$PHPMAILER_LANG['invalid_address'] = 'Meldingen ble ikke sendt, følgende adresse er ugyldig: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du må angi minst en mottakeradresse.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer er ikke supportert.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feil: Følgende mottagere feilet: ';
|
||||
$PHPMAILER_LANG['signing'] = 'Signeringsfeil: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() feilet.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP-serverfeil: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Kan ikke sette eller resette variabelen: ';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil Feil: Kunne ikke åpne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende Frå adresse feilet: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kunne ikke initialisere post funksjon.';
|
||||
$PHPMAILER_LANG['invalid_address'] = 'Ugyldig adresse: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' sender er ikke støttet.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du må opppgi minst en mottakeradresse.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feil: Følgende mottakeradresse feilet: ';
|
||||
$PHPMAILER_LANG['signing'] = 'Signering Feil: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP connect() feilet.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP server feil: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Kan ikke skrive eller omskrive variabel: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = 'Utvidelse mangler: ';
|
||||
|
@ -5,6 +5,7 @@
|
||||
* @author Paulo Henrique Garcia <paulo@controllerweb.com.br>
|
||||
* @author Lucas Guimarães <lucas@lucasguimaraes.com>
|
||||
* @author Phelipe Alves <phelipealvesdesouza@gmail.com>
|
||||
* @author Fabio Beneditto <fabiobeneditto@gmail.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Erro de SMTP: Não foi possível autenticar.';
|
||||
@ -15,7 +16,7 @@ $PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Não foi possível executar: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Não foi possível acessar o arquivo: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: Não foi possível abrir o arquivo: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Os seguintes remententes falharam: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Os seguintes remetentes falharam: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Não foi possível instanciar a função mail.';
|
||||
$PHPMAILER_LANG['invalid_address'] = 'Endereço de e-mail inválido: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer não é suportado.';
|
||||
|
@ -1,26 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Serbian PHPMailer language file: refer to English translation for definitive list
|
||||
* @package PHPMailer
|
||||
* @author Александар Јевремовић <ajevremovic@gmail.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP грешка: аутентификација није успела.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP грешка: није могуће повезивање са SMTP сервером.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP грешка: подаци нису прихваћени.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'Садржај поруке је празан.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Непознато кодовање: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Није могуће извршити наредбу: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Није могуће приступити датотеци: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Није могуће отворити датотеку: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'SMTP грешка: слање са следећих адреса није успело: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP грешка: слање на следеће адресе није успело: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Није могуће покренути mail функцију.';
|
||||
$PHPMAILER_LANG['invalid_address'] = 'Порука није послата због неисправне адресе: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' мејлер није подржан.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Потребно је задати најмање једну адресу.';
|
||||
$PHPMAILER_LANG['signing'] = 'Грешка приликом пријављивања: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'Повезивање са SMTP сервером није успело.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'Грешка SMTP сервера: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Није могуће задати променљиву, нити је вратити уназад: ';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
@ -6,6 +6,7 @@
|
||||
* @author Can Yılmaz
|
||||
* @author Mehmet Benlioğlu
|
||||
* @author @yasinaydin
|
||||
* @author Ogün Karakuş
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Hatası: Oturum açılamadı.';
|
||||
@ -26,4 +27,4 @@ $PHPMAILER_LANG['signing'] = 'İmzalama hatası: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP connect() fonksiyonu başarısız.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP sunucu hatası: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Değişken ayarlanamadı ya da sıfırlanamadı: ';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = 'Eklenti bulunamadı: ';
|
||||
|
@ -4,13 +4,14 @@
|
||||
* @package PHPMailer
|
||||
* @author liqwei <liqwei@liqwei.com>
|
||||
* @author young <masxy@foxmail.com>
|
||||
* @author Teddysun <i@teddysun.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。';
|
||||
$PHPMAILER_LANG['empty_message'] = '邮件正文为空。';
|
||||
$PHPMAILER_LANG['encoding'] = '未知编码: ';
|
||||
$PHPMAILER_LANG['encoding'] = '未知编码:';
|
||||
$PHPMAILER_LANG['execute'] = '无法执行:';
|
||||
$PHPMAILER_LANG['file_access'] = '无法访问文件:';
|
||||
$PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:';
|
||||
@ -22,6 +23,6 @@ $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:';
|
||||
$PHPMAILER_LANG['signing'] = '登录失败:';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错: ';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:';
|
||||
$PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:';
|
||||
//$PHPMAILER_LANG['extension_missing'] = 'Extension missing: ';
|
||||
$PHPMAILER_LANG['extension_missing'] = '丢失模块 Extension:';
|
||||
|
3
vendor/tecnickcom/tcpdf/CHANGELOG.TXT
vendored
3
vendor/tecnickcom/tcpdf/CHANGELOG.TXT
vendored
@ -1,3 +1,6 @@
|
||||
6.2.13 (2016-06-10)
|
||||
- IMPORTANT: A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this version will not receive any additional development or support. This version should be considered obsolete, new projects should use the new version as soon it will become stable.
|
||||
|
||||
6.2.12 (2015-09-12)
|
||||
- fix composer package name to tecnickcom/tcpdf
|
||||
|
||||
|
117
vendor/tecnickcom/tcpdf/README.TXT
vendored
117
vendor/tecnickcom/tcpdf/README.TXT
vendored
@ -1,117 +0,0 @@
|
||||
TCPDF - README
|
||||
============================================================
|
||||
|
||||
I WISH TO IMPROVE AND EXPAND TCPDF BUT I NEED YOUR SUPPORT.
|
||||
PLEASE MAKE A DONATION:
|
||||
http://sourceforge.net/donate/index.php?group_id=128076
|
||||
or via PayPal at paypal@tecnick.com
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
Name: TCPDF
|
||||
Version: 6.2.12
|
||||
Release date: 2015-09-12
|
||||
Author: Nicola Asuni
|
||||
|
||||
Copyright (c) 2002-2015:
|
||||
Nicola Asuni
|
||||
Tecnick.com LTD
|
||||
www.tecnick.com
|
||||
|
||||
URLs:
|
||||
http://www.tcpdf.org
|
||||
http://www.sourceforge.net/projects/tcpdf
|
||||
https://github.com/tecnickcom/TCPDF
|
||||
|
||||
Description:
|
||||
TCPDF is a PHP class for generating PDF files on-the-fly without requiring external extensions.
|
||||
This library includes also a class to extract data from existing PDF documents and
|
||||
classes to generate 1D and 2D barcodes in various formats.
|
||||
|
||||
Main Features:
|
||||
* no external libraries are required for the basic functions;
|
||||
* all standard page formats, custom page formats, custom margins and units of measure;
|
||||
* UTF-8 Unicode and Right-To-Left languages;
|
||||
* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
|
||||
* font subsetting;
|
||||
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
||||
* images, graphic (geometric figures) and transformation methods;
|
||||
* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/script/formats.php)
|
||||
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
|
||||
* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
||||
* automatic page header and footer management;
|
||||
* document encryption up to 256 bit and digital signature certifications;
|
||||
* transactions to UNDO commands;
|
||||
* PDF annotations, including links, text and file attachments;
|
||||
* text rendering modes (fill, stroke and clipping);
|
||||
* multiple columns mode;
|
||||
* no-write page regions;
|
||||
* bookmarks, named destinations and table of content;
|
||||
* text hyphenation;
|
||||
* text stretching and spacing (tracking);
|
||||
* automatic page break, line break and text alignments including justification;
|
||||
* automatic page numbering and page groups;
|
||||
* move and delete pages;
|
||||
* page compression (requires php-zlib extension);
|
||||
* XOBject Templates;
|
||||
* Layers and object visibility.
|
||||
* PDF/A-1b support.
|
||||
|
||||
Installation (full instructions on http: www.tcpdf.org):
|
||||
1. copy the folder on your Web server
|
||||
2. set your installation path and other parameters on the config/tcpdf_config.php
|
||||
3. call the examples/example_001.php page with your browser to see an example
|
||||
|
||||
Source Code Documentation:
|
||||
http://www.tcpdf.org
|
||||
|
||||
Additional Documentation:
|
||||
http://www.tcpdf.org
|
||||
|
||||
License:
|
||||
Copyright (C) 2002-2014 Nicola Asuni - Tecnick.com LTD
|
||||
|
||||
TCPDF is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
TCPDF is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the License
|
||||
along with TCPDF. If not, see
|
||||
<http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>.
|
||||
|
||||
See LICENSE.TXT file for more information.
|
||||
|
||||
Third party fonts:
|
||||
|
||||
This library may include third party font files released with different licenses.
|
||||
|
||||
All the PHP files on the fonts directory are subject to the general TCPDF license (GNU-LGPLv3),
|
||||
they do not contain any binary data but just a description of the general properties of a particular font.
|
||||
These files can be also generated on the fly using the font utilities and TCPDF methods.
|
||||
|
||||
All the original binary TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files).
|
||||
|
||||
The binary files (.z) that begins with the prefix "free" have been extracted from the GNU FreeFont collection (GNU-GPLv3).
|
||||
The binary files (.z) that begins with the prefix "pdfa" have been derived from the GNU FreeFont, so they are subject to the same license.
|
||||
For the details of Copyright, License and other information, please check the files inside the directory fonts/freefont-20120503
|
||||
Link : http://www.gnu.org/software/freefont/
|
||||
|
||||
The binary files (.z) that begins with the prefix "dejavu" have been extracted from the DejaVu fonts 2.33 (Bitstream) collection.
|
||||
For the details of Copyright, License and other information, please check the files inside the directory fonts/dejavu-fonts-ttf-2.33
|
||||
Link : http://dejavu-fonts.org
|
||||
|
||||
The binary files (.z) that begins with the prefix "ae" have been extracted from the Arabeyes.org collection (GNU-GPLv2).
|
||||
Link : http://projects.arabeyes.org/
|
||||
|
||||
ICC profile:
|
||||
TCPDF includes the sRGB.icc profile from the icc-profiles-free Debian package:
|
||||
https://packages.debian.org/source/stable/icc-profiles-free
|
||||
|
||||
|
||||
============================================================
|
3
vendor/tecnickcom/tcpdf/composer.json
vendored
3
vendor/tecnickcom/tcpdf/composer.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "tecnickcom/tcpdf",
|
||||
"version": "6.2.12",
|
||||
"version": "6.2.13",
|
||||
"homepage": "http://www.tcpdf.org/",
|
||||
"type": "library",
|
||||
"description": "TCPDF is a PHP class for generating PDF documents and barcodes.",
|
||||
@ -18,7 +18,6 @@
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"fonts",
|
||||
"config",
|
||||
"include",
|
||||
"tcpdf.php",
|
||||
|
@ -55,7 +55,7 @@ class TCPDF_STATIC {
|
||||
* Current TCPDF version.
|
||||
* @private static
|
||||
*/
|
||||
private static $tcpdf_version = '6.2.12';
|
||||
private static $tcpdf_version = '6.2.13';
|
||||
|
||||
/**
|
||||
* String alias for total number of pages.
|
||||
|
30
vendor/tecnickcom/tcpdf/tcpdf.php
vendored
30
vendor/tecnickcom/tcpdf/tcpdf.php
vendored
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : tcpdf.php
|
||||
// Version : 6.2.12
|
||||
// Version : 6.2.13
|
||||
// Begin : 2002-08-03
|
||||
// Last Update : 2015-06-18
|
||||
// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
|
||||
@ -1822,9 +1822,9 @@ class TCPDF {
|
||||
/**
|
||||
* This is the class constructor.
|
||||
* It allows to set up the page format, the orientation and the measure unit used in all the methods (except for the font sizes).
|
||||
*
|
||||
*
|
||||
* IMPORTANT: Please note that this method sets the mb_internal_encoding to ASCII, so if you are using the mbstring module functions with TCPDF you need to correctly set/unset the mb_internal_encoding when needed.
|
||||
*
|
||||
*
|
||||
* @param $orientation (string) page orientation. Possible values are (case insensitive):<ul><li>P or Portrait (default)</li><li>L or Landscape</li><li>'' (empty string) for automatic orientation</li></ul>
|
||||
* @param $unit (string) User measure unit. Possible values are:<ul><li>pt: point</li><li>mm: millimeter (default)</li><li>cm: centimeter</li><li>in: inch</li></ul><br />A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This is a very common unit in typography; font sizes are expressed in that unit.
|
||||
* @param $format (mixed) The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat().
|
||||
@ -4691,7 +4691,7 @@ class TCPDF {
|
||||
* Defines the page and position a link points to.
|
||||
* @param $link (int) The link identifier returned by AddLink()
|
||||
* @param $y (float) Ordinate of target position; -1 indicates the current position. The default value is 0 (top of page)
|
||||
* @param $page (int) Number of target page; -1 indicates the current page (default value). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages.
|
||||
* @param $page (int) Number of target page; -1 indicates the current page (default value). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages.
|
||||
* @public
|
||||
* @since 1.5
|
||||
* @see AddLink()
|
||||
@ -5944,7 +5944,9 @@ class TCPDF {
|
||||
if ($startpage == $endpage) {
|
||||
// single page
|
||||
for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column
|
||||
$this->selectColumn($column);
|
||||
if ($column != $this->current_column) {
|
||||
$this->selectColumn($column);
|
||||
}
|
||||
if ($this->rtl) {
|
||||
$this->x -= $mc_margin['R'];
|
||||
} else {
|
||||
@ -5973,7 +5975,9 @@ class TCPDF {
|
||||
} // end for each column
|
||||
} elseif ($page == $startpage) { // first page
|
||||
for ($column = $startcolumn; $column < $this->num_columns; ++$column) { // for each column
|
||||
$this->selectColumn($column);
|
||||
if ($column != $this->current_column) {
|
||||
$this->selectColumn($column);
|
||||
}
|
||||
if ($this->rtl) {
|
||||
$this->x -= $mc_margin['R'];
|
||||
} else {
|
||||
@ -5992,7 +5996,9 @@ class TCPDF {
|
||||
} // end for each column
|
||||
} elseif ($page == $endpage) { // last page
|
||||
for ($column = 0; $column <= $endcolumn; ++$column) { // for each column
|
||||
$this->selectColumn($column);
|
||||
if ($column != $this->current_column) {
|
||||
$this->selectColumn($column);
|
||||
}
|
||||
if ($this->rtl) {
|
||||
$this->x -= $mc_margin['R'];
|
||||
} else {
|
||||
@ -8358,7 +8364,7 @@ class TCPDF {
|
||||
break;
|
||||
}
|
||||
case 'link': {
|
||||
if (is_string($pl['txt'])) {
|
||||
if (is_string($pl['txt']) && !empty($pl['txt'])) {
|
||||
if ($pl['txt'][0] == '#') {
|
||||
// internal destination
|
||||
$annots .= ' /Dest /'.TCPDF_STATIC::encodeNameObject(substr($pl['txt'], 1));
|
||||
@ -9798,7 +9804,7 @@ class TCPDF {
|
||||
//$out .= ' /XFA ';
|
||||
$out .= ' >>';
|
||||
// signatures
|
||||
if ($this->sign AND isset($this->signature_data['cert_type'])
|
||||
if ($this->sign AND isset($this->signature_data['cert_type'])
|
||||
AND (empty($this->signature_data['approval']) OR ($this->signature_data['approval'] != 'A'))) {
|
||||
if ($this->signature_data['cert_type'] > 0) {
|
||||
$out .= ' /Perms << /DocMDP '.($this->sig_obj_id + 1).' 0 R >>';
|
||||
@ -17723,7 +17729,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
$spacew = ($spacewidth * $ns);
|
||||
}
|
||||
$offset = $strpiece[2][1] + strlen($strpiece[2][0]);
|
||||
$epsposend = strpos($pmid, $this->epsmarker.'Q', $offset);
|
||||
$epsposend = strpos($pmid, $this->epsmarker.'Q', $offset);
|
||||
if ($epsposend !== null) {
|
||||
$epsposend += strlen($this->epsmarker.'Q');
|
||||
$epsposbeg = strpos($pmid, 'q'.$this->epsmarker, $offset);
|
||||
@ -19749,7 +19755,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
break;
|
||||
}
|
||||
case 'a': {
|
||||
$this->HREF = '';
|
||||
$this->HREF = array();
|
||||
break;
|
||||
}
|
||||
case 'sup': {
|
||||
@ -23681,7 +23687,7 @@ Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value:
|
||||
}
|
||||
return $name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the opening SVG element handler function for the XML parser. (*** TO BE COMPLETED ***)
|
||||
* @param $parser (resource) The first parameter, parser, is a reference to the XML parser calling the handler.
|
||||
|
Loading…
Reference in New Issue
Block a user