mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-10 05:52:13 +09:00
Add CoolSMS PHP SDK, and update Composer dependencies
This commit is contained in:
parent
40c43e8fa0
commit
c719fc0500
242 changed files with 3487 additions and 28983 deletions
|
|
@ -19,6 +19,7 @@
|
|||
"ext-openssl": "*",
|
||||
"ext-pcre": "*",
|
||||
"ext-xml": "*",
|
||||
"coolsms/php-sdk": "2.0.*",
|
||||
"defuse/php-encryption": "1.2.1",
|
||||
"ezyang/htmlpurifier": "4.7.*",
|
||||
"hautelook/phpass": "0.3.*",
|
||||
|
|
|
|||
126
composer.lock
generated
126
composer.lock
generated
|
|
@ -4,9 +4,63 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "64d8278cd705dec01a94208e378716f8",
|
||||
"content-hash": "fa544ace96d8d80c11db9dafb2c49753",
|
||||
"hash": "66af49066c9b92d6708080f3d32860f4",
|
||||
"content-hash": "51acda30c4d45b4c956743d4bd1ac16e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "coolsms/php-sdk",
|
||||
"version": "v2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/coolsms/php-sdk.git",
|
||||
"reference": "ce00fea155169dcf2a3759abd41ad20ff80ca0b1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/coolsms/php-sdk/zipball/ce00fea155169dcf2a3759abd41ad20ff80ca0b1",
|
||||
"reference": "ce00fea155169dcf2a3759abd41ad20ff80ca0b1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Nurigo\\": "app/Nurigo"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "nurigo",
|
||||
"email": "contact@nurigo.net",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Send message using PHP and RestAPI[TEST]",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"keywords": [
|
||||
"TextMessage",
|
||||
"cellphone",
|
||||
"cool",
|
||||
"coolsms",
|
||||
"global",
|
||||
"lms",
|
||||
"message",
|
||||
"messages",
|
||||
"mms",
|
||||
"mobile",
|
||||
"nurigo",
|
||||
"phone",
|
||||
"sms"
|
||||
],
|
||||
"time": "2016-09-02 03:28:39"
|
||||
},
|
||||
{
|
||||
"name": "defuse/php-encryption",
|
||||
"version": "v1.2.1",
|
||||
|
|
@ -272,16 +326,16 @@
|
|||
},
|
||||
{
|
||||
"name": "leafo/scssphp",
|
||||
"version": "v0.6.3",
|
||||
"version": "v0.6.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/leafo/scssphp.git",
|
||||
"reference": "a27edad3d16635a222d7204706572e24c338aa17"
|
||||
"reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/leafo/scssphp/zipball/a27edad3d16635a222d7204706572e24c338aa17",
|
||||
"reference": "a27edad3d16635a222d7204706572e24c338aa17",
|
||||
"url": "https://api.github.com/repos/leafo/scssphp/zipball/6fdfe19d2b13a3f12ba0792227f0718809ce4e4d",
|
||||
"reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -321,20 +375,20 @@
|
|||
"scss",
|
||||
"stylesheet"
|
||||
],
|
||||
"time": "2016-01-15 02:50:06"
|
||||
"time": "2016-09-11 01:34:11"
|
||||
},
|
||||
{
|
||||
"name": "league/html-to-markdown",
|
||||
"version": "4.2.0",
|
||||
"version": "4.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/html-to-markdown.git",
|
||||
"reference": "9a5becc8c6b520920fb846afefcfd7faf4c31712"
|
||||
"reference": "8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/9a5becc8c6b520920fb846afefcfd7faf4c31712",
|
||||
"reference": "9a5becc8c6b520920fb846afefcfd7faf4c31712",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0",
|
||||
"reference": "8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -385,20 +439,20 @@
|
|||
"html",
|
||||
"markdown"
|
||||
],
|
||||
"time": "2016-02-01 16:49:02"
|
||||
"time": "2016-09-27 12:38:24"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
"version": "1.3.34",
|
||||
"version": "1.3.39",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/matthiasmullie/minify.git",
|
||||
"reference": "272e46113404f66ced256659552a0cc074a7810f"
|
||||
"reference": "1a6cb6b457690034bde461593edb510949bdd6e7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/minify/zipball/272e46113404f66ced256659552a0cc074a7810f",
|
||||
"reference": "272e46113404f66ced256659552a0cc074a7810f",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/minify/zipball/1a6cb6b457690034bde461593edb510949bdd6e7",
|
||||
"reference": "1a6cb6b457690034bde461593edb510949bdd6e7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -441,7 +495,7 @@
|
|||
"minifier",
|
||||
"minify"
|
||||
],
|
||||
"time": "2016-03-01 08:00:27"
|
||||
"time": "2016-10-27 22:32:49"
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/path-converter",
|
||||
|
|
@ -553,7 +607,7 @@
|
|||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-smartypants/zipball/c0465c6d4c5ab853c2fa45df6c10bce7e35cc137",
|
||||
"url": "https://api.github.com/repos/michelf/php-smartypants/zipball/171a3a2552f33340bf3636bdb4b05eb4e406fbda",
|
||||
"reference": "c0465c6d4c5ab853c2fa45df6c10bce7e35cc137",
|
||||
"shasum": ""
|
||||
},
|
||||
|
|
@ -649,16 +703,16 @@
|
|||
},
|
||||
{
|
||||
"name": "sunra/php-simple-html-dom-parser",
|
||||
"version": "v1.5.0",
|
||||
"version": "v1.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c"
|
||||
"reference": "f910346ce47513a49ed5b8de197cde26c3f0b193"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/f910346ce47513a49ed5b8de197cde26c3f0b193",
|
||||
"reference": "f910346ce47513a49ed5b8de197cde26c3f0b193",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -676,9 +730,9 @@
|
|||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "sunra",
|
||||
"name": "Sunra",
|
||||
"email": "sunra@yandex.ru",
|
||||
"homepage": "http://github.com/sunra"
|
||||
"homepage": "https://github.com/sunra"
|
||||
}
|
||||
],
|
||||
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
|
||||
|
|
@ -688,27 +742,27 @@
|
|||
"html",
|
||||
"parser"
|
||||
],
|
||||
"time": "2013-05-04 14:32:03"
|
||||
"time": "2016-05-20 11:21:15"
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
"version": "v5.4.2",
|
||||
"version": "v5.4.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
||||
"reference": "d8db871a54619458a805229a057ea2af33c753e8"
|
||||
"reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/d8db871a54619458a805229a057ea2af33c753e8",
|
||||
"reference": "d8db871a54619458a805229a057ea2af33c753e8",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/4cc92842069c2bbc1f28daaaf1d2576ec4dfe153",
|
||||
"reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~0.9.1,<0.9.4"
|
||||
"mockery/mockery": "~0.9.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
|
@ -741,20 +795,20 @@
|
|||
"mail",
|
||||
"mailer"
|
||||
],
|
||||
"time": "2016-05-01 08:45:47"
|
||||
"time": "2016-07-08 11:51:25"
|
||||
},
|
||||
{
|
||||
"name": "true/punycode",
|
||||
"version": "v2.0.2",
|
||||
"version": "v2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/true/php-punycode.git",
|
||||
"reference": "74fa01d4de396c40e239794123b3874cb594a30c"
|
||||
"reference": "74033cbe9fdd3eba597f8af501947a125b3b8087"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/true/php-punycode/zipball/74fa01d4de396c40e239794123b3874cb594a30c",
|
||||
"reference": "74fa01d4de396c40e239794123b3874cb594a30c",
|
||||
"url": "https://api.github.com/repos/true/php-punycode/zipball/74033cbe9fdd3eba597f8af501947a125b3b8087",
|
||||
"reference": "74033cbe9fdd3eba597f8af501947a125b3b8087",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -787,7 +841,7 @@
|
|||
"idna",
|
||||
"punycode"
|
||||
],
|
||||
"time": "2016-01-07 17:12:58"
|
||||
"time": "2016-08-09 14:50:44"
|
||||
}
|
||||
],
|
||||
"packages-dev": null,
|
||||
|
|
|
|||
446
vendor/composer/LICENSE
vendored
446
vendor/composer/LICENSE
vendored
|
|
@ -1,19 +1,433 @@
|
|||
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: Composer
|
||||
Upstream-Contact: Jordi Boggiano <j.boggiano@seld.be>
|
||||
Source: https://github.com/composer/composer
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
Files: *
|
||||
Copyright: 2016, Nils Adermann <naderman@naderman.de>
|
||||
2016, Jordi Boggiano <j.boggiano@seld.be>
|
||||
License: Expat
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
Files: res/cacert.pem
|
||||
Copyright: 2015, Mozilla Foundation
|
||||
License: MPL-2.0
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
Files: src/Composer/Util/RemoteFilesystem.php
|
||||
src/Composer/Util/TlsHelper.php
|
||||
Copyright: 2016, Nils Adermann <naderman@naderman.de>
|
||||
2016, Jordi Boggiano <j.boggiano@seld.be>
|
||||
2013, Evan Coury <me@evancoury.com>
|
||||
License: Expat and BSD-2-Clause
|
||||
|
||||
License: BSD-2-Clause
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
.
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License: Expat
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
License: MPL-2.0
|
||||
1. Definitions
|
||||
--------------
|
||||
.
|
||||
1.1. "Contributor"
|
||||
means each individual or legal entity that creates, contributes to
|
||||
the creation of, or owns Covered Software.
|
||||
.
|
||||
1.2. "Contributor Version"
|
||||
means the combination of the Contributions of others (if any) used
|
||||
by a Contributor and that particular Contributor's Contribution.
|
||||
.
|
||||
1.3. "Contribution"
|
||||
means Covered Software of a particular Contributor.
|
||||
.
|
||||
1.4. "Covered Software"
|
||||
means Source Code Form to which the initial Contributor has attached
|
||||
the notice in Exhibit A, the Executable Form of such Source Code
|
||||
Form, and Modifications of such Source Code Form, in each case
|
||||
including portions thereof.
|
||||
.
|
||||
1.5. "Incompatible With Secondary Licenses"
|
||||
means
|
||||
.
|
||||
(a) that the initial Contributor has attached the notice described
|
||||
in Exhibit B to the Covered Software; or
|
||||
.
|
||||
(b) that the Covered Software was made available under the terms of
|
||||
version 1.1 or earlier of the License, but not also under the
|
||||
terms of a Secondary License.
|
||||
.
|
||||
1.6. "Executable Form"
|
||||
means any form of the work other than Source Code Form.
|
||||
.
|
||||
1.7. "Larger Work"
|
||||
means a work that combines Covered Software with other material, in
|
||||
a separate file or files, that is not Covered Software.
|
||||
.
|
||||
1.8. "License"
|
||||
means this document.
|
||||
.
|
||||
1.9. "Licensable"
|
||||
means having the right to grant, to the maximum extent possible,
|
||||
whether at the time of the initial grant or subsequently, any and
|
||||
all of the rights conveyed by this License.
|
||||
.
|
||||
1.10. "Modifications"
|
||||
means any of the following:
|
||||
.
|
||||
(a) any file in Source Code Form that results from an addition to,
|
||||
deletion from, or modification of the contents of Covered
|
||||
Software; or
|
||||
.
|
||||
(b) any new file in Source Code Form that contains any Covered
|
||||
Software.
|
||||
.
|
||||
1.11. "Patent Claims" of a Contributor
|
||||
means any patent claim(s), including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable by such
|
||||
Contributor that would be infringed, but for the grant of the
|
||||
License, by the making, using, selling, offering for sale, having
|
||||
made, import, or transfer of either its Contributions or its
|
||||
Contributor Version.
|
||||
.
|
||||
1.12. "Secondary License"
|
||||
means either the GNU General Public License, Version 2.0, the GNU
|
||||
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||
Public License, Version 3.0, or any later versions of those
|
||||
licenses.
|
||||
.
|
||||
1.13. "Source Code Form"
|
||||
means the form of the work preferred for making modifications.
|
||||
.
|
||||
1.14. "You" (or "Your")
|
||||
means an individual or a legal entity exercising rights under this
|
||||
License. For legal entities, "You" includes any entity that
|
||||
controls, is controlled by, or is under common control with You. For
|
||||
purposes of this definition, "control" means (a) the power, direct
|
||||
or indirect, to cause the direction or management of such entity,
|
||||
whether by contract or otherwise, or (b) ownership of more than
|
||||
fifty percent (50%) of the outstanding shares or beneficial
|
||||
ownership of such entity.
|
||||
.
|
||||
2. License Grants and Conditions
|
||||
--------------------------------
|
||||
.
|
||||
2.1. Grants
|
||||
.
|
||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license:
|
||||
.
|
||||
(a) under intellectual property rights (other than patent or trademark)
|
||||
Licensable by such Contributor to use, reproduce, make available,
|
||||
modify, display, perform, distribute, and otherwise exploit its
|
||||
Contributions, either on an unmodified basis, with Modifications, or
|
||||
as part of a Larger Work; and
|
||||
.
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||
for sale, have made, import, and otherwise transfer either its
|
||||
Contributions or its Contributor Version.
|
||||
.
|
||||
2.2. Effective Date
|
||||
.
|
||||
The licenses granted in Section 2.1 with respect to any Contribution
|
||||
become effective for each Contribution on the date the Contributor first
|
||||
distributes such Contribution.
|
||||
.
|
||||
2.3. Limitations on Grant Scope
|
||||
.
|
||||
The licenses granted in this Section 2 are the only rights granted under
|
||||
this License. No additional rights or licenses will be implied from the
|
||||
distribution or licensing of Covered Software under this License.
|
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||
Contributor:
|
||||
.
|
||||
(a) for any code that a Contributor has removed from Covered Software;
|
||||
or
|
||||
.
|
||||
(b) for infringements caused by: (i) Your and any other third party's
|
||||
modifications of Covered Software, or (ii) the combination of its
|
||||
Contributions with other software (except as part of its Contributor
|
||||
Version); or
|
||||
.
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||
its Contributions.
|
||||
.
|
||||
This License does not grant any rights in the trademarks, service marks,
|
||||
or logos of any Contributor (except as may be necessary to comply with
|
||||
the notice requirements in Section 3.4).
|
||||
.
|
||||
2.4. Subsequent Licenses
|
||||
.
|
||||
No Contributor makes additional grants as a result of Your choice to
|
||||
distribute the Covered Software under a subsequent version of this
|
||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||
permitted under the terms of Section 3.3).
|
||||
.
|
||||
2.5. Representation
|
||||
.
|
||||
Each Contributor represents that the Contributor believes its
|
||||
Contributions are its original creation(s) or it has sufficient rights
|
||||
to grant the rights to its Contributions conveyed by this License.
|
||||
.
|
||||
2.6. Fair Use
|
||||
.
|
||||
This License is not intended to limit any rights You have under
|
||||
applicable copyright doctrines of fair use, fair dealing, or other
|
||||
equivalents.
|
||||
.
|
||||
2.7. Conditions
|
||||
.
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||
in Section 2.1.
|
||||
.
|
||||
3. Responsibilities
|
||||
-------------------
|
||||
.
|
||||
3.1. Distribution of Source Form
|
||||
.
|
||||
All distribution of Covered Software in Source Code Form, including any
|
||||
Modifications that You create or to which You contribute, must be under
|
||||
the terms of this License. You must inform recipients that the Source
|
||||
Code Form of the Covered Software is governed by the terms of this
|
||||
License, and how they can obtain a copy of this License. You may not
|
||||
attempt to alter or restrict the recipients' rights in the Source Code
|
||||
Form.
|
||||
.
|
||||
3.2. Distribution of Executable Form
|
||||
.
|
||||
If You distribute Covered Software in Executable Form then:
|
||||
.
|
||||
(a) such Covered Software must also be made available in Source Code
|
||||
Form, as described in Section 3.1, and You must inform recipients of
|
||||
the Executable Form how they can obtain a copy of such Source Code
|
||||
Form by reasonable means in a timely manner, at a charge no more
|
||||
than the cost of distribution to the recipient; and
|
||||
.
|
||||
(b) You may distribute such Executable Form under the terms of this
|
||||
License, or sublicense it under different terms, provided that the
|
||||
license for the Executable Form does not attempt to limit or alter
|
||||
the recipients' rights in the Source Code Form under this License.
|
||||
.
|
||||
3.3. Distribution of a Larger Work
|
||||
.
|
||||
You may create and distribute a Larger Work under terms of Your choice,
|
||||
provided that You also comply with the requirements of this License for
|
||||
the Covered Software. If the Larger Work is a combination of Covered
|
||||
Software with a work governed by one or more Secondary Licenses, and the
|
||||
Covered Software is not Incompatible With Secondary Licenses, this
|
||||
License permits You to additionally distribute such Covered Software
|
||||
under the terms of such Secondary License(s), so that the recipient of
|
||||
the Larger Work may, at their option, further distribute the Covered
|
||||
Software under the terms of either this License or such Secondary
|
||||
License(s).
|
||||
.
|
||||
3.4. Notices
|
||||
.
|
||||
You may not remove or alter the substance of any license notices
|
||||
(including copyright notices, patent notices, disclaimers of warranty,
|
||||
or limitations of liability) contained within the Source Code Form of
|
||||
the Covered Software, except that You may alter any license notices to
|
||||
the extent required to remedy known factual inaccuracies.
|
||||
.
|
||||
3.5. Application of Additional Terms
|
||||
.
|
||||
You may choose to offer, and to charge a fee for, warranty, support,
|
||||
indemnity or liability obligations to one or more recipients of Covered
|
||||
Software. However, You may do so only on Your own behalf, and not on
|
||||
behalf of any Contributor. You must make it absolutely clear that any
|
||||
such warranty, support, indemnity, or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify every Contributor for any
|
||||
liability incurred by such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer. You may include additional
|
||||
disclaimers of warranty and limitations of liability specific to any
|
||||
jurisdiction.
|
||||
.
|
||||
4. Inability to Comply Due to Statute or Regulation
|
||||
---------------------------------------------------
|
||||
.
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Software due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description must
|
||||
be placed in a text file included with all distributions of the Covered
|
||||
Software under this License. Except to the extent prohibited by statute
|
||||
or regulation, such description must be sufficiently detailed for a
|
||||
recipient of ordinary skill to be able to understand it.
|
||||
.
|
||||
5. Termination
|
||||
--------------
|
||||
.
|
||||
5.1. The rights granted under this License will terminate automatically
|
||||
if You fail to comply with any of its terms. However, if You become
|
||||
compliant, then the rights granted under this License from a particular
|
||||
Contributor are reinstated (a) provisionally, unless and until such
|
||||
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||
ongoing basis, if such Contributor fails to notify You of the
|
||||
non-compliance by some reasonable means prior to 60 days after You have
|
||||
come back into compliance. Moreover, Your grants from a particular
|
||||
Contributor are reinstated on an ongoing basis if such Contributor
|
||||
notifies You of the non-compliance by some reasonable means, this is the
|
||||
first time You have received notice of non-compliance with this License
|
||||
from such Contributor, and You become compliant prior to 30 days after
|
||||
Your receipt of the notice.
|
||||
.
|
||||
5.2. If You initiate litigation against any entity by asserting a patent
|
||||
infringement claim (excluding declaratory judgment actions,
|
||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||
directly or indirectly infringes any patent, then the rights granted to
|
||||
You by any and all Contributors for the Covered Software under Section
|
||||
2.1 of this License shall terminate.
|
||||
.
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||
end user license agreements (excluding distributors and resellers) which
|
||||
have been validly granted by You or Your distributors under this License
|
||||
prior to termination shall survive termination.
|
||||
.
|
||||
************************************************************************
|
||||
* *
|
||||
* 6. Disclaimer of Warranty *
|
||||
* ------------------------- *
|
||||
* *
|
||||
* Covered Software is provided under this License on an "as is" *
|
||||
* basis, without warranty of any kind, either expressed, implied, or *
|
||||
* statutory, including, without limitation, warranties that the *
|
||||
* Covered Software is free of defects, merchantable, fit for a *
|
||||
* particular purpose or non-infringing. The entire risk as to the *
|
||||
* quality and performance of the Covered Software is with You. *
|
||||
* Should any Covered Software prove defective in any respect, You *
|
||||
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||
* essential part of this License. No use of any Covered Software is *
|
||||
* authorized under this License except under this disclaimer. *
|
||||
* *
|
||||
************************************************************************
|
||||
.
|
||||
************************************************************************
|
||||
* *
|
||||
* 7. Limitation of Liability *
|
||||
* -------------------------- *
|
||||
* *
|
||||
* Under no circumstances and under no legal theory, whether tort *
|
||||
* (including negligence), contract, or otherwise, shall any *
|
||||
* Contributor, or anyone who distributes Covered Software as *
|
||||
* permitted above, be liable to You for any direct, indirect, *
|
||||
* special, incidental, or consequential damages of any character *
|
||||
* including, without limitation, damages for lost profits, loss of *
|
||||
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||
* and all other commercial damages or losses, even if such party *
|
||||
* shall have been informed of the possibility of such damages. This *
|
||||
* limitation of liability shall not apply to liability for death or *
|
||||
* personal injury resulting from such party's negligence to the *
|
||||
* extent applicable law prohibits such limitation. Some *
|
||||
* jurisdictions do not allow the exclusion or limitation of *
|
||||
* incidental or consequential damages, so this exclusion and *
|
||||
* limitation may not apply to You. *
|
||||
* *
|
||||
************************************************************************
|
||||
.
|
||||
8. Litigation
|
||||
-------------
|
||||
.
|
||||
Any litigation relating to this License may be brought only in the
|
||||
courts of a jurisdiction where the defendant maintains its principal
|
||||
place of business and such litigation shall be governed by laws of that
|
||||
jurisdiction, without reference to its conflict-of-law provisions.
|
||||
Nothing in this Section shall prevent a party's ability to bring
|
||||
cross-claims or counter-claims.
|
||||
.
|
||||
9. Miscellaneous
|
||||
----------------
|
||||
.
|
||||
This License represents the complete agreement concerning the subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. Any law or regulation which provides
|
||||
that the language of a contract shall be construed against the drafter
|
||||
shall not be used to construe this License against a Contributor.
|
||||
.
|
||||
10. Versions of the License
|
||||
---------------------------
|
||||
.
|
||||
10.1. New Versions
|
||||
.
|
||||
Mozilla Foundation is the license steward. Except as provided in Section
|
||||
10.3, no one other than the license steward has the right to modify or
|
||||
publish new versions of this License. Each version will be given a
|
||||
distinguishing version number.
|
||||
.
|
||||
10.2. Effect of New Versions
|
||||
.
|
||||
You may distribute the Covered Software under the terms of the version
|
||||
of the License under which You originally received the Covered Software,
|
||||
or under the terms of any subsequent version published by the license
|
||||
steward.
|
||||
.
|
||||
10.3. Modified Versions
|
||||
.
|
||||
If you create software not governed by this License, and you want to
|
||||
create a new license for such software, you may create and use a
|
||||
modified version of this License if you rename the license and remove
|
||||
any references to the name of the license steward (except to note that
|
||||
such modified license differs from this License).
|
||||
.
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||
Licenses
|
||||
.
|
||||
If You choose to distribute Source Code Form that is Incompatible With
|
||||
Secondary Licenses under the terms of this version of the License, the
|
||||
notice described in Exhibit B of this License must be attached.
|
||||
.
|
||||
Exhibit A - Source Code Form License Notice
|
||||
-------------------------------------------
|
||||
.
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
.
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to look
|
||||
for such a notice.
|
||||
.
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
.
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||
---------------------------------------------------------
|
||||
.
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||
defined by the Mozilla Public License, v. 2.0.
|
||||
|
|
|
|||
12
vendor/composer/autoload_classmap.php
vendored
12
vendor/composer/autoload_classmap.php
vendored
|
|
@ -317,6 +317,15 @@ return array(
|
|||
'Michelf\\Markdown' => $vendorDir . '/michelf/php-markdown/Michelf/Markdown.php',
|
||||
'Michelf\\MarkdownExtra' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownExtra.php',
|
||||
'Michelf\\MarkdownInterface' => $vendorDir . '/michelf/php-markdown/Michelf/MarkdownInterface.php',
|
||||
'Nurigo\\Api\\GroupMessage' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Api/GroupMessage.php',
|
||||
'Nurigo\\Api\\Image' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Api/Image.php',
|
||||
'Nurigo\\Api\\Message' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Api/Message.php',
|
||||
'Nurigo\\Api\\SenderID' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Api/SenderID.php',
|
||||
'Nurigo\\Coolsms' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Coolsms.php',
|
||||
'Nurigo\\Exceptions\\CoolsmsException' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsException.php',
|
||||
'Nurigo\\Exceptions\\CoolsmsSDKException' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSDKException.php',
|
||||
'Nurigo\\Exceptions\\CoolsmsServerException' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsServerException.php',
|
||||
'Nurigo\\Exceptions\\CoolsmsSystemException' => $vendorDir . '/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSystemException.php',
|
||||
'Requests' => $vendorDir . '/rmccue/requests/library/Requests.php',
|
||||
'Requests_Auth' => $vendorDir . '/rmccue/requests/library/Requests/Auth.php',
|
||||
'Requests_Auth_Basic' => $vendorDir . '/rmccue/requests/library/Requests/Auth/Basic.php',
|
||||
|
|
@ -376,6 +385,9 @@ return array(
|
|||
'Swift_Events_ResponseReceivedListener' => $vendorDir . '/jmhobbs/swiftmailer-transport-aws-ses/classes/Swift/Events/ResponseReceivedListener.php',
|
||||
'Swift_Response_AWSResponse' => $vendorDir . '/jmhobbs/swiftmailer-transport-aws-ses/classes/Swift/Response/AWSResponse.php',
|
||||
'Swift_Transport_AWSTransport' => $vendorDir . '/jmhobbs/swiftmailer-transport-aws-ses/classes/Swift/Transport/AWSTransport.php',
|
||||
'TrueBV\\Exception\\DomainOutOfBoundsException' => $vendorDir . '/true/punycode/src/Exception/DomainOutOfBoundsException.php',
|
||||
'TrueBV\\Exception\\LabelOutOfBoundsException' => $vendorDir . '/true/punycode/src/Exception/LabelOutOfBoundsException.php',
|
||||
'TrueBV\\Exception\\OutOfBoundsException' => $vendorDir . '/true/punycode/src/Exception/OutOfBoundsException.php',
|
||||
'TrueBV\\Punycode' => $vendorDir . '/true/punycode/src/Punycode.php',
|
||||
'lessc' => $vendorDir . '/leafo/lessphp/lessc.inc.php',
|
||||
'lessc_formatter_classic' => $vendorDir . '/leafo/lessphp/lessc.inc.php',
|
||||
|
|
|
|||
1
vendor/composer/autoload_psr4.php
vendored
1
vendor/composer/autoload_psr4.php
vendored
|
|
@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir);
|
|||
|
||||
return array(
|
||||
'TrueBV\\' => array($vendorDir . '/true/punycode/src'),
|
||||
'Nurigo\\' => array($vendorDir . '/coolsms/php-sdk/app/Nurigo'),
|
||||
'MatthiasMullie\\PathConverter\\' => array($vendorDir . '/matthiasmullie/path-converter/src'),
|
||||
'MatthiasMullie\\Minify\\' => array($vendorDir . '/matthiasmullie/minify/src'),
|
||||
'League\\HTMLToMarkdown\\' => array($vendorDir . '/league/html-to-markdown/src'),
|
||||
|
|
|
|||
712
vendor/composer/installed.json
vendored
712
vendor/composer/installed.json
vendored
|
|
@ -92,51 +92,6 @@
|
|||
"html"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sunra/php-simple-html-dom-parser",
|
||||
"version": "v1.5.0",
|
||||
"version_normalized": "1.5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"reference": "a0b80ace086c7e09085669205e1b3c2c9c7a453c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.2"
|
||||
},
|
||||
"time": "2013-05-04 14:32:03",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Sunra\\PhpSimple\\HtmlDomParser": "Src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "sunra",
|
||||
"email": "sunra@yandex.ru",
|
||||
"homepage": "http://github.com/sunra"
|
||||
}
|
||||
],
|
||||
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
|
||||
"homepage": "https://github.com/sunra/php-simple-html-dom-parser",
|
||||
"keywords": [
|
||||
"dom",
|
||||
"html",
|
||||
"parser"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "rmccue/requests",
|
||||
"version": "v1.6.1",
|
||||
|
|
@ -188,112 +143,6 @@
|
|||
"sockets"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "true/punycode",
|
||||
"version": "v2.0.2",
|
||||
"version_normalized": "2.0.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/true/php-punycode.git",
|
||||
"reference": "74fa01d4de396c40e239794123b3874cb594a30c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/true/php-punycode/zipball/74fa01d4de396c40e239794123b3874cb594a30c",
|
||||
"reference": "74fa01d4de396c40e239794123b3874cb594a30c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.7",
|
||||
"squizlabs/php_codesniffer": "~2.0"
|
||||
},
|
||||
"time": "2016-01-07 17:12:58",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"TrueBV\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Renan Gonçalves",
|
||||
"email": "renan.saddam@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)",
|
||||
"homepage": "https://github.com/true/php-punycode",
|
||||
"keywords": [
|
||||
"idna",
|
||||
"punycode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
"version": "1.3.34",
|
||||
"version_normalized": "1.3.34.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/matthiasmullie/minify.git",
|
||||
"reference": "272e46113404f66ced256659552a0cc074a7810f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/minify/zipball/272e46113404f66ced256659552a0cc074a7810f",
|
||||
"reference": "272e46113404f66ced256659552a0cc074a7810f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-pcre": "*",
|
||||
"matthiasmullie/path-converter": "~1.0",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"matthiasmullie/scrapbook": "~1.0",
|
||||
"phpunit/phpunit": "~4.8"
|
||||
},
|
||||
"time": "2016-03-01 08:00:27",
|
||||
"bin": [
|
||||
"bin/minifycss",
|
||||
"bin/minifyjs"
|
||||
],
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MatthiasMullie\\Minify\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Matthias Mullie",
|
||||
"email": "minify@mullie.eu",
|
||||
"homepage": "http://www.mullie.eu",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "CSS & JS minifier",
|
||||
"homepage": "http://www.minifier.org",
|
||||
"keywords": [
|
||||
"JS",
|
||||
"css",
|
||||
"javascript",
|
||||
"minifier",
|
||||
"minify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hautelook/phpass",
|
||||
"version": "0.3.4",
|
||||
|
|
@ -484,72 +333,6 @@
|
|||
"description": "lessphp is a compiler for LESS written in PHP.",
|
||||
"homepage": "http://leafo.net/lessphp/"
|
||||
},
|
||||
{
|
||||
"name": "league/html-to-markdown",
|
||||
"version": "4.2.0",
|
||||
"version_normalized": "4.2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/html-to-markdown.git",
|
||||
"reference": "9a5becc8c6b520920fb846afefcfd7faf4c31712"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/9a5becc8c6b520920fb846afefcfd7faf4c31712",
|
||||
"reference": "9a5becc8c6b520920fb846afefcfd7faf4c31712",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-xml": "*",
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mikehaertl/php-shellcommand": "~1.1.0",
|
||||
"phpunit/phpunit": "4.*",
|
||||
"scrutinizer/ocular": "~1.1"
|
||||
},
|
||||
"time": "2016-02-01 16:49:02",
|
||||
"bin": [
|
||||
"bin/html-to-markdown"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.3-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"League\\HTMLToMarkdown\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "http://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Nick Cernis",
|
||||
"email": "nick@cern.is",
|
||||
"homepage": "http://modernnerd.net",
|
||||
"role": "Original Author"
|
||||
}
|
||||
],
|
||||
"description": "An HTML-to-markdown conversion helper for PHP",
|
||||
"homepage": "https://github.com/thephpleague/html-to-markdown",
|
||||
"keywords": [
|
||||
"html",
|
||||
"markdown"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "michelf/php-smartypants",
|
||||
"version": "1.6.0-beta1",
|
||||
|
|
@ -561,7 +344,7 @@
|
|||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/michelf/php-smartypants/zipball/c0465c6d4c5ab853c2fa45df6c10bce7e35cc137",
|
||||
"url": "https://api.github.com/repos/michelf/php-smartypants/zipball/171a3a2552f33340bf3636bdb4b05eb4e406fbda",
|
||||
"reference": "c0465c6d4c5ab853c2fa45df6c10bce7e35cc137",
|
||||
"shasum": ""
|
||||
},
|
||||
|
|
@ -607,61 +390,6 @@
|
|||
"typography"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leafo/scssphp",
|
||||
"version": "v0.6.3",
|
||||
"version_normalized": "0.6.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/leafo/scssphp.git",
|
||||
"reference": "a27edad3d16635a222d7204706572e24c338aa17"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/leafo/scssphp/zipball/a27edad3d16635a222d7204706572e24c338aa17",
|
||||
"reference": "a27edad3d16635a222d7204706572e24c338aa17",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"kherge/box": "~2.5",
|
||||
"phpunit/phpunit": "~3.7",
|
||||
"squizlabs/php_codesniffer": "~2.5"
|
||||
},
|
||||
"time": "2016-01-15 02:50:06",
|
||||
"bin": [
|
||||
"bin/pscss"
|
||||
],
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Leafo\\ScssPhp\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Leaf Corcoran",
|
||||
"email": "leafot@gmail.com",
|
||||
"homepage": "http://leafo.net"
|
||||
}
|
||||
],
|
||||
"description": "scssphp is a compiler for SCSS written in PHP.",
|
||||
"homepage": "http://leafo.github.io/scssphp/",
|
||||
"keywords": [
|
||||
"css",
|
||||
"less",
|
||||
"sass",
|
||||
"scss",
|
||||
"stylesheet"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/path-converter",
|
||||
"version": "1.0.8",
|
||||
|
|
@ -713,61 +441,6 @@
|
|||
"relative"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
"version": "v5.4.2",
|
||||
"version_normalized": "5.4.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
||||
"reference": "d8db871a54619458a805229a057ea2af33c753e8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/d8db871a54619458a805229a057ea2af33c753e8",
|
||||
"reference": "d8db871a54619458a805229a057ea2af33c753e8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~0.9.1,<0.9.4"
|
||||
},
|
||||
"time": "2016-05-01 08:45:47",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.4-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"lib/swift_required.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Chris Corbyn"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
}
|
||||
],
|
||||
"description": "Swiftmailer, free feature-rich PHP mailer",
|
||||
"homepage": "http://swiftmailer.org",
|
||||
"keywords": [
|
||||
"email",
|
||||
"mail",
|
||||
"mailer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "jmhobbs/swiftmailer-transport-aws-ses",
|
||||
"version": "0.9.2",
|
||||
|
|
@ -812,5 +485,388 @@
|
|||
"ses",
|
||||
"swiftmailer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leafo/scssphp",
|
||||
"version": "v0.6.6",
|
||||
"version_normalized": "0.6.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/leafo/scssphp.git",
|
||||
"reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/leafo/scssphp/zipball/6fdfe19d2b13a3f12ba0792227f0718809ce4e4d",
|
||||
"reference": "6fdfe19d2b13a3f12ba0792227f0718809ce4e4d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"kherge/box": "~2.5",
|
||||
"phpunit/phpunit": "~3.7",
|
||||
"squizlabs/php_codesniffer": "~2.5"
|
||||
},
|
||||
"time": "2016-09-11 01:34:11",
|
||||
"bin": [
|
||||
"bin/pscss"
|
||||
],
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Leafo\\ScssPhp\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Leaf Corcoran",
|
||||
"email": "leafot@gmail.com",
|
||||
"homepage": "http://leafo.net"
|
||||
}
|
||||
],
|
||||
"description": "scssphp is a compiler for SCSS written in PHP.",
|
||||
"homepage": "http://leafo.github.io/scssphp/",
|
||||
"keywords": [
|
||||
"css",
|
||||
"less",
|
||||
"sass",
|
||||
"scss",
|
||||
"stylesheet"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "league/html-to-markdown",
|
||||
"version": "4.2.2",
|
||||
"version_normalized": "4.2.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/html-to-markdown.git",
|
||||
"reference": "8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0",
|
||||
"reference": "8dfe3b1e6d459b320bec1a4b5499cd9d62796ac0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-xml": "*",
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mikehaertl/php-shellcommand": "~1.1.0",
|
||||
"phpunit/phpunit": "4.*",
|
||||
"scrutinizer/ocular": "~1.1"
|
||||
},
|
||||
"time": "2016-09-27 12:38:24",
|
||||
"bin": [
|
||||
"bin/html-to-markdown"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.3-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"League\\HTMLToMarkdown\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "http://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Nick Cernis",
|
||||
"email": "nick@cern.is",
|
||||
"homepage": "http://modernnerd.net",
|
||||
"role": "Original Author"
|
||||
}
|
||||
],
|
||||
"description": "An HTML-to-markdown conversion helper for PHP",
|
||||
"homepage": "https://github.com/thephpleague/html-to-markdown",
|
||||
"keywords": [
|
||||
"html",
|
||||
"markdown"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "matthiasmullie/minify",
|
||||
"version": "1.3.39",
|
||||
"version_normalized": "1.3.39.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/matthiasmullie/minify.git",
|
||||
"reference": "1a6cb6b457690034bde461593edb510949bdd6e7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/matthiasmullie/minify/zipball/1a6cb6b457690034bde461593edb510949bdd6e7",
|
||||
"reference": "1a6cb6b457690034bde461593edb510949bdd6e7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-pcre": "*",
|
||||
"matthiasmullie/path-converter": "~1.0",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"matthiasmullie/scrapbook": "~1.0",
|
||||
"phpunit/phpunit": "~4.8"
|
||||
},
|
||||
"time": "2016-10-27 22:32:49",
|
||||
"bin": [
|
||||
"bin/minifycss",
|
||||
"bin/minifyjs"
|
||||
],
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MatthiasMullie\\Minify\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Matthias Mullie",
|
||||
"email": "minify@mullie.eu",
|
||||
"homepage": "http://www.mullie.eu",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "CSS & JS minifier",
|
||||
"homepage": "http://www.minifier.org",
|
||||
"keywords": [
|
||||
"JS",
|
||||
"css",
|
||||
"javascript",
|
||||
"minifier",
|
||||
"minify"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "sunra/php-simple-html-dom-parser",
|
||||
"version": "v1.5.1",
|
||||
"version_normalized": "1.5.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sunra/php-simple-html-dom-parser.git",
|
||||
"reference": "f910346ce47513a49ed5b8de197cde26c3f0b193"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sunra/php-simple-html-dom-parser/zipball/f910346ce47513a49ed5b8de197cde26c3f0b193",
|
||||
"reference": "f910346ce47513a49ed5b8de197cde26c3f0b193",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.2"
|
||||
},
|
||||
"time": "2016-05-20 11:21:15",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Sunra\\PhpSimple\\HtmlDomParser": "Src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sunra",
|
||||
"email": "sunra@yandex.ru",
|
||||
"homepage": "https://github.com/sunra"
|
||||
}
|
||||
],
|
||||
"description": "Composer adaptation of: A HTML DOM parser written in PHP5+ let you manipulate HTML in a very easy way! Require PHP 5+. Supports invalid HTML. Find tags on an HTML page with selectors just like jQuery. Extract contents from HTML in a single line.",
|
||||
"homepage": "https://github.com/sunra/php-simple-html-dom-parser",
|
||||
"keywords": [
|
||||
"dom",
|
||||
"html",
|
||||
"parser"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
"version": "v5.4.3",
|
||||
"version_normalized": "5.4.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
||||
"reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/4cc92842069c2bbc1f28daaaf1d2576ec4dfe153",
|
||||
"reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~0.9.1"
|
||||
},
|
||||
"time": "2016-07-08 11:51:25",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.4-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"lib/swift_required.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Chris Corbyn"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
}
|
||||
],
|
||||
"description": "Swiftmailer, free feature-rich PHP mailer",
|
||||
"homepage": "http://swiftmailer.org",
|
||||
"keywords": [
|
||||
"email",
|
||||
"mail",
|
||||
"mailer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "true/punycode",
|
||||
"version": "v2.1.0",
|
||||
"version_normalized": "2.1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/true/php-punycode.git",
|
||||
"reference": "74033cbe9fdd3eba597f8af501947a125b3b8087"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/true/php-punycode/zipball/74033cbe9fdd3eba597f8af501947a125b3b8087",
|
||||
"reference": "74033cbe9fdd3eba597f8af501947a125b3b8087",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.7",
|
||||
"squizlabs/php_codesniffer": "~2.0"
|
||||
},
|
||||
"time": "2016-08-09 14:50:44",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"TrueBV\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Renan Gonçalves",
|
||||
"email": "renan.saddam@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)",
|
||||
"homepage": "https://github.com/true/php-punycode",
|
||||
"keywords": [
|
||||
"idna",
|
||||
"punycode"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "coolsms/php-sdk",
|
||||
"version": "v2.0",
|
||||
"version_normalized": "2.0.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/coolsms/php-sdk.git",
|
||||
"reference": "ce00fea155169dcf2a3759abd41ad20ff80ca0b1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/coolsms/php-sdk/zipball/ce00fea155169dcf2a3759abd41ad20ff80ca0b1",
|
||||
"reference": "ce00fea155169dcf2a3759abd41ad20ff80ca0b1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.0"
|
||||
},
|
||||
"time": "2016-09-02 03:28:39",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Nurigo\\": "app/Nurigo"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "nurigo",
|
||||
"email": "contact@nurigo.net",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Send message using PHP and RestAPI[TEST]",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"keywords": [
|
||||
"TextMessage",
|
||||
"cellphone",
|
||||
"cool",
|
||||
"coolsms",
|
||||
"global",
|
||||
"lms",
|
||||
"message",
|
||||
"messages",
|
||||
"mms",
|
||||
"mobile",
|
||||
"nurigo",
|
||||
"phone",
|
||||
"sms"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
|
|||
1
vendor/coolsms/php-sdk/.gitignore
vendored
Normal file
1
vendor/coolsms/php-sdk/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/vendor/
|
||||
26
vendor/coolsms/php-sdk/README.md
vendored
Normal file
26
vendor/coolsms/php-sdk/README.md
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Coolsms PHP SDK
|
||||
|
||||
Send Message & Alimtalk using PHP and REST API.
|
||||
|
||||
## Installation
|
||||
|
||||
- The recommended way to install Coolsms PHP SDK is through composer:
|
||||
|
||||
```bash
|
||||
$ composer require coolsms/php-sdk
|
||||
```
|
||||
|
||||
- Package install url ( source code & examples ) : http://www.coolsms.co.kr/download/3130218
|
||||
|
||||
- Github : https://github.com/coolsms/php-sdk
|
||||
|
||||
## Requirements
|
||||
|
||||
* PHP 5.5 or greater
|
||||
* Composer
|
||||
* PHP CURL extension
|
||||
* PHP JSON extension
|
||||
|
||||
## Usage
|
||||
|
||||
Look at the 'http://www.coolsms.co.kr/PHP_SDK_Example'.
|
||||
174
vendor/coolsms/php-sdk/app/Nurigo/Api/GroupMessage.php
vendored
Normal file
174
vendor/coolsms/php-sdk/app/Nurigo/Api/GroupMessage.php
vendored
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Api;
|
||||
|
||||
use Nurigo\Coolsms;
|
||||
use Nurigo\Exceptions\CoolsmsSDKException;
|
||||
|
||||
require_once __DIR__ . "/../../../bootstrap.php";
|
||||
|
||||
/**
|
||||
* @class GroupMessage
|
||||
* @brief management group message, using Rest API
|
||||
*/
|
||||
class GroupMessage extends Coolsms
|
||||
{
|
||||
/**
|
||||
* @brief create create group ( HTTP Method GET )
|
||||
* @param object $options {
|
||||
* @param string charset [optional]
|
||||
* @param string srk [optional]
|
||||
* @param string mode [optional]
|
||||
* @param string delay [optional]
|
||||
* @param boolean force_sms [optional]
|
||||
* @param string os_platform [optional]
|
||||
* @param string dev_lang [optional]
|
||||
* @param string sdk_version [optional]
|
||||
* @param string app_version [optional] }
|
||||
* @return object(group_id)
|
||||
*/
|
||||
public function createGroup($options)
|
||||
{
|
||||
return $this->request('new_group', $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get group list ( HTTP Method GET )
|
||||
* @param None
|
||||
* @return array['groupid', 'groupid'...]
|
||||
*/
|
||||
public function getGroupList()
|
||||
{
|
||||
return $this->request('group_list');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief delete groups ( HTTP Method POST )
|
||||
* @param string $group_ids [required]
|
||||
* @return object(count)
|
||||
*/
|
||||
public function deleteGroups($group_ids)
|
||||
{
|
||||
if (!$group_ids) throw new CoolsmsSDKException('group_ids is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->group_ids = $group_ids;
|
||||
return $this->request('delete_groups', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get group info ( HTTP Method GET )
|
||||
* @param string $group_id [required]
|
||||
* @return object(group_id, message_count)
|
||||
*/
|
||||
public function getGroupInfo($group_id)
|
||||
{
|
||||
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->group_id = $group_id;
|
||||
return $this->request(sprintf('groups/%s', $group_id), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief add messages to group ( HTTP Method POST )
|
||||
* @param object $options {
|
||||
* @param string group_id [required]
|
||||
* @param string to [required]
|
||||
* @param string from [required]
|
||||
* @param string text [required]
|
||||
* @param string image_id [optional]
|
||||
* @param string refname [optional]
|
||||
* @param string country [optional]
|
||||
* @param string datetime [optional]
|
||||
* @param string subject [optional]
|
||||
* @param integer delay [optional] }
|
||||
* @return object(success_count, error_count, error_list['index':'code', 'index', 'code'])
|
||||
*/
|
||||
public function addMessages($options)
|
||||
{
|
||||
if (!isset($options->group_id) || !isset($options->to) || !isset($options->text) || !isset($options->from)) {
|
||||
throw new CoolsmsSDKException('group_id, to, text, from is required', 202);
|
||||
}
|
||||
|
||||
return $this->request(sprintf('groups/%s/add_messages', $options->group_id), $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief add json type messages to group ( HTTP Method POST )
|
||||
* @param object $options {
|
||||
* @param string group_id [required]
|
||||
* @param string messages [required] [{
|
||||
* @param string to [required]
|
||||
* @param string from [required]
|
||||
* @param string text [required]
|
||||
* @param string image_id [optional]
|
||||
* @param string refname [optional]
|
||||
* @param string country [optional]
|
||||
* @param string datetime [optional]
|
||||
* @param string subject [optional]
|
||||
* @param integer delay [optional] }] }
|
||||
* @return array[object(success_count, error_count, error_list['index':'code', 'index', 'code']), ...]
|
||||
*/
|
||||
public function addMessagesJSON($options)
|
||||
{
|
||||
if (!isset($options->group_id) || !isset($options->messages)) throw new CoolsmsSDKException('group_id and messages is required', 202);
|
||||
foreach ($options->messages as $val) {
|
||||
if (!isset($val->to) || !isset($val->text) || !isset($val->from)) {
|
||||
throw new CoolsmsSDKException('to, text, from is required', 202);
|
||||
}
|
||||
}
|
||||
|
||||
$options->messages = json_encode($options->messages);
|
||||
return $this->request(sprintf('groups/%s/add_messages.json', $options->group_id), $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get message list ( HTTP Method GET )
|
||||
* @param string $group_id [required]
|
||||
* @param integer $offset [optional]
|
||||
* @param integer $limit [optional]
|
||||
* @return object(total_count, offset, limit, list['message_id', 'message_id' ...])
|
||||
*/
|
||||
public function getMessageList($group_id, $offset = 0, $limit = 20)
|
||||
{
|
||||
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->group_id = $group_id;
|
||||
$options->offset = $offset;
|
||||
$options->limit = $limit;
|
||||
return $this->request(sprintf('groups/%s/message_list', $options->group_id), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief delete message from group ( HTTP Method POST )
|
||||
* @param string $group_id [required]
|
||||
* @param string $message_ids [required]
|
||||
* @return object(success_count)
|
||||
*/
|
||||
public function deleteMessages($group_id, $message_ids)
|
||||
{
|
||||
if (!$group_id || !$message_ids) throw new CoolsmsSDKException('group_id and message_ids are required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->group_id = $group_id;
|
||||
$options->message_ids = $message_ids;
|
||||
return $this->request(sprintf('groups/%s/delete_messages', $options->group_id), $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief send group message ( HTTP Method POST )
|
||||
* @param string $group_id [required]
|
||||
* @return object(group_id)
|
||||
*/
|
||||
public function sendGroupMessage($group_id)
|
||||
{
|
||||
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->group_id = $group_id;
|
||||
return $this->request(sprintf('groups/%s/send', $group_id), $options, true);
|
||||
}
|
||||
}
|
||||
74
vendor/coolsms/php-sdk/app/Nurigo/Api/Image.php
vendored
Normal file
74
vendor/coolsms/php-sdk/app/Nurigo/Api/Image.php
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Api;
|
||||
|
||||
use Nurigo\Coolsms;
|
||||
use Nurigo\Exceptions\CoolsmsSDKException;
|
||||
|
||||
require_once __DIR__ . "/../../../bootstrap.php";
|
||||
|
||||
/**
|
||||
* @class Image
|
||||
* @brief management image, using Rest API
|
||||
*/
|
||||
class Image extends Coolsms
|
||||
{
|
||||
/**
|
||||
* @brief get image list( HTTP Method GET )
|
||||
* @param integer $offset [optional]
|
||||
* @param integer $limit [optional]
|
||||
* @return object(total_count, offset, limit, list['image_id', 'image_id' ...])
|
||||
*/
|
||||
public function getImageList($offset = null, $limit = null)
|
||||
{
|
||||
$options = new \stdClass();
|
||||
$options->offset = $offset;
|
||||
$options->limit = $limit;
|
||||
return $this->request('image_list', $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get image info ( HTTP Method GET )
|
||||
* @param string $image_id [required]
|
||||
* @return object(image_id, file_name, original_name, file_size, width, height)
|
||||
*/
|
||||
public function getImageInfo($image_id)
|
||||
{
|
||||
if (!$image_id) throw new CoolsmsSDKException('image_id is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->image_id = $image_id;
|
||||
return $this->request(sprintf('images/%s', $image_id), $options);;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief upload image ( HTTP Method POST )
|
||||
* @param mixed $image [required]
|
||||
* @param string $encoding [optional]
|
||||
* @return object(image_id)
|
||||
*/
|
||||
public function uploadImage($image, $encoding = null)
|
||||
{
|
||||
if (!$image) throw new CoolsmsSDKException('image is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->image = $image;
|
||||
$options->encoding = $encoding;
|
||||
return $this->request('upload_image', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief delete images ( HTTP Method POST )
|
||||
* @param string $image_ids [required]
|
||||
* @return object(success_count)
|
||||
*/
|
||||
public function deleteImages($image_ids)
|
||||
{
|
||||
if (!$image_ids) throw new CoolsmsSDKException('image_ids is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->image_ids = $image_ids;
|
||||
return $this->request('delete_images', $options, true);
|
||||
}
|
||||
}
|
||||
108
vendor/coolsms/php-sdk/app/Nurigo/Api/Message.php
vendored
Normal file
108
vendor/coolsms/php-sdk/app/Nurigo/Api/Message.php
vendored
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Api;
|
||||
|
||||
use Nurigo\Coolsms;
|
||||
use Nurigo\Exceptions\CoolsmsSDKException;
|
||||
|
||||
require_once __DIR__ . "/../../../bootstrap.php";
|
||||
|
||||
/**
|
||||
* @class Message
|
||||
* @brief management message, using Rest API
|
||||
*/
|
||||
class Message extends Coolsms
|
||||
{
|
||||
/**
|
||||
* @brief send message ( HTTP Method POST )
|
||||
* @param object $options {
|
||||
* @param string to [required]
|
||||
* @param string from [required]
|
||||
* @param string text [required]
|
||||
* @param string type [optional]
|
||||
* @param mixed image [optional]
|
||||
* @param string image_encoding [optional]
|
||||
* @param string refname [optional]
|
||||
* @param mixed country [optional]
|
||||
* @param string datetime [optional]
|
||||
* @param string subject [optional]
|
||||
* @param string charset [optional]
|
||||
* @param string srk [optional]
|
||||
* @param string mode [optional]
|
||||
* @param string extension [optional]
|
||||
* @param integer delay [optional]
|
||||
* @param boolean force_sms [optional]
|
||||
* @param string app_version [optional] }
|
||||
* @return object(recipient_number, group_id, message_id, result_code, result_message)
|
||||
*/
|
||||
public function send($options)
|
||||
{
|
||||
// check require fields. ( 'to, from, 'text' )
|
||||
if (!isset($options->to) || !isset($options->from) || !isset($options->text)) throw new CoolsmsSDKException('"to, from, text" must be entered', 202);
|
||||
|
||||
return $this->request('send', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief sent message list ( HTTP Method GET )
|
||||
* @param object $options {
|
||||
* @param integer offset [optional]
|
||||
* @param integer limit [optional]
|
||||
* @param string rcpt [optional]
|
||||
* @param string start [optional]
|
||||
* @param string end [optional]
|
||||
* @param string status [optional]
|
||||
* @param string status [optional]
|
||||
* @param string resultcode [optional]
|
||||
* @param string notin_resultcode [optional]
|
||||
* @param string message_id [optional]
|
||||
* @param string group_id [optional] }
|
||||
* @return object(total count, list_count, page, data['type', 'accepted_time', 'recipient_number', 'group_id', 'message_id', 'status', 'result_code', 'result_message', 'sent_time', 'text'])
|
||||
*/
|
||||
public function sent($options = null)
|
||||
{
|
||||
return $this->request('sent', $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief cancel reserve message. mid or gid either one must be entered. ( HTTP Method POST )
|
||||
* @param string $mid [optional]
|
||||
* @param string $gid [optional]
|
||||
* @return None
|
||||
*/
|
||||
public function cancel($mid = null, $gid = null)
|
||||
{
|
||||
// mid or gid is empty. throw exception
|
||||
if (!$mid && !$gid) throw new CoolsmsSDKException('mid or gid either one must be entered', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
if ($mid) $options->mid = $mid;
|
||||
if ($gid) $options->gid = $gid;
|
||||
return $this->request('cancel', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get remaining balance ( HTTP Method GET )
|
||||
* @param None
|
||||
* @return object(cash, point)
|
||||
*/
|
||||
public function getBalance()
|
||||
{
|
||||
return $this->request('balance');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get status ( HTTP Method GET )
|
||||
* @param object $options {
|
||||
* @param integer count [optional]
|
||||
* @param string unit [optional]
|
||||
* @param string date [optional]
|
||||
* @param integer channel [optional] }
|
||||
* @return object(registdate, sms_average, sms_sk_average, sms_kt_average, sms_lg_average, mms_average, mms_sk_average, mms_kt_average, mms_lg_average)
|
||||
*/
|
||||
public function getStatus($options = null)
|
||||
{
|
||||
return $this->request('status', $options);
|
||||
}
|
||||
}
|
||||
116
vendor/coolsms/php-sdk/app/Nurigo/Api/SenderID.php
vendored
Normal file
116
vendor/coolsms/php-sdk/app/Nurigo/Api/SenderID.php
vendored
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Api;
|
||||
|
||||
use Nurigo\Coolsms;
|
||||
use Nurigo\Exceptions\CoolsmsSDKException;
|
||||
|
||||
require_once __DIR__ . "/../../../bootstrap.php";
|
||||
|
||||
/**
|
||||
* @class SenderID
|
||||
* @brief management sender id, using Rest API
|
||||
*/
|
||||
class SenderID extends Coolsms
|
||||
{
|
||||
/**
|
||||
* @brief change api name and api version
|
||||
* @param string $api_key [required]
|
||||
* @param string $api_secret [required]
|
||||
* @param boolean $basecamp [optional]
|
||||
* @return object(group_id)
|
||||
*/
|
||||
function __construct($api_key, $api_secret, $basecamp = false)
|
||||
{
|
||||
// set api_key and api_secret
|
||||
parent::__construct($api_key, $api_secret, $basecamp);
|
||||
|
||||
// set API and version
|
||||
$this->setApiConfig("senderid", "1.1");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief sender id registration request ( HTTP Method POST )
|
||||
* @param string $phone [required]
|
||||
* @param string $site_user [optional]
|
||||
* @return object(handle_key, ars_number)
|
||||
*/
|
||||
public function register($phone, $site_user = null)
|
||||
{
|
||||
if (!$phone) throw new CoolsmsSDKException('phone number is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->phone = $phone;
|
||||
$options->site_user = $site_user;
|
||||
return $this->request('register', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief verify sender id ( HTTP Method POST )
|
||||
* @param string $handle_key [required]
|
||||
* @return none
|
||||
*/
|
||||
public function verify($handle_key)
|
||||
{
|
||||
if (!$handle_key) throw new CoolsmsSDKException('handle_key is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->handle_key = $handle_key;
|
||||
return $this->request('verify', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief delete sender id ( HTTP Method POST )
|
||||
* @param string $handle_key [required]
|
||||
* @return none
|
||||
*/
|
||||
public function delete($handle_key)
|
||||
{
|
||||
if (!$handle_key) throw new CoolsmsSDKException('handle_key is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->handle_key = $handle_key;
|
||||
return $this->request('delete', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get sender id list ( HTTP Method GET )
|
||||
* @param string $site_user [optional]
|
||||
* @return object(site_user, idno, phone_number, flag_default, updatetime, regdate)
|
||||
*/
|
||||
public function getSenderidList($site_user = null)
|
||||
{
|
||||
$options = new \stdClass();
|
||||
$options->site_user = $site_user;
|
||||
return $this->request('list', $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief set default sender id ( HTTP Method POST )
|
||||
* @param string $handle_key [required]
|
||||
* @param string $site_user [optional]
|
||||
* @return none
|
||||
*/
|
||||
public function setDefault($handle_key, $site_user = null)
|
||||
{
|
||||
if (!$handle_key) throw new CoolsmsSDKException('handle_key is required', 202);
|
||||
|
||||
$options = new \stdClass();
|
||||
$options->handle_key = $handle_key;
|
||||
$options->site_user = $site_user;
|
||||
return $this->request('set_default', $options, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get default sender id ( HTTP Method GET )
|
||||
* @param string $site_user [optional]
|
||||
* @return object(handle_key, phone_number)
|
||||
*/
|
||||
public function getDefault($site_user = null)
|
||||
{
|
||||
$options = new \stdClass();
|
||||
$options->site_user = $site_user;
|
||||
return $this->request('get_default', $options);
|
||||
}
|
||||
}
|
||||
295
vendor/coolsms/php-sdk/app/Nurigo/Coolsms.php
vendored
Normal file
295
vendor/coolsms/php-sdk/app/Nurigo/Coolsms.php
vendored
Normal file
|
|
@ -0,0 +1,295 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
/**
|
||||
* Copyright (C) 2008-2016 NURIGO \n
|
||||
* http://www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
/**
|
||||
* @mainpage PHP SDK
|
||||
* @section intro 소개
|
||||
* - 소개 : Coolsms REST API
|
||||
* - 버전 : 2.0
|
||||
* - 설명 : Coolsms REST API 를 이용 보다 빠르고 안전하게 문자메시지를 보낼 수 있는 PHP로 만들어진 SDK 입니다.
|
||||
* @section CreateInfo 작성 정보
|
||||
* - 작성자 : Nurigo
|
||||
* - 작성일 : 2016/05/13
|
||||
* @section Caution 주의할 사항
|
||||
* - PHP SDK 2.0 은 PSR4에 근거하여 만들어 졌습니다. autoloading 과 namingspace의 개념을 알고 사용 하시는게 더 좋습니다.
|
||||
* @section common 기타 정보
|
||||
* - 저작권 GPL v2
|
||||
*/
|
||||
|
||||
namespace Nurigo;
|
||||
|
||||
use Nurigo\Exceptions\CoolsmsServerException;
|
||||
use Nurigo\Exceptions\CoolsmsSystemException;
|
||||
use Nurigo\Exceptions\CoolsmsSDKException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// check php extension "curl_init, json_decode"
|
||||
if (!function_exists('curl_init')) {
|
||||
throw new CoolsmsSystemException('Coolsms needs the CURL PHP extension.', 301);
|
||||
}
|
||||
if (!function_exists('json_decode')) {
|
||||
throw new CoolsmsSystemException('Coolsms needs the JSON PHP extension.', 301);
|
||||
}
|
||||
|
||||
/**
|
||||
* @class Coolsms
|
||||
* @brief Coolsms Rest API core class, using the Rest API
|
||||
*/
|
||||
class Coolsms
|
||||
{
|
||||
const HOST = "https://api.coolsms.co.kr";
|
||||
const SDK_VERSION = "2.0";
|
||||
|
||||
private $api_name = "sms";
|
||||
private $api_version = "2";
|
||||
private $api_key;
|
||||
private $api_secret;
|
||||
private $resource;
|
||||
private $is_post;
|
||||
private $result;
|
||||
private $basecamp;
|
||||
private $user_agent;
|
||||
private $content;
|
||||
|
||||
/**
|
||||
* @brief Construct
|
||||
*/
|
||||
public function __construct($api_key, $api_secret, $basecamp = false)
|
||||
{
|
||||
$this->api_key = $api_key;
|
||||
$this->api_secret = $api_secret;
|
||||
if (isset($_SERVER['HTTP_USER_AGENT'])) $this->user_agent = $_SERVER['HTTP_USER_AGENT'];
|
||||
if ($basecamp) $this->basecamp = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Process curl
|
||||
*/
|
||||
public function curlProcess()
|
||||
{
|
||||
$ch = curl_init();
|
||||
if (!$ch) throw new CoolsmsSystemException(curl_error($ch), 399);
|
||||
// Set url. is_post true = POST , false = GET
|
||||
if ($this->is_post) {
|
||||
$url = sprintf("%s/%s/%s/%s", self::HOST, $this->api_name, $this->api_version, $this->resource);
|
||||
} else {
|
||||
$url = sprintf("%s/%s/%s/%s?%s", self::HOST, $this->api_name, $this->api_version, $this->resource, $this->content);
|
||||
}
|
||||
|
||||
// Set curl info
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // check SSL certificate
|
||||
curl_setopt($ch, CURLOPT_SSLVERSION, 3); // SSL protocol version (need for https connect, 3 -> SSLv3)
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0); // include the header in the output (1 = true, 0 = false)
|
||||
curl_setopt($ch, CURLOPT_POST, $this->is_post); // POST GET method
|
||||
|
||||
// set POST data
|
||||
if ($this->is_post) {
|
||||
$header = array("Content-Type:multipart/form-data");
|
||||
|
||||
// route가 있으면 header에 붙여준다. substr 해준 이유는 앞에 @^가 붙기 때문에 자르기 위해서.
|
||||
if (isset($this->content['route'])) $header[] = "User-Agent:" . substr($this->content['route'], 1);
|
||||
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data"));
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->content);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // TimeOut value
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // curl_exec() result output (1 = true, 0 = false)
|
||||
|
||||
$this->result = json_decode(curl_exec($ch));
|
||||
|
||||
// unless http status code is 200. throw exception.
|
||||
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
if ($http_code != 200) throw new CoolsmsServerException($this->result, $http_code);
|
||||
|
||||
// check curl errors
|
||||
if (curl_errno($ch)) throw new CoolsmsSystemException(curl_error($ch), 399);
|
||||
|
||||
curl_close($ch);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief set http body content
|
||||
*/
|
||||
private function setContent($options)
|
||||
{
|
||||
// POST method content
|
||||
if ($this->is_post) {
|
||||
$this->content = array();
|
||||
foreach ($options as $key => $val) {
|
||||
if ($key != "text") $val = trim($val);
|
||||
|
||||
if ($key == "image") {
|
||||
$this->content[$key] = '@' . realpath("$val");
|
||||
} else {
|
||||
$this->content[$key] = sprintf("%s", $val);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// GET method content
|
||||
foreach ($options as $key => $val) {
|
||||
if ($key != "text") $val = trim($val);
|
||||
$this->content .= $key . "=" . urlencode($val) . "&";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @biref Make a signature with hash_hamac then return the signature
|
||||
*/
|
||||
private function getSignature($timestamp, $salt)
|
||||
{
|
||||
return hash_hmac('md5', $timestamp . $salt, $this->api_secret);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set authenticate information
|
||||
*/
|
||||
protected function addInfos($options = null)
|
||||
{
|
||||
if (!isset($options)) $options = new \stdClass();
|
||||
if (!isset($options->User_Agent)) $options->User_Agent = sprintf("PHP REST API %s", $this->api_version);
|
||||
if (!isset($options->os_platform)) $options->os_platform = $this->getOS();
|
||||
if (!isset($options->dev_lang)) $options->dev_lang = sprintf("PHP %s", phpversion());
|
||||
if (!isset($options->sdk_version)) $options->sdk_version = sprintf("PHP SDK %s", self::SDK_VERSION);
|
||||
|
||||
// set salt & timestamp
|
||||
$options->salt = uniqid();
|
||||
$options->timestamp = (string)time();
|
||||
|
||||
// If basecamp is true '$coolsms_user' use
|
||||
isset($this->basecamp) ? $options->coolsms_user = $this->api_key : $options->api_key = $this->api_key;
|
||||
|
||||
$options->signature = $this->getSignature($options->timestamp, $options->salt);
|
||||
$this->setContent($options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief set api resource and http method type
|
||||
* @param string $resource [required] related information. http://www.coolsms.co.kr/REST_API
|
||||
* @param boolean $is_post [optional] GET = false, POST = true
|
||||
*/
|
||||
protected function setResource($resource, $is_post = false)
|
||||
{
|
||||
$this->resource = $resource;
|
||||
$this->is_post = $is_post;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief https request using rest api
|
||||
* @param string $resource [required]
|
||||
* @param object $options [optional]
|
||||
* @param boolean $is_post [optional] GET = false, POST = true
|
||||
* @return mixed
|
||||
*/
|
||||
protected function request($resource, $options = null, $is_post = false)
|
||||
{
|
||||
if (!$resource) throw new CoolsmsSDKException('resource is required', 201);
|
||||
|
||||
// set http method and rest api path
|
||||
$this->setResource($resource, $is_post);
|
||||
|
||||
// set contents
|
||||
$this->addInfos($options);
|
||||
|
||||
// https request
|
||||
$this->curlProcess();
|
||||
|
||||
// return result
|
||||
return $this->getResult();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Return result
|
||||
*/
|
||||
public function getResult()
|
||||
{
|
||||
return $this->result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief set api name and api version
|
||||
* @param string $api_name [required] 'sms', 'senderid', 'image'
|
||||
* @param integer $api_version [required]
|
||||
*/
|
||||
public function setApiConfig($api_name, $api_version)
|
||||
{
|
||||
if (!isset($api_name) || !isset($api_version)) throw new CoolsmsSDKException('API name and version is requried', 201);
|
||||
$this->api_name = $api_name;
|
||||
$this->api_version = $api_version;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Return user's current OS
|
||||
*/
|
||||
function getOS()
|
||||
{
|
||||
$user_agent = $this->user_agent;
|
||||
$os_platform = "Unknown OS Platform";
|
||||
$os_array = array(
|
||||
'/windows nt 10/i' => 'Windows 10',
|
||||
'/windows nt 6.3/i' => 'Windows 8.1',
|
||||
'/windows nt 6.2/i' => 'Windows 8',
|
||||
'/windows nt 6.1/i' => 'Windows 7',
|
||||
'/windows nt 6.0/i' => 'Windows Vista',
|
||||
'/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
|
||||
'/windows nt 5.1/i' => 'Windows XP',
|
||||
'/windows xp/i' => 'Windows XP',
|
||||
'/windows nt 5.0/i' => 'Windows 2000',
|
||||
'/windows me/i' => 'Windows ME',
|
||||
'/win98/i' => 'Windows 98',
|
||||
'/win95/i' => 'Windows 95',
|
||||
'/win16/i' => 'Windows 3.11',
|
||||
'/macintosh|mac os x/i' => 'Mac OS X',
|
||||
'/mac_powerpc/i' => 'Mac OS 9',
|
||||
'/linux/i' => 'Linux',
|
||||
'/ubuntu/i' => 'Ubuntu',
|
||||
'/iphone/i' => 'iPhone',
|
||||
'/ipod/i' => 'iPod',
|
||||
'/ipad/i' => 'iPad',
|
||||
'/android/i' => 'Android',
|
||||
'/blackberry/i' => 'BlackBerry',
|
||||
'/webos/i' => 'Mobile'
|
||||
);
|
||||
|
||||
foreach ($os_array as $regex => $value) {
|
||||
if (preg_match($regex, $user_agent)) {
|
||||
$os_platform = $value;
|
||||
}
|
||||
}
|
||||
return $os_platform;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Return user's current browser
|
||||
*/
|
||||
function getBrowser()
|
||||
{
|
||||
$user_agent = $this->user_agent;
|
||||
$browser = "Unknown Browser";
|
||||
$browser_array = array(
|
||||
'/msie/i' => 'Internet Explorer',
|
||||
'/firefox/i' => 'Firefox',
|
||||
'/safari/i' => 'Safari',
|
||||
'/chrome/i' => 'Chrome',
|
||||
'/opera/i' => 'Opera',
|
||||
'/netscape/i' => 'Netscape',
|
||||
'/maxthon/i' => 'Maxthon',
|
||||
'/konqueror/i' => 'Konqueror',
|
||||
'/mobile/i' => 'Handheld Browser'
|
||||
);
|
||||
foreach ($browser_array as $regex => $value) {
|
||||
if (preg_match($regex, $user_agent)) {
|
||||
$browser = $value;
|
||||
}
|
||||
}
|
||||
return $browser;
|
||||
}
|
||||
}
|
||||
13
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsException.php
vendored
Normal file
13
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsException.php
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Exceptions;
|
||||
|
||||
/**
|
||||
* @class CoolsmsException
|
||||
* @brief Thrown when an SDK call returns an comprehensive exception.
|
||||
*/
|
||||
class CoolsmsException extends \Exception
|
||||
{
|
||||
|
||||
}
|
||||
12
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSDKException.php
vendored
Normal file
12
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSDKException.php
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Exceptions;
|
||||
|
||||
/**
|
||||
* @class CoolsmsSDKException
|
||||
* @brief Thrown when an SDK call returns an exception.
|
||||
*/
|
||||
class CoolsmsSDKException extends CoolsmsException
|
||||
{
|
||||
}
|
||||
35
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsServerException.php
vendored
Normal file
35
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsServerException.php
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Exceptions;
|
||||
|
||||
/**
|
||||
* @class CoolsmsServerException
|
||||
* @brief Thrown when an Server call returns an exception.
|
||||
*/
|
||||
class CoolsmsServerException extends CoolsmsException
|
||||
{
|
||||
/**
|
||||
* Coolsms API Response data
|
||||
*/
|
||||
protected $response;
|
||||
protected $response_data;
|
||||
|
||||
/**
|
||||
* @brief Make a new SDK Exception with the given result.
|
||||
* @param string $response [required] response from the API server & SDK Client
|
||||
* @param integer $code [required] response code
|
||||
*/
|
||||
public function __construct($response, $code) {
|
||||
$this->response = $response;
|
||||
$response_data = $response;
|
||||
parent::__construct(json_encode($response), $code);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief return json decoded response data
|
||||
*/
|
||||
public function getResponseData() {
|
||||
return $this->response_data;
|
||||
}
|
||||
}
|
||||
12
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSystemException.php
vendored
Normal file
12
vendor/coolsms/php-sdk/app/Nurigo/Exceptions/CoolsmsSystemException.php
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
/* vi:set sw=4 ts=4 expandtab: */
|
||||
|
||||
namespace Nurigo\Exceptions;
|
||||
|
||||
/**
|
||||
* @class CoolsmsSystemException
|
||||
* @brief Thrown when an System call returns an exception.
|
||||
*/
|
||||
class CoolsmsSystemException extends CoolsmsException
|
||||
{
|
||||
}
|
||||
2
vendor/coolsms/php-sdk/bootstrap.php
vendored
Normal file
2
vendor/coolsms/php-sdk/bootstrap.php
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<?php
|
||||
require_once __DIR__ . "/../../../vendor/autoload.php";
|
||||
24
vendor/coolsms/php-sdk/composer.json
vendored
Normal file
24
vendor/coolsms/php-sdk/composer.json
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "coolsms/php-sdk",
|
||||
"description": "Send message using PHP and RestAPI[TEST]",
|
||||
"type": "library",
|
||||
"keywords": ["coolsms", "nurigo", "sms", "message", "messages", "cool", "textmessage", "mobile", "cellphone", "phone", "mms", "lms", "global"],
|
||||
"license": "MIT",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"authors": [
|
||||
{
|
||||
"name": "nurigo",
|
||||
"email": "contact@nurigo.net",
|
||||
"homepage": "http://coolsms.co.kr",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.5.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Nurigo\\": "app/Nurigo"
|
||||
}
|
||||
}
|
||||
}
|
||||
20
vendor/coolsms/php-sdk/composer.lock
generated
vendored
Normal file
20
vendor/coolsms/php-sdk/composer.lock
generated
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "ec683450e574219efd4acfafbd3b213b",
|
||||
"content-hash": "4caf4ba39832cc096d7930eaf24ad348",
|
||||
"packages": [],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">=5.5.0"
|
||||
},
|
||||
"platform-dev": []
|
||||
}
|
||||
46
vendor/coolsms/php-sdk/examples/GroupMessage/example_add_messages.php
vendored
Normal file
46
vendor/coolsms/php-sdk/examples/GroupMessage/example_add_messages.php
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_add_messages
|
||||
*
|
||||
* This sample code demonstrate how to add messages into group through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// options(to, from, text) are mandatory. must be filled
|
||||
$options = new stdClass();
|
||||
$options->to = '01000000000'; // 수신번호
|
||||
$options->from = '01000000000'; // 발신번호
|
||||
$options->text = '안녕하세요. 10000건을 20초안에 발송하는 빠르고 저렴한 CoolSMS의 테스팅 문자입니다. '; // 문자내용
|
||||
$options->group_id = 'GID56CC00E21C4DC'; // group id
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $options->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA )
|
||||
// $options->image_id = 'IM289E9CISNWIC' // image_id. type must be set as 'MMS'
|
||||
// $options->refname = ''; // Reference name
|
||||
// $options->country = 82; // Korea(82) Japan(81) America(1) China(86) Default is Korea
|
||||
// $options->datetime = '20140106153000'; // Format must be(YYYYMMDDHHMISS) 2014 01 06 15 30 00 (2014 Jan 06th 3pm 30 00)
|
||||
// $options->subject = 'Hello World'; // set msg title for LMS and MMS
|
||||
// $options->delay = 10; // '0~20' delay messages
|
||||
// $options->sender_key = '55540253a3e61072...'; // 알림톡 사용을 위해 필요합니다. 신청방법 : http://www.coolsms.co.kr/AboutAlimTalk
|
||||
// $options->template_code = 'C004'; // 알림톡 template code 입니다. 자세한 설명은 http://www.coolsms.co.kr/AboutAlimTalk을 참조해주세요.
|
||||
|
||||
$result = $rest->addMessages($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
58
vendor/coolsms/php-sdk/examples/GroupMessage/example_add_messages_json.php
vendored
Normal file
58
vendor/coolsms/php-sdk/examples/GroupMessage/example_add_messages_json.php
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_add_messages
|
||||
*
|
||||
* This sample code demonstrate how to add json type messages into group through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// options(message, group_id) are mandatory. must be filled
|
||||
$options = new stdClass();
|
||||
|
||||
$text = array(
|
||||
0 => "안녕하세요.",
|
||||
1 => "10000건을 20초안에 발송하는 빠르고 저렴한",
|
||||
2 => "CoolSMS의 테스팅 문자입니다.");
|
||||
|
||||
$messages = array();
|
||||
foreach($text as $val) {
|
||||
$message = new stdClass();
|
||||
$message->type = "SMS";
|
||||
$message->to = "01000000000";
|
||||
$message->from = "01000000000";
|
||||
$message->text = $val;
|
||||
$messages[] = $message;
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $message->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA )
|
||||
// $message->image_id = 'IM289E9CISNWIC' // image_id. type must be set as 'MMS'
|
||||
// $message->refname = ''; // Reference name
|
||||
// $message->country = 82; // Korea(82) Japan(81) America(1) China(86) Default is Korea
|
||||
// $message->datetime = '20140106153000'; // Format must be(YYYYMMDDHHMISS) 2014 01 06 15 30 00 (2014 Jan 06th 3pm 30 00)
|
||||
// $message->subject = 'Hello World'; // set msg title for LMS and MMS
|
||||
// $message->delay = 10; // '0~20' delay messages
|
||||
// $message->sender_key = '55540253a3e61072...'; // 알림톡 사용을 위해 필요합니다. 신청방법 : http://www.coolsms.co.kr/AboutAlimTalk
|
||||
// $message->template_code = 'C004'; // 알림톡 template code 입니다. 자세한 설명은 http://www.coolsms.co.kr/AboutAlimTalk을 참조해주세요.
|
||||
}
|
||||
$options->messages = $messages;
|
||||
$options->group_id = 'GID57317013931B0'; // group id
|
||||
$result = $rest->addMessagesJSON($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
37
vendor/coolsms/php-sdk/examples/GroupMessage/example_create_group.php
vendored
Normal file
37
vendor/coolsms/php-sdk/examples/GroupMessage/example_create_group.php
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_new_group
|
||||
*
|
||||
* This sample code demonstrate how to create sms group through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// Optional parameters for your own needs
|
||||
$options = new stdClass();
|
||||
// $options->charset = 'utf8'; // utf8, euckr default value is utf8
|
||||
// $options->srk = ''; // Solution key
|
||||
// $options->mode = 'test'; // If 'test' value. refund cash to point
|
||||
// $options->delay = 10; // '0~20' delay messages
|
||||
// $options->force_sms = true; // 'true or false' always send sms
|
||||
// $options->app_version = ''; // App version
|
||||
|
||||
$result = $rest->createGroup($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_delete_groups.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_delete_groups.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_delete_group
|
||||
*
|
||||
* This sample code demonstrate how to delete sms group through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// group_ids are mandatory. must be filled
|
||||
$group_ids = 'GID56CC00E21C4DC'; // ex) '1GCOLS23BDG','RGGBB11545'
|
||||
|
||||
$result = $rest->deleteGroups($group_ids);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
32
vendor/coolsms/php-sdk/examples/GroupMessage/example_delete_messages.php
vendored
Normal file
32
vendor/coolsms/php-sdk/examples/GroupMessage/example_delete_messages.php
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_delete_messages
|
||||
*
|
||||
* This sample code demonstrate how to delete messages through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// group_id, message_ids are mandatory. must be filled
|
||||
$group_id = 'GID56CC00E21C4DC'; // group id
|
||||
$message_ids = '2838DFJFE02EI10TM'; // message ids. ex) '2838DFJFE02EI10TM','RGGBB11545'
|
||||
|
||||
$result = $rest->deleteMessages($group_id, $message_ids);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_group_info.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_group_info.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_group_info
|
||||
*
|
||||
* This sample code demonstrate how to check group info through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// group_id are mandatory. must be filled
|
||||
$group_id = 'GIDFIWKEO19DIW29'; // group id
|
||||
|
||||
$result = $rest->getGroupInfo($group_id);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
28
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_group_list.php
vendored
Normal file
28
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_group_list.php
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_group_list
|
||||
*
|
||||
* This sample code demonstrate how to check group list through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
$result = $rest->getGroupList();
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
33
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_message_list.php
vendored
Normal file
33
vendor/coolsms/php-sdk/examples/GroupMessage/example_get_message_list.php
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_message_list
|
||||
*
|
||||
* This sample code demonstrate check message list through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// Optional parameters for your own needs
|
||||
$group_id = 'GID57317013931B0'; // group id
|
||||
$offset = 0; // default 0
|
||||
$limit = 20; // default 20
|
||||
|
||||
$result = $rest->getMessageList($group_id, $offset, $limit);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_send.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/GroupMessage/example_send.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_send
|
||||
*
|
||||
* This sample code demonstrate how to send group sms through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// group_id are mandatory. must be filled
|
||||
$group_id = 'GID56CC00E21C4DC'; // group id. ex) '1GCOLS23BDG'
|
||||
|
||||
$result = $rest->sendGroupMessage($group_id);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
44
vendor/coolsms/php-sdk/examples/GroupMessage/example_send_process.php
vendored
Normal file
44
vendor/coolsms/php-sdk/examples/GroupMessage/example_send_process.php
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_send_process
|
||||
*
|
||||
* This sample code demonstrate how to send group message through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\GroupMessage;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
$options = new stdClass();
|
||||
|
||||
// initiate rest api sdk object
|
||||
$rest = new GroupMessage($api_key, $api_secret);
|
||||
|
||||
// create group
|
||||
$result = $rest->createGroup($options);
|
||||
$group_id = $result->group_id;
|
||||
print_r($result);
|
||||
|
||||
// add messages
|
||||
$options->to = '01000000000';
|
||||
$options->from = '01000000000';
|
||||
$options->text = '안녕하세요. 10000건을 20초안에 발송하는 빠르고 저렴한 CoolSMS의 테스팅 문자입니다. ';
|
||||
$options->group_id = $group_id; // group id
|
||||
$result = $rest->addMessages($options);
|
||||
print_r($result);
|
||||
|
||||
// send messages
|
||||
$result = $rest->sendGroupMessage($group_id);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
32
vendor/coolsms/php-sdk/examples/Message/example_cancel.php
vendored
Normal file
32
vendor/coolsms/php-sdk/examples/Message/example_cancel.php
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_cancel
|
||||
*
|
||||
* This sample code demonstrate how to cancel reserved sms through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Message;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Message($api_key, $api_secret);
|
||||
|
||||
// Either mid or gid must be entered.
|
||||
$options = new stdClass();
|
||||
$mid = 'M52CB443257C61'; // message id.
|
||||
$gid = 'G52CB4432576C8'; // group id.
|
||||
|
||||
$rest->cancel($mid); // if $gid is exists. ex) $rest-cancel(null, $gid);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get 'api.coolsms.co.kr' response code
|
||||
}
|
||||
29
vendor/coolsms/php-sdk/examples/Message/example_get_balance.php
vendored
Normal file
29
vendor/coolsms/php-sdk/examples/Message/example_get_balance.php
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_balance
|
||||
*
|
||||
* This sample code demonstrate how to check cash & point balance through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Message;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Message($api_key, $api_secret);
|
||||
|
||||
$result = $rest->getBalance();
|
||||
print_r($result);
|
||||
} catch (CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
35
vendor/coolsms/php-sdk/examples/Message/example_get_status.php
vendored
Normal file
35
vendor/coolsms/php-sdk/examples/Message/example_get_status.php
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_sent
|
||||
*
|
||||
* This sample code demonstrate how to check sms result through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Message;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Message($api_key, $api_secret);
|
||||
|
||||
// set necessary options
|
||||
$options = new stdClass();
|
||||
// $options->count = '1'; // 기본값 1이며 1개의 최신 레코드를 받을 수 있음. 10입력시 10분동안의 레코드 목록을 리턴
|
||||
// $options->unit = 'minute'; // minute(default), hour, day 중 하나 해당 단위의 평균
|
||||
// $options->date = '20161016230000'; // 데이터를 읽어오는 기준 시각
|
||||
// $options->channel = '1'; // 1 : 1건 발송채널(default), 2 : 대량 발송 채널
|
||||
|
||||
$result = $rest->getStatus($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
52
vendor/coolsms/php-sdk/examples/Message/example_send.php
vendored
Normal file
52
vendor/coolsms/php-sdk/examples/Message/example_send.php
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_send
|
||||
*
|
||||
* This sample code demonstrate how to send sms through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Message;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Message($api_key, $api_secret);
|
||||
|
||||
// 4 options(to, from, type, text) are mandatory. must be filled
|
||||
$options = new stdClass();
|
||||
$options->to = '01000000000'; // 수신번호
|
||||
$options->from = '01000000000'; // 발신번호
|
||||
$options->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA )
|
||||
$options->text = '안녕하세요. 10000건을 20초안에 발송하는 빠르고 저렴한 CoolSMS의 테스팅 문자입니다. '; // 문자내용
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $options->image = '../Image/images/test.jpg'; // image for MMS. type must be set as 'MMS'
|
||||
// $options->image_encoding = 'binary'; // image encoding binary(default), base64
|
||||
// $options->mode = 'test'; // 'test' 모드. 실제로 발송되지 않으며 전송내역에 60 오류코드로 뜹니다. 차감된 캐쉬는 다음날 새벽에 충전 됩니다.
|
||||
// $options->delay = 10; // 0~20사이의 값으로 전송지연 시간을 줄 수 있습니다.
|
||||
// $options->force_sms = true; // 푸시 및 알림톡 이용시에도 강제로 SMS로 발송되도록 할 수 있습니다.
|
||||
// $options->refname = ''; // Reference name
|
||||
// $options->country = 'KR'; // Korea(KR) Japan(JP) America(USA) China(CN) Default is Korea
|
||||
// $options->datetime = '20140106153000'; // Format must be(YYYYMMDDHHMISS) 2014 01 06 15 30 00 (2014 Jan 06th 3pm 30 00)
|
||||
// $options->mid = 'mymsgid01'; // set message id. Server creates automatically if empty
|
||||
// $options->gid = 'mymsg_group_id01'; // set group id. Server creates automatically if empty
|
||||
// $options->subject = 'Hello World'; // set msg title for LMS and MMS
|
||||
// $options->charset = 'euckr'; // For Korean language, set euckr or utf-8
|
||||
// $options->sender_key = '55540253a3e61072...'; // 알림톡 사용을 위해 필요합니다. 신청방법 : http://www.coolsms.co.kr/AboutAlimTalk
|
||||
// $options->template_code = 'C004'; // 알림톡 template code 입니다. 자세한 설명은 http://www.coolsms.co.kr/AboutAlimTalk을 참조해주세요.
|
||||
// $options->app_version = 'Purplebook 4.1' // 어플리케이션 버전
|
||||
|
||||
$result = $rest->send($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
38
vendor/coolsms/php-sdk/examples/Message/example_sent.php
vendored
Normal file
38
vendor/coolsms/php-sdk/examples/Message/example_sent.php
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_sent
|
||||
*
|
||||
* This sample code demonstrate how to check sms result through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Message;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Message($api_key, $api_secret);
|
||||
|
||||
// set necessary options
|
||||
$options = new stdClass();
|
||||
$options->message_id = 'M52CB443257C61'; //message id
|
||||
// $options->group_id = 'G52CB4432576C8'; //group id
|
||||
// $options->count = '40'; //result return counts. default is 20
|
||||
// $options->page = '1'; //page
|
||||
// $options->rcpt = '01012345678'; //search sent result by recipient number
|
||||
// $options->start = '201401070915'; //set search start date ex) 201401070915
|
||||
// $options->end = '201401071230'; //set search end date ex) 201401071230
|
||||
|
||||
$result = $rest->sent($options);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/image/example_delete_images.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/image/example_delete_images.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_delete_images
|
||||
*
|
||||
* This sample code demonstrate how to delete images through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Image;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Image($api_key, $api_secret);
|
||||
|
||||
// image_ids are mandatory. must be filled
|
||||
$image_ids = ''; // image ids. ex)'IM34BWIDJ12','IMG2559GBB'
|
||||
|
||||
$result = $rest->deleteImages($image_ids);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/image/example_get_image_info.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/image/example_get_image_info.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_image_info
|
||||
*
|
||||
* This sample code demonstrate how to check image info through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Image;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Image($api_key, $api_secret);
|
||||
|
||||
// image_id are mandatory. must be filled
|
||||
$image_id = ''; // image id
|
||||
|
||||
$result = $rest->getImageInfo($image_id);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
32
vendor/coolsms/php-sdk/examples/image/example_get_image_list.php
vendored
Normal file
32
vendor/coolsms/php-sdk/examples/image/example_get_image_list.php
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_image_list
|
||||
*
|
||||
* This sample code demonstrate how to check image list through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Image;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Image($api_key, $api_secret);
|
||||
|
||||
// Optional parameters for your own needs
|
||||
$offset = 0; // default 0
|
||||
$limit = 20; // default 20
|
||||
|
||||
$result = $rest->getImageList($offset, $limit);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
34
vendor/coolsms/php-sdk/examples/image/example_upload_image.php
vendored
Normal file
34
vendor/coolsms/php-sdk/examples/image/example_upload_image.php
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_upload_image
|
||||
*
|
||||
* This sample code demonstrate how to upload image through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\Image;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new Image($api_key, $api_secret);
|
||||
|
||||
// image are mandatory. must be filled
|
||||
$image = 'images/test.jpg'; // image
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $encoding = 'binary'; // image encoding type (base64, binary) default binary
|
||||
|
||||
$result = $rest->uploadImage($image); // or $rest->uploadImage($image, $encoding)
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
BIN
vendor/coolsms/php-sdk/examples/image/images/test.jpg
vendored
Normal file
BIN
vendor/coolsms/php-sdk/examples/image/images/test.jpg
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
31
vendor/coolsms/php-sdk/examples/senderid/example_delete.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/senderid/example_delete.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_delete
|
||||
*
|
||||
* This sample code demonstrate how to delete sender number through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// handle_key are mandatory. must be filled
|
||||
$handle_key = 'C29CE02IOE9'; // sender number handle key. check for 'example_list'
|
||||
|
||||
$result = $rest->delete($handle_key);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/senderid/example_get_default.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/senderid/example_get_default.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_get_default
|
||||
*
|
||||
* This sample code demonstrate how to get default sender number through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $site_user = 'admin'; // site user_id. '__private__' is default value
|
||||
|
||||
$result = $rest->getDefault(); // or $rest->getDefault($site_user);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/senderid/example_get_sender_id_list.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/senderid/example_get_sender_id_list.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_list
|
||||
*
|
||||
* This sample code demonstrate how to check sender number list through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $site_user = 'admin'; // site user_id. '__private__' is default value
|
||||
|
||||
$result = $rest->getSenderidList(); // or $rest->senderidList($site_user);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
34
vendor/coolsms/php-sdk/examples/senderid/example_register.php
vendored
Normal file
34
vendor/coolsms/php-sdk/examples/senderid/example_register.php
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_register
|
||||
*
|
||||
* This sample code demonstrate how to request sender number register through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// phone are mandatory. must be filled
|
||||
$phone = '01000000000'; // sender number to register
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $site_user = 'admin'; // site user_id. '__private__' is default value
|
||||
|
||||
$result = $rest->register($phone); // or $rest->register($phone, $site_user);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
34
vendor/coolsms/php-sdk/examples/senderid/example_set_default.php
vendored
Normal file
34
vendor/coolsms/php-sdk/examples/senderid/example_set_default.php
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_set_default
|
||||
*
|
||||
* This sample code demonstrate how to set default sender number through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// handle_key are mandatory. must be filled
|
||||
$handle_key = 'C29CE02IOE9'; // sender number handle key. check for 'example_list'
|
||||
|
||||
// Optional parameters for your own needs
|
||||
// $site_user = 'admin'; // site user_id. '__private__' is default value
|
||||
|
||||
$result = $rest->setDefault($handle_key); // or $rest->setDefault($handle_key, $site_user);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
31
vendor/coolsms/php-sdk/examples/senderid/example_verify.php
vendored
Normal file
31
vendor/coolsms/php-sdk/examples/senderid/example_verify.php
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* #example_verify
|
||||
*
|
||||
* This sample code demonstrate how to verify sender number through CoolSMS Rest API PHP
|
||||
* for more info, visit
|
||||
* www.coolsms.co.kr
|
||||
*/
|
||||
|
||||
use Nurigo\Api\SenderID;
|
||||
use Nurigo\Exceptions\CoolsmsException;
|
||||
|
||||
require_once __DIR__ . "/../../bootstrap.php";
|
||||
|
||||
// api_key and api_secret can be obtained from www.coolsms.co.kr/credentials
|
||||
$api_key = '#ENTER_YOUR_OWN#';
|
||||
$api_secret = '#ENTER_YOUR_OWN#';
|
||||
|
||||
try {
|
||||
// initiate rest api sdk object
|
||||
$rest = new SenderID($api_key, $api_secret);
|
||||
|
||||
// handle_key are mandatory. must be filled
|
||||
$handle_key = 'C29CE02IOE9'; // after register call. return value
|
||||
|
||||
$result = $rest->verify($handle_key);
|
||||
print_r($result);
|
||||
} catch(CoolsmsException $e) {
|
||||
echo $e->getMessage(); // get error message
|
||||
echo $e->getCode(); // get error code
|
||||
}
|
||||
222
vendor/leafo/scssphp/src/Compiler.php
vendored
222
vendor/leafo/scssphp/src/Compiler.php
vendored
|
|
@ -125,20 +125,21 @@ class Compiler
|
|||
protected $rootEnv;
|
||||
protected $rootBlock;
|
||||
|
||||
protected $env;
|
||||
protected $scope;
|
||||
protected $storeEnv;
|
||||
protected $charsetSeen;
|
||||
protected $sourceNames;
|
||||
|
||||
private $indentLevel;
|
||||
private $commentsSeen;
|
||||
private $extends;
|
||||
private $extendsMap;
|
||||
private $parsedFiles;
|
||||
private $env;
|
||||
private $scope;
|
||||
private $parser;
|
||||
private $sourceNames;
|
||||
private $sourceIndex;
|
||||
private $sourceLine;
|
||||
private $sourceColumn;
|
||||
private $storeEnv;
|
||||
private $charsetSeen;
|
||||
private $stderr;
|
||||
private $shouldEvaluate;
|
||||
private $ignoreErrors;
|
||||
|
|
@ -207,7 +208,7 @@ class Compiler
|
|||
*
|
||||
* @return \Leafo\ScssPhp\Parser
|
||||
*/
|
||||
private function parserFactory($path)
|
||||
protected function parserFactory($path)
|
||||
{
|
||||
$parser = new Parser($path, count($this->sourceNames), $this->encoding);
|
||||
|
||||
|
|
@ -396,23 +397,42 @@ class Compiler
|
|||
}
|
||||
|
||||
if ($this->matchExtendsSingle($part, $origin)) {
|
||||
$before = array_slice($selector, 0, $i);
|
||||
$after = array_slice($selector, $i + 1);
|
||||
$s = count($before);
|
||||
$before = array_slice($selector, 0, $i);
|
||||
|
||||
list($before, $nonBreakableBefore) = $this->extractRelationshipFromFragment($before);
|
||||
|
||||
foreach ($origin as $new) {
|
||||
$k = 0;
|
||||
|
||||
// remove shared parts
|
||||
if ($initial) {
|
||||
while ($k < $s && isset($new[$k]) && $before[$k] === $new[$k]) {
|
||||
while ($k < $i && isset($new[$k]) && $selector[$k] === $new[$k]) {
|
||||
$k++;
|
||||
}
|
||||
}
|
||||
|
||||
$replacement = [];
|
||||
$tempReplacement = $k > 0 ? array_slice($new, $k) : $new;
|
||||
|
||||
for ($l = count($tempReplacement) - 1; $l >= 0; $l--) {
|
||||
$slice = $tempReplacement[$l];
|
||||
array_unshift($replacement, $slice);
|
||||
|
||||
if (! $this->isImmediateRelationshipCombinator(end($slice))) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$afterBefore = $l != 0 ? array_slice($tempReplacement, 0, $l) : [];
|
||||
|
||||
// Merge shared direct relationships.
|
||||
$mergedBefore = $this->mergeDirectRelationships($afterBefore, $nonBreakableBefore);
|
||||
|
||||
$result = array_merge(
|
||||
$before,
|
||||
$k > 0 ? array_slice($new, $k) : $new,
|
||||
$mergedBefore,
|
||||
$replacement,
|
||||
$after
|
||||
);
|
||||
|
||||
|
|
@ -423,14 +443,22 @@ class Compiler
|
|||
$out[] = $result;
|
||||
|
||||
// recursively check for more matches
|
||||
$this->matchExtends($result, $out, $i, false);
|
||||
$this->matchExtends($result, $out, count($before) + count($mergedBefore), false);
|
||||
|
||||
// selector sequence merging
|
||||
if (! empty($before) && count($new) > 1) {
|
||||
$sharedParts = $k > 0 ? array_slice($before, 0, $k) : [];
|
||||
$postSharedParts = $k > 0 ? array_slice($before, $k) : $before;
|
||||
|
||||
list($injectBetweenSharedParts, $nonBreakable2) = $this->extractRelationshipFromFragment($afterBefore);
|
||||
|
||||
$result2 = array_merge(
|
||||
array_slice($new, 0, -1),
|
||||
$k > 0 ? array_slice($before, $k) : $before,
|
||||
array_slice($new, -1),
|
||||
$sharedParts,
|
||||
$injectBetweenSharedParts,
|
||||
$postSharedParts,
|
||||
$nonBreakable2,
|
||||
$nonBreakableBefore,
|
||||
$replacement,
|
||||
$after
|
||||
);
|
||||
|
||||
|
|
@ -467,6 +495,13 @@ class Compiler
|
|||
}
|
||||
}
|
||||
|
||||
$extendingDecoratedTag = false;
|
||||
|
||||
if (count($single) > 1) {
|
||||
$matches = null;
|
||||
$extendingDecoratedTag = preg_match('/^[a-z0-9]+$/i', $single[0], $matches) ? $matches[0] : false;
|
||||
}
|
||||
|
||||
foreach ($single as $part) {
|
||||
if (isset($this->extendsMap[$part])) {
|
||||
foreach ($this->extendsMap[$part] as $idx) {
|
||||
|
|
@ -496,7 +531,17 @@ class Compiler
|
|||
return false;
|
||||
}
|
||||
|
||||
$combined = $this->combineSelectorSingle(end($new), $rem);
|
||||
$replacement = end($new);
|
||||
|
||||
// Extending a decorated tag with another tag is not possible.
|
||||
if ($extendingDecoratedTag && $replacement[0] != $extendingDecoratedTag &&
|
||||
preg_match('/^[a-z0-9]+$/i', $replacement[0])
|
||||
) {
|
||||
unset($origin[$j]);
|
||||
continue;
|
||||
}
|
||||
|
||||
$combined = $this->combineSelectorSingle($replacement, $rem);
|
||||
|
||||
if (count(array_diff($combined, $origin[$j][count($origin[$j]) - 1]))) {
|
||||
$origin[$j][count($origin[$j]) - 1] = $combined;
|
||||
|
|
@ -511,6 +556,39 @@ class Compiler
|
|||
return $found;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Extract a relationship from the fragment.
|
||||
*
|
||||
* When extracting the last portion of a selector we will be left with a
|
||||
* fragment which may end with a direction relationship combinator. This
|
||||
* method will extract the relationship fragment and return it along side
|
||||
* the rest.
|
||||
*
|
||||
* @param array $fragment The selector fragment maybe ending with a direction relationship combinator.
|
||||
* @return array The selector without the relationship fragment if any, the relationship fragment.
|
||||
*/
|
||||
protected function extractRelationshipFromFragment(array $fragment)
|
||||
{
|
||||
$parents = [];
|
||||
$children = [];
|
||||
$j = $i = count($fragment);
|
||||
|
||||
for (;;) {
|
||||
$children = $j != $i ? array_slice($fragment, $j, $i - $j) : [];
|
||||
$parents = array_slice($fragment, 0, $j);
|
||||
$slice = end($parents);
|
||||
|
||||
if (empty($slice) || ! $this->isImmediateRelationshipCombinator($slice[0])) {
|
||||
break;
|
||||
}
|
||||
|
||||
$j -= 2;
|
||||
}
|
||||
|
||||
return [$parents, $children];
|
||||
}
|
||||
|
||||
/**
|
||||
* Combine selector single
|
||||
*
|
||||
|
|
@ -1283,6 +1361,37 @@ class Compiler
|
|||
return $out;
|
||||
}
|
||||
|
||||
protected function mergeDirectRelationships($selectors1, $selectors2)
|
||||
{
|
||||
if (empty($selectors1) || empty($selectors2)) {
|
||||
return array_merge($selectors1, $selectors2);
|
||||
}
|
||||
|
||||
$part1 = end($selectors1);
|
||||
$part2 = end($selectors2);
|
||||
|
||||
if (! $this->isImmediateRelationshipCombinator($part1[0]) || $part1 !== $part2) {
|
||||
return array_merge($selectors1, $selectors2);
|
||||
}
|
||||
|
||||
$merged = [];
|
||||
|
||||
do {
|
||||
$part1 = array_pop($selectors1);
|
||||
$part2 = array_pop($selectors2);
|
||||
|
||||
if ($this->isImmediateRelationshipCombinator($part1[0]) && $part1 !== $part2) {
|
||||
$merged = array_merge($selectors1, [$part1], $selectors2, [$part2], $merged);
|
||||
break;
|
||||
}
|
||||
|
||||
array_unshift($merged, $part1);
|
||||
array_unshift($merged, [array_pop($selectors1)[0] . array_pop($selectors2)[0]]);
|
||||
} while (! empty($selectors1) && ! empty($selectors2));
|
||||
|
||||
return $merged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge media types
|
||||
*
|
||||
|
|
@ -1460,9 +1569,9 @@ class Compiler
|
|||
list(, $name, $value) = $child;
|
||||
|
||||
if ($name[0] === Type::T_VARIABLE) {
|
||||
$flag = isset($child[3]) ? $child[3] : null;
|
||||
$isDefault = $flag === '!default';
|
||||
$isGlobal = $flag === '!global';
|
||||
$flags = isset($child[3]) ? $child[3] : [];
|
||||
$isDefault = in_array('!default', $flags);
|
||||
$isGlobal = in_array('!global', $flags);
|
||||
|
||||
if ($isGlobal) {
|
||||
$this->set($name[1], $this->reduce($value), false, $this->rootEnv);
|
||||
|
|
@ -1622,7 +1731,7 @@ class Compiler
|
|||
$end = $end[1];
|
||||
$d = $start < $end ? 1 : -1;
|
||||
|
||||
while (true) {
|
||||
for (;;) {
|
||||
if ((! $for->until && $start - $d == $end) ||
|
||||
($for->until && $start == $end)
|
||||
) {
|
||||
|
|
@ -1695,6 +1804,9 @@ class Compiler
|
|||
$this->pushEnv();
|
||||
$this->env->depth--;
|
||||
|
||||
$storeEnv = $this->storeEnv;
|
||||
$this->storeEnv = $this->env;
|
||||
|
||||
if (isset($content)) {
|
||||
$content->scope = $callingScope;
|
||||
|
||||
|
|
@ -1709,6 +1821,8 @@ class Compiler
|
|||
|
||||
$this->compileChildrenNoReturn($mixin->children, $out);
|
||||
|
||||
$this->storeEnv = $storeEnv;
|
||||
|
||||
$this->popEnv();
|
||||
break;
|
||||
|
||||
|
|
@ -1717,7 +1831,9 @@ class Compiler
|
|||
?: $this->get(self::$namespaces['special'] . 'content', false, $this->env);
|
||||
|
||||
if (! $content) {
|
||||
$this->throwError('Expected @content inside of mixin');
|
||||
$content = new \stdClass();
|
||||
$content->scope = new \stdClass();
|
||||
$content->children = $this->storeEnv->parent->block->children;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -1742,7 +1858,7 @@ class Compiler
|
|||
|
||||
$line = $this->sourceLine;
|
||||
$value = $this->compileValue($this->reduce($value, true));
|
||||
echo "Line $line WARN: $value\n";
|
||||
fwrite($this->stderr, "Line $line WARN: $value\n");
|
||||
break;
|
||||
|
||||
case Type::T_ERROR:
|
||||
|
|
@ -1802,6 +1918,18 @@ class Compiler
|
|||
return $value !== self::$false && $value !== self::$null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is the value a direct relationship combinator?
|
||||
*
|
||||
* @param string $value
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function isImmediateRelationshipCombinator($value)
|
||||
{
|
||||
return $value === '>' || $value === '+' || $value === '~';
|
||||
}
|
||||
|
||||
/**
|
||||
* Should $value cause its operand to eval
|
||||
*
|
||||
|
|
@ -2216,7 +2344,7 @@ class Compiler
|
|||
return;
|
||||
}
|
||||
|
||||
if ($left !== self::$false) {
|
||||
if ($left !== self::$false and $left !== self::$null) {
|
||||
return $this->reduce($right, true);
|
||||
}
|
||||
|
||||
|
|
@ -2238,7 +2366,7 @@ class Compiler
|
|||
return;
|
||||
}
|
||||
|
||||
if ($left !== self::$false) {
|
||||
if ($left !== self::$false and $left !== self::$null) {
|
||||
return $left;
|
||||
}
|
||||
|
||||
|
|
@ -2937,20 +3065,28 @@ class Compiler
|
|||
*/
|
||||
public function get($name, $shouldThrow = true, Environment $env = null)
|
||||
{
|
||||
$name = $this->normalizeName($name);
|
||||
$normalizedName = $this->normalizeName($name);
|
||||
$specialContentKey = self::$namespaces['special'] . 'content';
|
||||
|
||||
if (! isset($env)) {
|
||||
$env = $this->getStoreEnv();
|
||||
}
|
||||
|
||||
$hasNamespace = $name[0] === '^' || $name[0] === '@' || $name[0] === '%';
|
||||
$nextIsRoot = false;
|
||||
$hasNamespace = $normalizedName[0] === '^' || $normalizedName[0] === '@' || $normalizedName[0] === '%';
|
||||
|
||||
for (;;) {
|
||||
if (array_key_exists($name, $env->store)) {
|
||||
return $env->store[$name];
|
||||
if (array_key_exists($normalizedName, $env->store)) {
|
||||
return $env->store[$normalizedName];
|
||||
}
|
||||
|
||||
if (! $hasNamespace && isset($env->marker)) {
|
||||
if (! $nextIsRoot && ! empty($env->store[$specialContentKey])) {
|
||||
$env = $env->store[$specialContentKey]->scope;
|
||||
$nextIsRoot = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
$env = $this->rootEnv;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -3303,7 +3439,7 @@ class Compiler
|
|||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
private function handleImportLoop($name)
|
||||
protected function handleImportLoop($name)
|
||||
{
|
||||
for ($env = $this->env; $env; $env = $env->parent) {
|
||||
$file = $this->sourceNames[$env->block->sourceIndex];
|
||||
|
|
@ -3346,6 +3482,9 @@ class Compiler
|
|||
|
||||
$this->pushEnv();
|
||||
|
||||
$storeEnv = $this->storeEnv;
|
||||
$this->storeEnv = $this->env;
|
||||
|
||||
// set the args
|
||||
if (isset($func->args)) {
|
||||
$this->applyArguments($func->args, $argValues);
|
||||
|
|
@ -3360,6 +3499,8 @@ class Compiler
|
|||
|
||||
$ret = $this->compileChildren($func->children, $tmp);
|
||||
|
||||
$this->storeEnv = $storeEnv;
|
||||
|
||||
$this->popEnv();
|
||||
|
||||
$returnValue = ! isset($ret) ? self::$defaultValue : $ret;
|
||||
|
|
@ -3611,7 +3752,7 @@ class Compiler
|
|||
}
|
||||
|
||||
if ($value === null) {
|
||||
$value = self::$null;
|
||||
return self::$null;
|
||||
}
|
||||
|
||||
if (is_numeric($value)) {
|
||||
|
|
@ -3622,6 +3763,29 @@ class Compiler
|
|||
return self::$emptyString;
|
||||
}
|
||||
|
||||
if (preg_match('/^(#([0-9a-f]{6})|#([0-9a-f]{3}))$/i', $value, $m)) {
|
||||
$color = [Type::T_COLOR];
|
||||
|
||||
if (isset($m[3])) {
|
||||
$num = hexdec($m[3]);
|
||||
|
||||
foreach ([3, 2, 1] as $i) {
|
||||
$t = $num & 0xf;
|
||||
$color[$i] = $t << 4 | $t;
|
||||
$num >>= 4;
|
||||
}
|
||||
} else {
|
||||
$num = hexdec($m[2]);
|
||||
|
||||
foreach ([3, 2, 1] as $i) {
|
||||
$color[$i] = $num & 0xff;
|
||||
$num >>= 8;
|
||||
}
|
||||
}
|
||||
|
||||
return $color;
|
||||
}
|
||||
|
||||
return [Type::T_KEYWORD, $value];
|
||||
}
|
||||
|
||||
|
|
|
|||
29
vendor/leafo/scssphp/src/Parser.php
vendored
29
vendor/leafo/scssphp/src/Parser.php
vendored
|
|
@ -142,11 +142,16 @@ class Parser
|
|||
*/
|
||||
public function parse($buffer)
|
||||
{
|
||||
// strip BOM (byte order marker)
|
||||
if (substr($buffer, 0, 3) === "\xef\xbb\xbf") {
|
||||
$buffer = substr($buffer, 3);
|
||||
}
|
||||
|
||||
$this->buffer = rtrim($buffer, "\x00..\x1f");
|
||||
$this->count = 0;
|
||||
$this->env = null;
|
||||
$this->inParens = false;
|
||||
$this->eatWhiteDefault = true;
|
||||
$this->buffer = rtrim($buffer, "\x00..\x1f");
|
||||
|
||||
$this->saveEncoding();
|
||||
$this->extractLineNumbers($buffer);
|
||||
|
|
@ -617,8 +622,8 @@ class Parser
|
|||
$this->end()
|
||||
) {
|
||||
// check for '!flag'
|
||||
$assignmentFlag = $this->stripAssignmentFlag($value);
|
||||
$this->append([Type::T_ASSIGN, $name, $value, $assignmentFlag], $s);
|
||||
$assignmentFlags = $this->stripAssignmentFlags($value);
|
||||
$this->append([Type::T_ASSIGN, $name, $value, $assignmentFlags], $s);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -895,7 +900,7 @@ class Parser
|
|||
|
||||
$len = strlen($what);
|
||||
|
||||
if (substr($this->buffer, $this->count, $len) === $what) {
|
||||
if (strcasecmp(substr($this->buffer, $this->count, $len), $what) === 0) {
|
||||
$this->count += $len;
|
||||
|
||||
if ($eatWhitespace) {
|
||||
|
|
@ -2287,25 +2292,29 @@ class Parser
|
|||
*
|
||||
* @param array $value
|
||||
*
|
||||
* @return string
|
||||
* @return array
|
||||
*/
|
||||
protected function stripAssignmentFlag(&$value)
|
||||
protected function stripAssignmentFlags(&$value)
|
||||
{
|
||||
$token = &$value;
|
||||
$flags = [];
|
||||
|
||||
for ($token = &$value; $token[0] === Type::T_LIST && ($s = count($token[2])); $token = &$lastNode) {
|
||||
$lastNode = &$token[2][$s - 1];
|
||||
|
||||
if ($lastNode[0] === Type::T_KEYWORD && in_array($lastNode[1], ['!default', '!global'])) {
|
||||
while ($lastNode[0] === Type::T_KEYWORD && in_array($lastNode[1], ['!default', '!global'])) {
|
||||
array_pop($token[2]);
|
||||
|
||||
$node = end($token[2]);
|
||||
|
||||
$token = $this->flattenList($token);
|
||||
|
||||
return $lastNode[1];
|
||||
$flags[] = $lastNode[1];
|
||||
|
||||
$lastNode = $node;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return $flags;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
2
vendor/leafo/scssphp/src/Version.php
vendored
2
vendor/leafo/scssphp/src/Version.php
vendored
|
|
@ -18,5 +18,5 @@ namespace Leafo\ScssPhp;
|
|||
*/
|
||||
class Version
|
||||
{
|
||||
const VERSION = 'v0.6.3';
|
||||
const VERSION = 'v0.6.6';
|
||||
}
|
||||
|
|
|
|||
16
vendor/league/html-to-markdown/CHANGELOG.md
vendored
16
vendor/league/html-to-markdown/CHANGELOG.md
vendored
|
|
@ -4,6 +4,18 @@ Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) princip
|
|||
|
||||
## [Unreleased][unreleased]
|
||||
|
||||
## [4.2.2]
|
||||
### Fixed
|
||||
- Fixed sanitization bug which sometimes removes desired content (#63, #101)
|
||||
|
||||
## [4.2.1]
|
||||
### Fixed
|
||||
- Fixed path to autoload.php when used as a library (#98)
|
||||
- Fixed edge case for tags containing only whitespace (#99)
|
||||
|
||||
### Removed
|
||||
- Removed double HTML entity decoding, as this is not desireable (#60)
|
||||
|
||||
## [4.2.0]
|
||||
|
||||
### Added
|
||||
|
|
@ -136,7 +148,9 @@ not ideally set, so this releases fixes that. Moving forwards this should reduce
|
|||
### Added
|
||||
- Initial release
|
||||
|
||||
[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/4.2.0...master
|
||||
[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/4.2.2...master
|
||||
[4.2.2]: https://github.com/thephpleague/html-to-markdown/compare/4.2.1...4.2.2
|
||||
[4.2.1]: https://github.com/thephpleague/html-to-markdown/compare/4.2.0...4.2.1
|
||||
[4.2.0]: https://github.com/thephpleague/html-to-markdown/compare/4.1.1...4.2.0
|
||||
[4.1.1]: https://github.com/thephpleague/html-to-markdown/compare/4.1.0...4.1.1
|
||||
[4.1.0]: https://github.com/thephpleague/html-to-markdown/compare/4.0.1...4.1.0
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ function requireAutoloader()
|
|||
// Local package usage
|
||||
__DIR__ . '/../vendor/autoload.php',
|
||||
// Package was included as a library
|
||||
__DIR__ . '/../../../vendor/autoload.php',
|
||||
__DIR__ . '/../../../autoload.php',
|
||||
);
|
||||
foreach ($autoloadPaths as $path) {
|
||||
if (file_exists($path)) {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,10 @@ class EmphasisConverter implements ConverterInterface, ConfigurationAwareInterfa
|
|||
$tag = $element->getTagName();
|
||||
$value = $element->getValue();
|
||||
|
||||
if (!trim($value)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if ($tag === 'i' || $tag === 'em') {
|
||||
$style = $this->config->getOption('italic_style');
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -197,10 +197,29 @@ class HtmlConverter
|
|||
protected function sanitize($markdown)
|
||||
{
|
||||
$markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8');
|
||||
$markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8'); // Double decode to cover cases like &nbsp; http://www.php.net/manual/en/function.htmlentities.php#99984
|
||||
$markdown = preg_replace('/<!DOCTYPE [^>]+>/', '', $markdown); // Strip doctype declaration
|
||||
$unwanted = array('<html>', '</html>', '<body>', '</body>', '<head>', '</head>', '<?xml encoding="UTF-8">', '
');
|
||||
$markdown = str_replace($unwanted, '', $markdown); // Strip unwanted tags
|
||||
$markdown = trim($markdown); // Remove blank spaces at the beggining of the html
|
||||
|
||||
/*
|
||||
* Removing unwanted tags. Tags should be added to the array in the order they are expected.
|
||||
* XML, html and body opening tags should be in that order. Same case with closing tags
|
||||
*/
|
||||
$unwanted = array('<?xml encoding="UTF-8">', '<html>', '</html>', '<body>', '</body>', '<head>', '</head>', '
');
|
||||
|
||||
foreach ($unwanted as $tag) {
|
||||
if (strpos($tag, '/') === false) {
|
||||
// Opening tags
|
||||
if (strpos($markdown, $tag) === 0) {
|
||||
$markdown = substr($markdown, strlen($tag));
|
||||
}
|
||||
} else {
|
||||
// Closing tags
|
||||
if (strpos($markdown, $tag) === strlen($markdown) - strlen($tag)) {
|
||||
$markdown = substr($markdown, 0, -strlen($tag));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$markdown = trim($markdown, "\n\r\0\x0B");
|
||||
|
||||
return $markdown;
|
||||
|
|
|
|||
|
|
@ -45,3 +45,19 @@ interface
|
|||
protected
|
||||
implements
|
||||
instanceof
|
||||
abstract
|
||||
boolean
|
||||
byte
|
||||
char
|
||||
double
|
||||
final
|
||||
float
|
||||
goto
|
||||
int
|
||||
long
|
||||
native
|
||||
short
|
||||
synchronized
|
||||
throws
|
||||
transient
|
||||
volatile
|
||||
46
vendor/matthiasmullie/minify/data/js/operators.txt
vendored
Normal file
46
vendor/matthiasmullie/minify/data/js/operators.txt
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
+
|
||||
-
|
||||
*
|
||||
/
|
||||
%
|
||||
=
|
||||
+=
|
||||
-=
|
||||
*=
|
||||
/=
|
||||
%=
|
||||
<<=
|
||||
>>=
|
||||
>>>=
|
||||
&=
|
||||
^=
|
||||
|=
|
||||
&
|
||||
|
|
||||
^
|
||||
~
|
||||
<<
|
||||
>>
|
||||
>>>
|
||||
==
|
||||
===
|
||||
!=
|
||||
!==
|
||||
>
|
||||
<
|
||||
>=
|
||||
<=
|
||||
&&
|
||||
||
|
||||
!
|
||||
.
|
||||
[
|
||||
]
|
||||
?
|
||||
:
|
||||
,
|
||||
;
|
||||
(
|
||||
)
|
||||
{
|
||||
}
|
||||
|
|
@ -41,5 +41,4 @@
|
|||
;
|
||||
(
|
||||
)
|
||||
{
|
||||
}
|
||||
104
vendor/matthiasmullie/minify/src/CSS.php
vendored
104
vendor/matthiasmullie/minify/src/CSS.php
vendored
|
|
@ -12,7 +12,7 @@ use MatthiasMullie\PathConverter\Converter;
|
|||
*
|
||||
* @author Matthias Mullie <minify@mullie.eu>
|
||||
* @author Tijs Verkoyen <minify@verkoyen.eu>
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved.
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
|
||||
* @license MIT License
|
||||
*/
|
||||
class CSS extends Minify
|
||||
|
|
@ -76,7 +76,6 @@ class CSS extends Minify
|
|||
protected function moveImportsToTop($content)
|
||||
{
|
||||
if (preg_match_all('/@import[^;]+;/', $content, $matches)) {
|
||||
|
||||
// remove from content
|
||||
foreach ($matches[0] as $import) {
|
||||
$content = str_replace($import, '', $content);
|
||||
|
|
@ -84,7 +83,7 @@ class CSS extends Minify
|
|||
|
||||
// add to top
|
||||
$content = implode('', $matches[0]).$content;
|
||||
};
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
|
@ -95,9 +94,9 @@ class CSS extends Minify
|
|||
* @import's will be loaded and their content merged into the original file,
|
||||
* to save HTTP requests.
|
||||
*
|
||||
* @param string $source The file to combine imports for.
|
||||
* @param string $content The CSS content to combine imports for.
|
||||
* @param string[] $parents Parent paths, for circular reference checks.
|
||||
* @param string $source The file to combine imports for
|
||||
* @param string $content The CSS content to combine imports for
|
||||
* @param string[] $parents Parent paths, for circular reference checks
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
|
|
@ -247,8 +246,8 @@ class CSS extends Minify
|
|||
* @url(image.jpg) images will be loaded and their content merged into the
|
||||
* original file, to save HTTP requests.
|
||||
*
|
||||
* @param string $source The file to import files for.
|
||||
* @param string $content The CSS content to import files for.
|
||||
* @param string $source The file to import files for
|
||||
* @param string $content The CSS content to import files for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -291,10 +290,10 @@ class CSS extends Minify
|
|||
* Minify the data.
|
||||
* Perform CSS optimizations.
|
||||
*
|
||||
* @param string[optional] $path Path to write the data to.
|
||||
* @param string[] $parents Parent paths, for circular reference checks.
|
||||
* @param string[optional] $path Path to write the data to
|
||||
* @param string[] $parents Parent paths, for circular reference checks
|
||||
*
|
||||
* @return string The minified data.
|
||||
* @return string The minified data
|
||||
*/
|
||||
public function execute($path = null, $parents = array())
|
||||
{
|
||||
|
|
@ -315,6 +314,7 @@ class CSS extends Minify
|
|||
$css = $this->stripWhitespace($css);
|
||||
$css = $this->shortenHex($css);
|
||||
$css = $this->shortenZeroes($css);
|
||||
$css = $this->shortenFontWeights($css);
|
||||
$css = $this->stripEmptyTags($css);
|
||||
|
||||
// restore the string we've extracted earlier
|
||||
|
|
@ -351,7 +351,7 @@ class CSS extends Minify
|
|||
* (e.g. ../../images/image.gif, if the new CSS file is 1 folder deeper).
|
||||
*
|
||||
* @param Converter $converter Relative path converter
|
||||
* @param string $content The CSS content to update relative urls for.
|
||||
* @param string $content The CSS content to update relative urls for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -479,7 +479,7 @@ class CSS extends Minify
|
|||
* Shorthand hex color codes.
|
||||
* #FF0000 -> #F00.
|
||||
*
|
||||
* @param string $content The CSS content to shorten the hex color codes for.
|
||||
* @param string $content The CSS content to shorten the hex color codes for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -487,13 +487,65 @@ class CSS extends Minify
|
|||
{
|
||||
$content = preg_replace('/(?<![\'"])#([0-9a-z])\\1([0-9a-z])\\2([0-9a-z])\\3(?![\'"])/i', '#$1$2$3', $content);
|
||||
|
||||
return $content;
|
||||
// we can shorten some even more by replacing them with their color name
|
||||
$colors = array(
|
||||
'#F0FFFF' => 'azure',
|
||||
'#F5F5DC' => 'beige',
|
||||
'#A52A2A' => 'brown',
|
||||
'#FF7F50' => 'coral',
|
||||
'#FFD700' => 'gold',
|
||||
'#808080' => 'gray',
|
||||
'#008000' => 'green',
|
||||
'#4B0082' => 'indigo',
|
||||
'#FFFFF0' => 'ivory',
|
||||
'#F0E68C' => 'khaki',
|
||||
'#FAF0E6' => 'linen',
|
||||
'#800000' => 'maroon',
|
||||
'#000080' => 'navy',
|
||||
'#808000' => 'olive',
|
||||
'#CD853F' => 'peru',
|
||||
'#FFC0CB' => 'pink',
|
||||
'#DDA0DD' => 'plum',
|
||||
'#800080' => 'purple',
|
||||
'#F00' => 'red',
|
||||
'#FA8072' => 'salmon',
|
||||
'#A0522D' => 'sienna',
|
||||
'#C0C0C0' => 'silver',
|
||||
'#FFFAFA' => 'snow',
|
||||
'#D2B48C' => 'tan',
|
||||
'#FF6347' => 'tomato',
|
||||
'#EE82EE' => 'violet',
|
||||
'#F5DEB3' => 'wheat',
|
||||
);
|
||||
|
||||
return str_ireplace(array_keys($colors), $colors, $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shorten CSS font weights.
|
||||
*
|
||||
* @param string $content The CSS content to shorten the font weights for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function shortenFontWeights($content)
|
||||
{
|
||||
$weights = array(
|
||||
'normal' => 400,
|
||||
'bold' => 700,
|
||||
);
|
||||
|
||||
$callback = function ($match) use ($weights) {
|
||||
return $match[1].$weights[$match[2]];
|
||||
};
|
||||
|
||||
return preg_replace_callback('/(font-weight\s*:\s*)('.implode('|', array_keys($weights)).')(?=[;}])/', $callback, $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shorthand 0 values to plain 0, instead of e.g. -0em.
|
||||
*
|
||||
* @param string $content The CSS content to shorten the zero values for.
|
||||
* @param string $content The CSS content to shorten the zero values for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -527,6 +579,24 @@ class CSS extends Minify
|
|||
// strip negative zeroes (-0 -> 0) & truncate zeroes (00 -> 0)
|
||||
$content = preg_replace('/'.$before.'-?0+'.$units.'?'.$after.'/', '0\\1', $content);
|
||||
|
||||
// remove zeroes where they make no sense in calc: e.g. calc(100px - 0)
|
||||
// the 0 doesn't have any effect, and this isn't even valid without unit
|
||||
// strip all `+ 0` or `- 0` occurrences: calc(10% + 0) -> calc(10%)
|
||||
// looped because there may be multiple 0s inside 1 group of parentheses
|
||||
do {
|
||||
$previous = $content;
|
||||
$content = preg_replace('/\(([^\(\)]+)\s+[\+\-]\s+0(\s+[^\(\)]+)?\)/', '(\\1\\2)', $content);
|
||||
} while ($content !== $previous);
|
||||
// strip all `0 +` occurrences: calc(0 + 10%) -> calc(10%)
|
||||
$content = preg_replace('/\(\s*0\s+\+\s+([^\(\)]+)\)/', '(\\1)', $content);
|
||||
// strip all `0 -` occurrences: calc(0 - 10%) -> calc(-10%)
|
||||
$content = preg_replace('/\(\s*0\s+\-\s+([^\(\)]+)\)/', '(-\\1)', $content);
|
||||
// I'm not going to attempt to optimize away `x * 0` instances:
|
||||
// it's dumb enough code already that it likely won't occur, and it's
|
||||
// too complex to do right (order of operations would have to be
|
||||
// respected etc)
|
||||
// what I cared about most here was fixing incorrectly truncated units
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
|
@ -553,7 +623,7 @@ class CSS extends Minify
|
|||
/**
|
||||
* Strip whitespace.
|
||||
*
|
||||
* @param string $content The CSS content to strip the whitespace for.
|
||||
* @param string $content The CSS content to strip the whitespace for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -587,7 +657,7 @@ class CSS extends Minify
|
|||
/**
|
||||
* Check if file is small enough to be imported.
|
||||
*
|
||||
* @param string $path The path to the file.
|
||||
* @param string $path The path to the file
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
|
|
|||
85
vendor/matthiasmullie/minify/src/JS.php
vendored
85
vendor/matthiasmullie/minify/src/JS.php
vendored
|
|
@ -9,7 +9,7 @@ namespace MatthiasMullie\Minify;
|
|||
*
|
||||
* @author Matthias Mullie <minify@mullie.eu>
|
||||
* @author Tijs Verkoyen <minify@verkoyen.eu>
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved.
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
|
||||
* @license MIT License
|
||||
*/
|
||||
class JS extends Minify
|
||||
|
|
@ -64,6 +64,17 @@ class JS extends Minify
|
|||
*/
|
||||
protected $keywordsAfter = array();
|
||||
|
||||
/**
|
||||
* List of all JavaScript operators.
|
||||
*
|
||||
* Will be loaded from /data/js/operators.txt
|
||||
*
|
||||
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators
|
||||
*
|
||||
* @var string[]
|
||||
*/
|
||||
protected $operators = array();
|
||||
|
||||
/**
|
||||
* List of JavaScript operators that accept a <variable, value, ...> after
|
||||
* them. Some end of lines are not the end of a statement, like with these
|
||||
|
|
@ -111,6 +122,7 @@ class JS extends Minify
|
|||
$this->keywordsReserved = file($dataDir.'keywords_reserved.txt', $options);
|
||||
$this->keywordsBefore = file($dataDir.'keywords_before.txt', $options);
|
||||
$this->keywordsAfter = file($dataDir.'keywords_after.txt', $options);
|
||||
$this->operators = file($dataDir.'operators.txt', $options);
|
||||
$this->operatorsBefore = file($dataDir.'operators_before.txt', $options);
|
||||
$this->operatorsAfter = file($dataDir.'operators_after.txt', $options);
|
||||
}
|
||||
|
|
@ -119,9 +131,9 @@ class JS extends Minify
|
|||
* Minify the data.
|
||||
* Perform JS optimizations.
|
||||
*
|
||||
* @param string[optional] $path Path to write the data to.
|
||||
* @param string[optional] $path Path to write the data to
|
||||
*
|
||||
* @return string The minified data.
|
||||
* @return string The minified data
|
||||
*/
|
||||
public function execute($path = null)
|
||||
{
|
||||
|
|
@ -156,9 +168,9 @@ class JS extends Minify
|
|||
$this->extractRegex();
|
||||
$content = $this->replace($content);
|
||||
|
||||
$content = $this->stripWhitespace($content);
|
||||
$content = $this->propertyNotation($content);
|
||||
$content = $this->shortenBools($content);
|
||||
$content = $this->stripWhitespace($content);
|
||||
|
||||
/*
|
||||
* Earlier, we extracted strings & regular expressions and replaced them
|
||||
|
|
@ -205,25 +217,27 @@ class JS extends Minify
|
|||
$callback = function ($match) use ($minifier) {
|
||||
$count = count($minifier->extracted);
|
||||
$placeholder = '/'.$count.'/';
|
||||
$minifier->extracted[$placeholder] = $match[1];
|
||||
$minifier->extracted[$placeholder] = $match[0];
|
||||
|
||||
return $placeholder;
|
||||
};
|
||||
|
||||
// it's a regex if we can find an opening and (not escaped) closing /,
|
||||
// include \n because it may be there for a reason
|
||||
// (https://github.com/matthiasmullie/minify/issues/56)
|
||||
$pattern = '(\/.*?(?<!\\\\)(\\\\\\\\)*+\/\n?)';
|
||||
$pattern = '\/.*?(?<!\\\\)(\\\\\\\\)*+\/[gimy]*(?![0-9a-zA-Z\/])';
|
||||
|
||||
// / can't be preceded by variable, value, or similar because then
|
||||
// it's going to be division
|
||||
// checking for that is complex, so we'll do inverse:
|
||||
// * at the beginning of the file, it's not division, but regex
|
||||
$this->registerPattern('/^\s*\K'.$pattern.'/', $callback);
|
||||
// * following another operator, it's not division, but regex
|
||||
// a regular expression can only be followed by a few operators or some
|
||||
// of the RegExp methods (a `\` followed by a variable or value is
|
||||
// likely part of a division, not a regex)
|
||||
$after = '[\.,;\)\}]';
|
||||
$methods = '\.(exec|test|match|search|replace|split)\(';
|
||||
$this->registerPattern('/'.$pattern.'(?=\s*('.$after.'|'.$methods.'))/', $callback);
|
||||
|
||||
// 1 more edge case: a regex can be followed by a lot more operators or
|
||||
// keywords if there's a newline (ASI) in between, where the operator
|
||||
// actually starts a new statement
|
||||
// (https://github.com/matthiasmullie/minify/issues/56)
|
||||
$operators = $this->getOperatorsForRegex($this->operatorsBefore, '/');
|
||||
$operators += $this->getKeywordsForRegex($this->keywordsReserved, '/');
|
||||
$this->registerPattern('/(?:'.implode('|', $operators).')\s*\K'.$pattern.'/', $callback);
|
||||
$operators += $this->getOperatorsForRegex($this->keywordsReserved, '/');
|
||||
$this->registerPattern('/'.$pattern.'\s*\n?(?=\s*('.implode('|', $operators).'))/', $callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -238,7 +252,7 @@ class JS extends Minify
|
|||
* Because it's sometimes hard to tell if a newline is part of a statement
|
||||
* that should be terminated or not, we'll just leave some of them alone.
|
||||
*
|
||||
* @param string $content The content to strip the whitespace for.
|
||||
* @param string $content The content to strip the whitespace for
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -256,17 +270,19 @@ class JS extends Minify
|
|||
// collapse consecutive line feeds into just 1
|
||||
$content = preg_replace('/\n+/', "\n", $content);
|
||||
|
||||
$before = $this->getOperatorsForRegex($this->operatorsBefore, '/');
|
||||
$after = $this->getOperatorsForRegex($this->operatorsAfter, '/');
|
||||
$operators = $before + $after;
|
||||
$operatorsBefore = $this->getOperatorsForRegex($this->operatorsBefore, '/');
|
||||
$operatorsAfter = $this->getOperatorsForRegex($this->operatorsAfter, '/');
|
||||
$operators = $this->getOperatorsForRegex($this->operators, '/');
|
||||
$keywordsBefore = $this->getKeywordsForRegex($this->keywordsBefore, '/');
|
||||
$keywordsAfter = $this->getKeywordsForRegex($this->keywordsAfter, '/');
|
||||
|
||||
// strip whitespace that ends in (or next line begin with) an operator
|
||||
// that allows statements to be broken up over multiple lines
|
||||
unset($before['+'], $before['-'], $after['+'], $after['-']);
|
||||
unset($operatorsBefore['+'], $operatorsBefore['-'], $operatorsAfter['+'], $operatorsAfter['-']);
|
||||
$content = preg_replace(
|
||||
array(
|
||||
'/('.implode('|', $before).')\s+/',
|
||||
'/\s+('.implode('|', $after).')/',
|
||||
'/('.implode('|', $operatorsBefore).')\s+/',
|
||||
'/\s+('.implode('|', $operatorsAfter).')/',
|
||||
), '\\1', $content
|
||||
);
|
||||
|
||||
|
|
@ -278,19 +294,20 @@ class JS extends Minify
|
|||
), '\\1', $content
|
||||
);
|
||||
|
||||
// collapse whitespace around reserved words into single space
|
||||
$content = preg_replace('/(^|[;\}\s])\K('.implode('|', $keywordsBefore).')\s+/', '\\2 ', $content);
|
||||
$content = preg_replace('/\s+('.implode('|', $keywordsAfter).')(?=([;\{\s]|$))/', ' \\1', $content);
|
||||
|
||||
/*
|
||||
* We didn't strip whitespace after a couple of operators because they
|
||||
* could be used in different contexts and we can't be sure it's ok to
|
||||
* strip the newlines. However, we can safely strip any non-line feed
|
||||
* whitespace that follows them.
|
||||
*/
|
||||
$content = preg_replace('/([\}\)\]])[^\S\n]+(?!'.implode('|', $operators).')/', '\\1', $content);
|
||||
|
||||
// collapse whitespace around reserved words into single space
|
||||
$before = $this->getKeywordsForRegex($this->keywordsBefore, '/');
|
||||
$after = $this->getKeywordsForRegex($this->keywordsAfter, '/');
|
||||
$content = preg_replace('/(^|[;\}\s])\K('.implode('|', $before).')\s+/', '\\2 ', $content);
|
||||
$content = preg_replace('/\s+('.implode('|', $after).')(?=([;\{\s]|$))/', ' \\1', $content);
|
||||
$operatorsDiffBefore = array_diff($operators, $operatorsBefore);
|
||||
$operatorsDiffAfter = array_diff($operators, $operatorsAfter);
|
||||
$content = preg_replace('/('.implode('|', $operatorsDiffBefore).')[^\S\n]+/', '\\1', $content);
|
||||
$content = preg_replace('/[^\S\n]+('.implode('|', $operatorsDiffAfter).')/', '\\1', $content);
|
||||
|
||||
/*
|
||||
* Get rid of double semicolons, except where they can be used like:
|
||||
|
|
@ -450,7 +467,7 @@ class JS extends Minify
|
|||
$keywords = $this->getKeywordsForRegex($keywords);
|
||||
$keywords = '(?<!'.implode(')(?<!', $keywords).')';
|
||||
|
||||
return preg_replace_callback('/(?<='.$previousChar.'|\])'.$keywords.'\[(([\'"])[0-9]+\\2)\]/u', $callback, $content);
|
||||
return preg_replace_callback('/(?<='.$previousChar.'|\])'.$keywords.'\[\s*(([\'"])[0-9]+\\2)\s*\]/u', $callback, $content);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -462,8 +479,8 @@ class JS extends Minify
|
|||
*/
|
||||
protected function shortenBools($content)
|
||||
{
|
||||
$content = preg_replace('/\btrue\b/', '!0', $content);
|
||||
$content = preg_replace('/\bfalse\b/', '!1', $content);
|
||||
$content = preg_replace('/\btrue\b(?!:)/', '!0', $content);
|
||||
$content = preg_replace('/\bfalse\b(?!:)/', '!1', $content);
|
||||
|
||||
// for(;;) is exactly the same as while(true)
|
||||
$content = preg_replace('/\bwhile\(!0\){/', 'for(;;){', $content);
|
||||
|
|
|
|||
63
vendor/matthiasmullie/minify/src/Minify.php
vendored
63
vendor/matthiasmullie/minify/src/Minify.php
vendored
|
|
@ -11,7 +11,7 @@ use Psr\Cache\CacheItemInterface;
|
|||
* Please report bugs on https://github.com/matthiasmullie/minify/issues
|
||||
*
|
||||
* @author Matthias Mullie <minify@mullie.eu>
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved.
|
||||
* @copyright Copyright (c) 2012, Matthias Mullie. All rights reserved
|
||||
* @license MIT License
|
||||
*/
|
||||
abstract class Minify
|
||||
|
|
@ -53,7 +53,7 @@ abstract class Minify
|
|||
/**
|
||||
* Add a file or straight-up code to be minified.
|
||||
*
|
||||
* @param string $data
|
||||
* @param string|string[] $data
|
||||
*/
|
||||
public function add($data /* $data = null, ... */)
|
||||
{
|
||||
|
|
@ -65,6 +65,11 @@ abstract class Minify
|
|||
|
||||
// this method can be overloaded
|
||||
foreach ($args as $data) {
|
||||
if (is_array($data)) {
|
||||
call_user_func_array(array($this, 'add'), $data);
|
||||
continue;
|
||||
}
|
||||
|
||||
// redefine var
|
||||
$data = (string) $data;
|
||||
|
||||
|
|
@ -72,6 +77,10 @@ abstract class Minify
|
|||
$value = $this->load($data);
|
||||
$key = ($data != $value) ? $data : count($this->data);
|
||||
|
||||
// replace CR linefeeds etc.
|
||||
// @see https://github.com/matthiasmullie/minify/pull/139
|
||||
$value = str_replace(array("\r\n", "\r"), "\n", $value);
|
||||
|
||||
// store data
|
||||
$this->data[$key] = $value;
|
||||
}
|
||||
|
|
@ -80,9 +89,9 @@ abstract class Minify
|
|||
/**
|
||||
* Minify the data & (optionally) saves it to a file.
|
||||
*
|
||||
* @param string[optional] $path Path to write the data to.
|
||||
* @param string[optional] $path Path to write the data to
|
||||
*
|
||||
* @return string The minified data.
|
||||
* @return string The minified data
|
||||
*/
|
||||
public function minify($path = null)
|
||||
{
|
||||
|
|
@ -99,10 +108,10 @@ abstract class Minify
|
|||
/**
|
||||
* Minify & gzip the data & (optionally) saves it to a file.
|
||||
*
|
||||
* @param string[optional] $path Path to write the data to.
|
||||
* @param int[optional] $level Compression level, from 0 to 9.
|
||||
* @param string[optional] $path Path to write the data to
|
||||
* @param int[optional] $level Compression level, from 0 to 9
|
||||
*
|
||||
* @return string The minified & gzipped data.
|
||||
* @return string The minified & gzipped data
|
||||
*/
|
||||
public function gzip($path = null, $level = 9)
|
||||
{
|
||||
|
|
@ -120,9 +129,9 @@ abstract class Minify
|
|||
/**
|
||||
* Minify the data & write it to a CacheItemInterface object.
|
||||
*
|
||||
* @param CacheItemInterface $item Cache item to write the data to.
|
||||
* @param CacheItemInterface $item Cache item to write the data to
|
||||
*
|
||||
* @return CacheItemInterface Cache item with the minifier data.
|
||||
* @return CacheItemInterface Cache item with the minifier data
|
||||
*/
|
||||
public function cache(CacheItemInterface $item)
|
||||
{
|
||||
|
|
@ -135,16 +144,16 @@ abstract class Minify
|
|||
/**
|
||||
* Minify the data.
|
||||
*
|
||||
* @param string[optional] $path Path to write the data to.
|
||||
* @param string[optional] $path Path to write the data to
|
||||
*
|
||||
* @return string The minified data.
|
||||
* @return string The minified data
|
||||
*/
|
||||
abstract public function execute($path = null);
|
||||
|
||||
/**
|
||||
* Load data.
|
||||
*
|
||||
* @param string $data Either a path to a file or the content itself.
|
||||
* @param string $data Either a path to a file or the content itself
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -166,8 +175,8 @@ abstract class Minify
|
|||
/**
|
||||
* Save to file.
|
||||
*
|
||||
* @param string $content The minified data.
|
||||
* @param string $path The path to save the minified data to.
|
||||
* @param string $content The minified data
|
||||
* @param string $path The path to save the minified data to
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
|
|
@ -183,8 +192,8 @@ abstract class Minify
|
|||
/**
|
||||
* Register a pattern to execute against the source content.
|
||||
*
|
||||
* @param string $pattern PCRE pattern.
|
||||
* @param string|callable $replacement Replacement value for matched pattern.
|
||||
* @param string $pattern PCRE pattern
|
||||
* @param string|callable $replacement Replacement value for matched pattern
|
||||
*/
|
||||
protected function registerPattern($pattern, $replacement = '')
|
||||
{
|
||||
|
|
@ -202,9 +211,9 @@ abstract class Minify
|
|||
* The only way to accurately replace these pieces is to traverse the JS one
|
||||
* character at a time and try to find whatever starts first.
|
||||
*
|
||||
* @param string $content The content to replace patterns in.
|
||||
* @param string $content The content to replace patterns in
|
||||
*
|
||||
* @return string The (manipulated) content.
|
||||
* @return string The (manipulated) content
|
||||
*/
|
||||
protected function replace($content)
|
||||
{
|
||||
|
|
@ -284,9 +293,9 @@ abstract class Minify
|
|||
* This function will be called plenty of times, where $content will always
|
||||
* move up 1 character.
|
||||
*
|
||||
* @param string $pattern Pattern to match.
|
||||
* @param string|callable $replacement Replacement value.
|
||||
* @param string $content Content to match pattern against.
|
||||
* @param string $pattern Pattern to match
|
||||
* @param string|callable $replacement Replacement value
|
||||
* @param string $content Content to match pattern against
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -382,15 +391,15 @@ abstract class Minify
|
|||
*/
|
||||
protected function canImportFile($path)
|
||||
{
|
||||
return strlen($path) < PHP_MAXPATHLEN && is_file($path) && is_readable($path);
|
||||
return strlen($path) < PHP_MAXPATHLEN && @is_file($path) && is_readable($path);
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to open file specified by $path for writing.
|
||||
*
|
||||
* @param string $path The path to the file.
|
||||
* @param string $path The path to the file
|
||||
*
|
||||
* @return resource Specifier for the target file.
|
||||
* @return resource Specifier for the target file
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
|
|
@ -406,9 +415,9 @@ abstract class Minify
|
|||
/**
|
||||
* Attempts to write $content to the file specified by $handler. $path is used for printing exceptions.
|
||||
*
|
||||
* @param resource $handler The resource to write to.
|
||||
* @param string $content The content to write.
|
||||
* @param string $path The path to the file (for exception printing only).
|
||||
* @param resource $handler The resource to write to
|
||||
* @param string $content The content to write
|
||||
* @param string $path The path to the file (for exception printing only)
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -17,9 +17,12 @@ http://simplehtmldom.sourceforge.net/
|
|||
Install
|
||||
-------
|
||||
|
||||
composer.phar require
|
||||
- package name: "sunra/php-simple-html-dom-parser": "dev-master"
|
||||
|
||||
composer.phar
|
||||
```json
|
||||
"require": {
|
||||
"sunra/php-simple-html-dom-parser": "v1.5.0"
|
||||
}
|
||||
```
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
<?php
|
||||
// say me who add "О╩©" into start of file?
|
||||
// Becouse of this 3 symbol before <?php - php get error
|
||||
// i think it Sublime Text
|
||||
|
||||
namespace Sunra\PhpSimple;
|
||||
|
||||
|
|
@ -9,12 +6,18 @@ require 'simplehtmldom_1_5'.DIRECTORY_SEPARATOR.'simple_html_dom.php';
|
|||
|
||||
class HtmlDomParser {
|
||||
|
||||
static public function file_get_html() {
|
||||
return call_user_func_array ( '\file_get_html' , func_get_args() );
|
||||
}
|
||||
/**
|
||||
* @return \simplehtmldom_1_5\simple_html_dom
|
||||
*/
|
||||
static public function file_get_html() {
|
||||
return call_user_func_array ( '\simplehtmldom_1_5\file_get_html' , func_get_args() );
|
||||
}
|
||||
|
||||
// get html dom from string
|
||||
static public function str_get_html() {
|
||||
return call_user_func_array ( '\str_get_html' , func_get_args() );
|
||||
/**
|
||||
* get html dom from string
|
||||
* @return \simplehtmldom_1_5\simple_html_dom
|
||||
*/
|
||||
static public function str_get_html() {
|
||||
return call_user_func_array ( '\simplehtmldom_1_5\str_get_html' , func_get_args() );
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 45
|
||||
/svnroot/simplehtmldom/!svn/ver/179/trunk/app
|
||||
END
|
||||
google.htm
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 56
|
||||
/svnroot/simplehtmldom/!svn/ver/179/trunk/app/google.htm
|
||||
END
|
||||
index.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 55
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/index.php
|
||||
END
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
10
|
||||
|
||||
dir
|
||||
182
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
|
||||
|
||||
|
||||
|
||||
2009-02-23T09:04:02.699587Z
|
||||
179
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
d0e60b4b-9046-0410-940c-b97530268c78
|
||||
|
||||
google.htm
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.500237Z
|
||||
72a16a066c5a729cd5ddaf6e39082b05
|
||||
2009-02-23T09:04:02.699587Z
|
||||
179
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
60128
|
||||
|
||||
js
|
||||
dir
|
||||
|
||||
index.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.502237Z
|
||||
3793524c0c846be09274b428d4972b60
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4496
|
||||
|
||||
|
|
@ -1,891 +0,0 @@
|
|||
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head id="ctl00_Head1"><title>
|
||||
FootballScoresLive - Previous Results
|
||||
</title><meta name="Keywords" content="football,soccer,score,goals,penalty,penalties,red cards,yellow cards,results,england,
|
||||
english,scotland,scottish,wales,welsh,europe,european,sms,results by sms" /><meta name="Description" content="FootballScoresLive offers continuous updates of scores from football (soccer)
|
||||
matches in Britain, Europe, North and South America, and Asia, free direct to your web browser,
|
||||
and by SMS to your mobile." /><link href="page.css" rel="stylesheet" type="text/css" /><link href="news.css" rel="stylesheet" type="text/css" /><link href="results.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
|
||||
<script type="text/javascript" src="MMfuncs.js"></script>
|
||||
<script type="text/javascript" src="swfdetect.js"></script>
|
||||
<script type="text/vbscript" src="swfver.vbs"></script>
|
||||
<link rel="shortcut icon" href="/favicon.ico" /><style type="text/css">
|
||||
.atlas__delta { font-family:Lucida Console; }
|
||||
|
||||
</style></head>
|
||||
<body onload="MM_preloadImages('images/buttons/englishNational_hl.jpg','images/buttons/englishLeagues_hl.jpg',
|
||||
'images/buttons/futureFixtures_hl.jpg','images/buttons/italianLeagues_hl.jpg','images/buttons/leagueTables_hl.jpg','images/buttons/login_hl.jpg','images/buttons/favourites_hl.jpg','images/buttons/personalise_hl.jpg','images/buttons/previousResults_hl.jpg','images/buttons/scottishLeagues_hl.jpg','images/buttons/seasonTicket_hl.jpg','images/buttons/spanishLeagues_hl.jpg','images/buttons/sponsored_hl.jpg','images/buttons/supermarket_hl.jpg','images/buttons/livescores_hl.jpg')"
|
||||
onunload="MM_callJS('CheckFlash();')">
|
||||
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
|
||||
<form name="aspnetForm" method="post" action="MatchResults.aspx" id="aspnetForm">
|
||||
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dB6ayi9LZ+8oLEEG+Bb0EaB7S0yWNAwmwFJYNlmIPIfC1cvZYgBlKWTvoA4O9/nWx6kKCiBPFnSnfWNC5mLsqwKJAqRalzt4zBR7te1bjeJGgN0H2d1aCn3KgK2DLo6jp/xsNAQLvdqugFXdJ+7RvO58WASnJAH4vjnV2vTi6kKfuRGvNvzsfcybchbHQ+T2yUU9pTrLfSRSC6qEw00ANEJLyR8cnnsgTQhOcXFIPwCbFQEljWnQHmV6l+YMt9GeyxuhD7qL+JcVOPkqZ4TROE1TWmVLD8kOwmpEaMwINDlz/veOnNh/HVdabDznCkdFd3yzhpyyx4/mqWqp4GmkbsFyiUvZoKYin/4xf7L1Z0NfMamm3lZZMFpWz8AhmWcL99qa5kcLgjtXMzZvOKn6K/pud0lEVkvl3Kz2jXgzZPxh3qdX4Nx5anjttd6NKyF3wSlfVMk0j8zoZmja8HaqpwZZfSFnn+U7wWO6D9vzZKDJ/nxUbJHqEaLYYz+QD6zWHVfsEi3cZJlit0oOWatl8AjSHKPmFi3oD9jD3K/FiuhYFYkyk07Jpoe/6YvKgeisZaFYDQrqTTVGYul9rQRVRkUc0UVrt7TZJ/d08EXYKhWYRBx2xxQt3Yfbefr45GCComTUGOjml7DVITe9811QIXfgw5GaECa6aBi2hvYSB6gdhFlqrdqi/HK2DTcXFTyN5n749O3MgVJGSQtXP/xsTp3J1t2lOSMlz9hZYwQUDqOpaWZG2Ae8JmzhvdClyw1AxhJolgEGsutAtYhXFc16ihtjYd/JXx47zeBoB8temPCNJwpFmAN3iXV9nhu5RZ6q8hSnpfCBCn756EDnykItEhTStGovLsJG+QdRNsLE56mNtIxFxeAGrwLWJ260+QsRcvimNAERfZtow7Vx/JPMJLfXrvd1G6u0jP/uqJAQPP8WjVUUfAK5yJHi2PzzGTtFDPd7TJenlgzzyzTcPjJKib+W+CRBBboPRnro9659+79nZwYXdbHHDlQiNcBKZfYKohFHSteJRn4/XnUI2MAi+j9a5JfGs7syF7OWjvFCevTrS/toNPaPzM+muJF3/cLQA0kuM/OvaS+9Kj16BCdNfy6mPZMy6pD95xMGomu1adBwKvaTLMmjrt5Kgh5RxGrUf+pl1IoY9u8=" />
|
||||
|
||||
|
||||
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7VC_WlWODN-9NNOB8qqY6cA1&t=633112977674076250" type="text/javascript"></script>
|
||||
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7blAzxonPUmCsga2GgPJUY41&t=633112977674076250" type="text/javascript"></script>
|
||||
<div>
|
||||
<table id="Table_01" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan="2" rowspan="2" width="394" height="111" >
|
||||
<a href="LiveScores.aspx">
|
||||
<img src="images/fsl_logo.jpg" width="394" height="111" border="0" alt="FootballScoresLive logo" /></a></td>
|
||||
<td height="81" width="100%" valign="middle" background="images/grass_top.jpg" align="center">
|
||||
<a id="ctl00_lnkScores2Mobile" title="Click here for Live Scores to your mobile" href="live-premiership-football-scores-via-sms.aspx" style="display:inline-block;"><img title="Click here for Live Scores to your mobile" src="images/scores2mobile.jpg" border="0" /></a>
|
||||
</td>
|
||||
<td width="174" height="81" align="center" valign="middle" background="images/grass_top.jpg">
|
||||
|
||||
<a href="Register.aspx"><img src="images/btn_reg.gif" border="0" /></a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="color: yellow;">
|
||||
<td width="237" height="30" align="center" valign="middle" background="images/visitors_bg.jpg" class="body12">
|
||||
<strong>
|
||||
For <span style="color: red">FREE</span> goals to your mobile</strong>
|
||||
<a id="ctl00_HyperLink1" class="navlink" href="fixtures.aspx">Click Here</a></td>
|
||||
<td align="center" valign="middle" bgcolor="#000000" class="body12">
|
||||
<table width=100% border="0" cellpadding="0" cellspacing="0">
|
||||
<tr style="color: white;">
|
||||
<td>
|
||||
|
||||
<input type="submit" name="ctl00$LoginView5$btnLogin" value="LogIn" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LoginView5$btnLogin", "", false, "", "login.aspx", false, false))" id="ctl00_LoginView5_btnLogin" />
|
||||
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td height="16" colspan="4" bgcolor="#000000">
|
||||
| <a href="default.aspx" class="navlink">Home</a>
|
||||
| <a href="live-premiership-football-scores-via-sms.aspx" class="navlink">SMS Service</a>
|
||||
| <a href="LiveScores.aspx" class="navlink">Live Scores</a>
|
||||
| <a href="MatchResults.aspx" class="navlink">Previous Results</a>
|
||||
| <a href="fixtures.aspx" class="navlink">Future Fixtures</a> |
|
||||
<a id="ctl00_LoginStatus2" class="navlink" href="javascript:__doPostBack('ctl00$LoginStatus2$ctl02','')">Login</a> |
|
||||
<a href="login/personal.aspx" class="navlink">Personalise</a> |
|
||||
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr height="100%">
|
||||
<td width="174" align="center" valign="top" background="images/grass_left.jpg">
|
||||
<!--
|
||||
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
|
||||
<img src="images/favourites.jpg" border="0"/></a>
|
||||
-->
|
||||
<br />
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
|
||||
<img src="images/buttons/favourites.jpg" border="0" alt="Add this page to your favourites" name="fav" width="165" height="21" onmouseover="MM_swapImage('fav','','images/buttons/favourites_hl.jpg',1)" onmouseout="MM_swapImgRestore()" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/seasonTicket.jpg" border="0" alt="Season Ticket Goal Alerts - coming soon" name="season" width="166" height="22" onmouseover="MM_swapImage('season','','images/buttons/seasonTicket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/mobile.jpg" border="0" alt="Mobile Goal Alerts" name="mobile" width="166" height="20" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="live-premiership-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/englishLeagues.jpg" alt="English Leagues" name="engLg" width="166" height="19" border="0" onmouseover="MM_swapImage('engLg','','images/buttons/englishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/englishNational.jpg" border="0" alt="English National Team - coming soon" name="engNat" width="166" height="18" onmouseover="MM_swapImage('engNat','','images/buttons/englishNational_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/scottishLeagues.jpg" border="0" alt="Scottish Leagues" name="scotLg" width="166" height="18" onmouseover="MM_swapImage('scotLg','','images/buttons/scottishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-spain-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/spanishLeagues.jpg" border="0" alt="Spanish Leagues" name="spanLg" width="166" height="18" onmouseover="MM_swapImage('spanLg','','images/buttons/spanishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-italy-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/italianLeagues.jpg" border="0" alt="Italian Leagues" name="italLg" width="166" height="18" onmouseover="MM_swapImage('italLg','','images/buttons/italianLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="LiveScores.aspx"><img src="images/buttons/livescores.jpg" border="0" alt="Live Scores" name="world" width="166" height="20" onmouseover="MM_swapImage('world','','images/buttons/livescores_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/supermarket.jpg" border="0" alt="Football Supermarket - coming soon" name="super" width="166" height="20" onmouseover="MM_swapImage('super','','images/buttons/supermarket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="MatchResults.aspx"><img src="images/buttons/previousResults.jpg" border="0" alt="Previous Results" name="prev" width="166" height="20" onmouseover="MM_swapImage('prev','','images/buttons/previousResults_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="fixtures.aspx"><img src="images/buttons/futureFixtures.jpg" border="0" alt="Future Fixtures" name="future" width="166" height="20" onmouseover="MM_swapImage('future','','images/buttons/futureFixtures_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/leagueTables.jpg" border="0" alt="League Tables - coming soon" name="lgTbl" width="166" height="20" onmouseover="MM_swapImage('lgTbl','','images/buttons/leagueTables_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/sponsored.jpg" border="0" alt="Sponsored Links - coming soon" name="spons" width="166" height="20" onmouseover="MM_swapImage('spons','','images/buttons/sponsored_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/personalise.jpg" border="0" alt="Personalise" name="pers" width="166" height="20" onmouseover="MM_swapImage('pers','','images/buttons/personalise_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input id="ctl00_LoginStatus1" type="image" name="ctl00$LoginStatus1$ctl03" class="navlink" src="images/buttons/login.jpg" alt="Login" border="0" />
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href="fixtures.aspx">
|
||||
<img src="images/fsl_phone_static.jpg" width="130" height="238" border="0" />
|
||||
</a>
|
||||
<div id="ctl00_FixtureSelectPanel">
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr style="background-color:Black; color:Green">
|
||||
<td colspan="2">
|
||||
<img id="ctl00_Image1" src="images/fixtures.jpg" border="0" /></td>
|
||||
</tr>
|
||||
<tr style="background-color:White">
|
||||
<td align="left">
|
||||
<select name="ctl00$FixtureDropDown" id="ctl00_FixtureDropDown" title="Choose the date you want to see the fixtures" class="body">
|
||||
<option value="18/12/2008 00:00:00">18/12/2008</option>
|
||||
<option value="19/12/2008 00:00:00">19/12/2008</option>
|
||||
<option value="20/12/2008 00:00:00">20/12/2008</option>
|
||||
<option value="21/12/2008 00:00:00">21/12/2008</option>
|
||||
<option value="22/12/2008 00:00:00">22/12/2008</option>
|
||||
<option value="23/12/2008 00:00:00">23/12/2008</option>
|
||||
<option value="26/12/2008 00:00:00">26/12/2008</option>
|
||||
<option value="27/12/2008 00:00:00">27/12/2008</option>
|
||||
<option value="28/12/2008 00:00:00">28/12/2008</option>
|
||||
<option value="29/12/2008 00:00:00">29/12/2008</option>
|
||||
<option value="30/12/2008 00:00:00">30/12/2008</option>
|
||||
<option value="01/01/2009 00:00:00">01/01/2009</option>
|
||||
<option value="02/01/2009 00:00:00">02/01/2009</option>
|
||||
|
||||
</select>
|
||||
|
||||
</td>
|
||||
<td align="right">
|
||||
<input type="image" name="ctl00$FixtureButton" id="ctl00_FixtureButton" title="Click to see the fixtures on your chosen date" src="images/go.gif" align="absmiddle" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$FixtureButton", "", false, "", "fixtures.aspx", false, false))" border="0" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
<div style="text-align: center">
|
||||
<table border="0" cellpadding="2" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-premiership-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/england.jpg" border="0" alt="English Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/scotland.jpg" border="0" alt="Scottish Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-spain-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/Spain.jpg" border="0" alt="Spanish Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-italy-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/Italy.jpg" border="0" alt="Italian Leagues goal alerts by SMS" /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br />
|
||||
<img src="images/status.gif" width="110" height="127" /><br />
|
||||
<br />
|
||||
<img src="images/events.gif" width="110" height="115" /><br />
|
||||
</td>
|
||||
<td width="100%" colspan="2" align="center" valign="top">
|
||||
|
||||
|
||||
<div id="ctl00_ContentPlaceHolder1_UpdatePanel1">
|
||||
|
||||
<h1>Historical Football Archive - Updated Daily!</h1>
|
||||
<br />
|
||||
<p class="body12">Missed the details of your football club's latest performance?
|
||||
Whether you support Manchester United or Cambridge United, Premiership club or Conference club,
|
||||
you will find it all here, with our fantastic soccer library of results over the last two weeks.
|
||||
These pages contain the history & detailed results package for every football game from around the world
|
||||
from the last 14 match days, including not only every goal scored, but, game results, names of goal scorer,
|
||||
match results, red cards and plenty more! This service is automatically updated every 24 hours,
|
||||
simply select a date from the drop down menu :-
|
||||
</p>
|
||||
<select name="ctl00$ContentPlaceHolder1$DropDownList1" id="ctl00_ContentPlaceHolder1_DropDownList1">
|
||||
<option selected="selected" value="17/12/2008 00:00:00">Wed 17/12/2008</option>
|
||||
<option value="16/12/2008 00:00:00">Tue 16/12/2008</option>
|
||||
<option value="15/12/2008 00:00:00">Mon 15/12/2008</option>
|
||||
<option value="14/12/2008 00:00:00">Sun 14/12/2008</option>
|
||||
<option value="13/12/2008 00:00:00">Sat 13/12/2008</option>
|
||||
<option value="12/12/2008 00:00:00">Fri 12/12/2008</option>
|
||||
<option value="11/12/2008 00:00:00">Thu 11/12/2008</option>
|
||||
<option value="10/12/2008 00:00:00">Wed 10/12/2008</option>
|
||||
<option value="09/12/2008 00:00:00">Tue 09/12/2008</option>
|
||||
<option value="08/12/2008 00:00:00">Mon 08/12/2008</option>
|
||||
<option value="07/12/2008 00:00:00">Sun 07/12/2008</option>
|
||||
<option value="06/12/2008 00:00:00">Sat 06/12/2008</option>
|
||||
<option value="05/12/2008 00:00:00">Fri 05/12/2008</option>
|
||||
<option value="04/12/2008 00:00:00">Thu 04/12/2008</option>
|
||||
|
||||
</select>
|
||||
|
||||
<br /><br />
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_lblCompName"> SCOTLAND - DIVISION 2</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>Pst </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">STRANRAER</td><td align="right">0</td><td align="left">0</td><td align="left">PETERHEAD</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_lblCompName"> ENGLAND - FA TROPHY - FIRST ROUND</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">SWINDON SUPERMARINE</td><td align="right">1</td><td align="left">0</td><td align="left">EASTBOURNE BOROUGH</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>EDENBOROUGH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">EDENBOROUGH</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_lblCompName"> EUROPE (UEFA) - UEFA CUP - GROUP STAGE</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">AC MILAN</td><td align="right">2</td><td align="left">2</td><td align="left">VfL WOLFSBURG</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>17</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>AMBROSINI</td></tr><tr><td>56</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PATO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZACCARDO</td></tr><tr><td>81</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SAGLIK</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">81<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SAGLIK</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">AJAX</td><td align="right">2</td><td align="left">2</td><td align="left">SLAVIA PRAHA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VERTONGHEN</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball-pen.gif\' alt=\'penalty\'></td><td nowrap=nowrap>SUAREZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>13</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CERNY</td></tr><tr><td>41</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>JAROLIM</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball-pen.gif" alt="penalty">SUAREZ</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">CLUB BRUGGE</td><td align="right">0</td><td align="left">1</td><td align="left">FC COPENHAGEN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>58</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SANTIN</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">58<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SANTIN</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">DEP. LA CORUNA</td><td align="right">1</td><td align="left">0</td><td align="left">NANCY</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BODIPO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BODIPO</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">FEYENOORD</td><td align="right">0</td><td align="left">1</td><td align="left">LECH POZNAN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DJURDJEVIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">DJURDJEVIC</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">HAMBURGER SV</td><td align="right">3</td><td align="left">1</td><td align="left">ASTON VILLA</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>18</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PETRIC</td></tr><tr><td>30</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr><tr><td>57</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DELFOUNESO</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>SIDWELL</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">SIDWELL</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PORTSMOUTH</td><td align="right">3</td><td align="left">0</td><td align="left">HEERENVEEN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>40</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>42</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HREIDARSSON</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HREIDARSSON</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ST ETIENNE</td><td align="right">2</td><td align="left">2</td><td align="left">VALENCIA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>29</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr><tr><td>44</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>33</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MORIENTES</td></tr><tr><td>72</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZIGIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">72<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">ZIGIC</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_lblCompName"> INTERNATIONAL TOURNAMENTS - OMAN FOUR NATIONS TOUR</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
14:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">OMAN</td><td align="right">3</td><td align="left">1</td><td align="left">CHINA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>47</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BASHEER</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>53</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BO</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SALEH</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
16:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ECUADOR</td><td align="right">1</td><td align="left">0</td><td align="left">IRAN</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MARTINEZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>NEJAD</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">NEJAD</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_lblCompName"> ITALY - FA CUP - ROUND 16</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
16:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">FIORENTINA</td><td align="right">0</td><td align="left">1</td><td align="left">TORINO</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>19</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIANCHI</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">19<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BIANCHI</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
20:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ROMA</td><td align="right">2</td><td align="left">0</td><td align="left">BOLOGNA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">VUCINIC</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_lblCompName"> ITALY - SERIE C1A</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PRO SESTO</td><td align="right">0</td><td align="left">0</td><td align="left">LECCO</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_lblCompName"> ITALY - SERIE C2A</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">MEZZOCORONA</td><td align="right">1</td><td align="left">3</td><td align="left">SAMBONIFACESE</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>48</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr><tr><td>66</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal"> </a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_lblCompName"> SCOTLAND - FA CUP - THIRD ROUND</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">LOCHEE UTD</td><td align="right">1</td><td align="left">1</td><td align="left">AYR UTD</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HAGAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>60</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>WILLIAMS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HAGAN</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_lblCompName"> WORLD (FIFA) - FIFA CLUB WORLD CHAMPIONSHIP - SEMI</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
10:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PACHUCA (MEX)</td><td align="right">0</td><td align="left">2</td><td align="left">LIGA D.U. QUITO(ECU)</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Playing at Tokyo, Japan. Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIELER</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BOLANOS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BOLANOS</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<table border="0" cellpadding="5" cellspacing="0" style="width: 100%; height: 100%">
|
||||
<tr class="newslinkspace">
|
||||
<td style="width: 100%">
|
||||
View complete <a href="ResultsArchive.aspx" class="newslink">archive of FootballScoresLive.com Match Results</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
<td width="125" align="right" valign="top">
|
||||
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="120" height="600">
|
||||
<param name="movie" value="http://www.footballscoreslive.com/images/fslSMSNew.swf" />
|
||||
<param name="quality" value="high" />
|
||||
<embed src="http://www.footballscoreslive.com/images/fslSMSNew.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="120" height="600"></embed>
|
||||
</object>
|
||||
<script type="text/javascript"><!--
|
||||
google_ad_client = "pub-1398285862595543";
|
||||
google_ad_width = 120;
|
||||
google_ad_height = 600;
|
||||
google_ad_format = "120x600_as";
|
||||
google_ad_type = "text_image";
|
||||
google_ad_channel ="";
|
||||
google_color_border = "336699";
|
||||
google_color_bg = "FFFFFF";
|
||||
google_color_link = "0000FF";
|
||||
google_color_text = "000000";
|
||||
google_color_url = "008000";
|
||||
//--></script>
|
||||
<script type="text/javascript"
|
||||
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="174" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="220" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="281" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="125" height="1" alt="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="16" colspan="4" bgcolor="#000000">
|
||||
|
|
||||
<a class="navlink" href="disclaimer.aspx">Disclaimer</a> |
|
||||
<a class="navlink" href="privacy.aspx">Privacy</a> |
|
||||
<a href="aboutus.aspx" class="navlink">About Us</a> |
|
||||
<a href="NewsArchive.aspx" class="navlink">News Archive</a> |
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="Xh65BZM36Ruds-iXM2l7LB-dXtc__8RpYzxQLE4V_YQ1" />
|
||||
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="2ybQ+H9cPYUzPPi/5ComPVhU+jAYPdxVR+fOu2ZZbs2RxuAweOrbEg/qP5f+1OYLQI+oQJb98YQDTTMw+x86m7Np3/NYQHDjzX76RjJfW9nS6SnJVUi1nLHSh9c7wgfVB7UNjywCsU0hiMY1IUsYkR/rClTQE4j3Q4a4ub3Cqrn+b7fY3itatSObxb3L0Pq9E9vx/RpYI3jhA2RPCnO1WEQF2kEBAba5qqLwESWolSSdLqs5DRta8kholg0zw5EA5/R9+XiPqWwbk4n/TnTtdMwQq2iExD4eyjsLsE7bWnw=" />
|
||||
<script type="text/xml-script">
|
||||
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
|
||||
<components>
|
||||
<pageRequestManager id="_PageRequestManager" updatePanelIDs="ctl00$ContentPlaceHolder1$UpdatePanel1" asyncPostbackControlIDs="ctl00_ContentPlaceHolder1_DropDownList1" scriptManagerID="ctl00$ContentPlaceHolder1$ScriptManager1" form="aspnetForm" />
|
||||
</components>
|
||||
</page></script>
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
<?php
|
||||
error_reporting(E_ALL);
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
$html = file_get_html('google.htm');
|
||||
//$html = file_get_html('youtube.htm');
|
||||
//$html = file_get_html('Product.ibatis.xml');
|
||||
|
||||
|
||||
$lang = '';
|
||||
$l=$html->find('html', 0);
|
||||
if ($l!==null)
|
||||
$lang = $l->lang;
|
||||
if ($lang!='')
|
||||
$lang = 'lang="'.$lang.'"';
|
||||
|
||||
$charset = $html->find('meta[http-equiv*=content-type]', 0);
|
||||
$target = array();
|
||||
$query = '';
|
||||
|
||||
if (isset($_REQUEST['query'])) {
|
||||
$query = $_REQUEST['query'];
|
||||
$target = $html->find($query);
|
||||
}
|
||||
|
||||
function stat_dom($dom) {
|
||||
$count_text = 0;
|
||||
$count_comm = 0;
|
||||
$count_elem = 0;
|
||||
$count_tag_end = 0;
|
||||
$count_unknown = 0;
|
||||
|
||||
foreach($dom->nodes as $n) {
|
||||
if ($n->nodetype==HDOM_TYPE_TEXT)
|
||||
++$count_text;
|
||||
if ($n->nodetype==HDOM_TYPE_COMMENT)
|
||||
++$count_comm;
|
||||
if ($n->nodetype==HDOM_TYPE_ELEMENT)
|
||||
++$count_elem;
|
||||
if ($n->nodetype==HDOM_TYPE_ENDTAG)
|
||||
++$count_tag_end;
|
||||
if ($n->nodetype==HDOM_TYPE_UNKNOWN)
|
||||
++$count_unknown;
|
||||
}
|
||||
|
||||
echo 'Total: '. count($dom->nodes).
|
||||
', Text: '.$count_text.
|
||||
', Commnet: '.$count_comm.
|
||||
', Tag: '.$count_elem.
|
||||
', End Tag: '.$count_tag_end.
|
||||
', Unknown: '.$count_unknown;
|
||||
}
|
||||
|
||||
function dump_my_html_tree($node, $show_attr=true, $deep=0, $last=true) {
|
||||
$count = count($node->nodes);
|
||||
if ($count>0) {
|
||||
if($last)
|
||||
echo '<li class="expandable lastExpandable"><div class="hitarea expandable-hitarea lastExpandable-hitarea"></div><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
else
|
||||
echo '<li class="expandable"><div class="hitarea expandable-hitarea"></div><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
}
|
||||
else {
|
||||
$laststr = ($last===false) ? '' : ' class="last"';
|
||||
echo '<li'.$laststr.'><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
}
|
||||
|
||||
if ($show_attr) {
|
||||
foreach($node->attr as $k=>$v) {
|
||||
echo ' '.htmlspecialchars($k).'="<span class="attr">'.htmlspecialchars($node->$k).'</span>"';
|
||||
}
|
||||
}
|
||||
echo '>';
|
||||
|
||||
if ($node->tag==='text' || $node->tag==='comment') {
|
||||
echo htmlspecialchars($node->innertext);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($count>0) echo "\n<ul style=\"display: none;\">\n";
|
||||
$i=0;
|
||||
foreach($node->nodes as $c) {
|
||||
$last = (++$i==$count) ? true : false;
|
||||
dump_my_html_tree($c, $show_attr, $deep+1, $last);
|
||||
}
|
||||
if ($count>0)
|
||||
echo "</ul>\n";
|
||||
|
||||
//if ($count>0) echo '</<span class="attr">'.htmlspecialchars($node->tag).'</span>>';
|
||||
echo "</li>\n";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html <?=$lang?>>
|
||||
<head>
|
||||
<?
|
||||
if ($lang!='')
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8"/>';
|
||||
else if ($charset)
|
||||
echo $charset;
|
||||
else
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>';
|
||||
?>
|
||||
<title>Simple HTML DOM Query Test</title>
|
||||
<link rel="stylesheet" href="js/jquery.treeview.css" />
|
||||
<link rel="stylesheet" href="js/screen.css" />
|
||||
<style>
|
||||
.tag { color: blue; }
|
||||
.attr { color: #990033; }
|
||||
</style>
|
||||
<script src="js/jquery.js" type="text/javascript"></script>
|
||||
<script src="js/jquery.treeview.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("#html_tree").treeview({
|
||||
control:"#sidetreecontrol",
|
||||
collapsed: true,
|
||||
prerendered: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">
|
||||
<h4>Simple HTML DOM Test</h4>
|
||||
<form name="form1" method="post" action="">
|
||||
find: <input name="query" type="text" size="60" maxlength="60" value="<?=htmlspecialchars($query)?>">
|
||||
<input type="submit" name="Submit" value="Go">
|
||||
</form>
|
||||
<br>
|
||||
HTML STAT (<?stat_dom($html);?>)<br>
|
||||
<br>
|
||||
<div id="sidetreecontrol"><a href="?#">Collapse All</a> | <a href="?#">Expand All</a></div><br>
|
||||
<ul class="treeview" id="html_tree">
|
||||
<?
|
||||
ob_start();
|
||||
foreach($target as $e)
|
||||
dump_my_html_tree($e, true);
|
||||
ob_end_flush();
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</body></html>
|
||||
|
|
@ -1,891 +0,0 @@
|
|||
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" >
|
||||
<head id="ctl00_Head1"><title>
|
||||
FootballScoresLive - Previous Results
|
||||
</title><meta name="Keywords" content="football,soccer,score,goals,penalty,penalties,red cards,yellow cards,results,england,
|
||||
english,scotland,scottish,wales,welsh,europe,european,sms,results by sms" /><meta name="Description" content="FootballScoresLive offers continuous updates of scores from football (soccer)
|
||||
matches in Britain, Europe, North and South America, and Asia, free direct to your web browser,
|
||||
and by SMS to your mobile." /><link href="page.css" rel="stylesheet" type="text/css" /><link href="news.css" rel="stylesheet" type="text/css" /><link href="results.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="overlib.js"><!-- overLIB (c) Erik Bosrup --></script>
|
||||
<script type="text/javascript" src="MMfuncs.js"></script>
|
||||
<script type="text/javascript" src="swfdetect.js"></script>
|
||||
<script type="text/vbscript" src="swfver.vbs"></script>
|
||||
<link rel="shortcut icon" href="/favicon.ico" /><style type="text/css">
|
||||
.atlas__delta { font-family:Lucida Console; }
|
||||
|
||||
</style></head>
|
||||
<body onload="MM_preloadImages('images/buttons/englishNational_hl.jpg','images/buttons/englishLeagues_hl.jpg',
|
||||
'images/buttons/futureFixtures_hl.jpg','images/buttons/italianLeagues_hl.jpg','images/buttons/leagueTables_hl.jpg','images/buttons/login_hl.jpg','images/buttons/favourites_hl.jpg','images/buttons/personalise_hl.jpg','images/buttons/previousResults_hl.jpg','images/buttons/scottishLeagues_hl.jpg','images/buttons/seasonTicket_hl.jpg','images/buttons/spanishLeagues_hl.jpg','images/buttons/sponsored_hl.jpg','images/buttons/supermarket_hl.jpg','images/buttons/livescores_hl.jpg')"
|
||||
onunload="MM_callJS('CheckFlash();')">
|
||||
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
|
||||
<form name="aspnetForm" method="post" action="MatchResults.aspx" id="aspnetForm">
|
||||
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dB6ayi9LZ+8oLEEG+Bb0EaB7S0yWNAwmwFJYNlmIPIfC1cvZYgBlKWTvoA4O9/nWx6kKCiBPFnSnfWNC5mLsqwKJAqRalzt4zBR7te1bjeJGgN0H2d1aCn3KgK2DLo6jp/xsNAQLvdqugFXdJ+7RvO58WASnJAH4vjnV2vTi6kKfuRGvNvzsfcybchbHQ+T2yUU9pTrLfSRSC6qEw00ANEJLyR8cnnsgTQhOcXFIPwCbFQEljWnQHmV6l+YMt9GeyxuhD7qL+JcVOPkqZ4TROE1TWmVLD8kOwmpEaMwINDlz/veOnNh/HVdabDznCkdFd3yzhpyyx4/mqWqp4GmkbsFyiUvZoKYin/4xf7L1Z0NfMamm3lZZMFpWz8AhmWcL99qa5kcLgjtXMzZvOKn6K/pud0lEVkvl3Kz2jXgzZPxh3qdX4Nx5anjttd6NKyF3wSlfVMk0j8zoZmja8HaqpwZZfSFnn+U7wWO6D9vzZKDJ/nxUbJHqEaLYYz+QD6zWHVfsEi3cZJlit0oOWatl8AjSHKPmFi3oD9jD3K/FiuhYFYkyk07Jpoe/6YvKgeisZaFYDQrqTTVGYul9rQRVRkUc0UVrt7TZJ/d08EXYKhWYRBx2xxQt3Yfbefr45GCComTUGOjml7DVITe9811QIXfgw5GaECa6aBi2hvYSB6gdhFlqrdqi/HK2DTcXFTyN5n749O3MgVJGSQtXP/xsTp3J1t2lOSMlz9hZYwQUDqOpaWZG2Ae8JmzhvdClyw1AxhJolgEGsutAtYhXFc16ihtjYd/JXx47zeBoB8temPCNJwpFmAN3iXV9nhu5RZ6q8hSnpfCBCn756EDnykItEhTStGovLsJG+QdRNsLE56mNtIxFxeAGrwLWJ260+QsRcvimNAERfZtow7Vx/JPMJLfXrvd1G6u0jP/uqJAQPP8WjVUUfAK5yJHi2PzzGTtFDPd7TJenlgzzyzTcPjJKib+W+CRBBboPRnro9659+79nZwYXdbHHDlQiNcBKZfYKohFHSteJRn4/XnUI2MAi+j9a5JfGs7syF7OWjvFCevTrS/toNPaPzM+muJF3/cLQA0kuM/OvaS+9Kj16BCdNfy6mPZMy6pD95xMGomu1adBwKvaTLMmjrt5Kgh5RxGrUf+pl1IoY9u8=" />
|
||||
|
||||
|
||||
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7VC_WlWODN-9NNOB8qqY6cA1&t=633112977674076250" type="text/javascript"></script>
|
||||
<script src="/WebResource.axd?d=OSFApkHgVTFGp_WGnj5w0YyfbDgId8eejj1HHj2udCziBXq1lnucLLMhY2b4ssXravjY6R0n3Xz5xE3pKbfs7blAzxonPUmCsga2GgPJUY41&t=633112977674076250" type="text/javascript"></script>
|
||||
<div>
|
||||
<table id="Table_01" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan="2" rowspan="2" width="394" height="111" >
|
||||
<a href="LiveScores.aspx">
|
||||
<img src="images/fsl_logo.jpg" width="394" height="111" border="0" alt="FootballScoresLive logo" /></a></td>
|
||||
<td height="81" width="100%" valign="middle" background="images/grass_top.jpg" align="center">
|
||||
<a id="ctl00_lnkScores2Mobile" title="Click here for Live Scores to your mobile" href="live-premiership-football-scores-via-sms.aspx" style="display:inline-block;"><img title="Click here for Live Scores to your mobile" src="images/scores2mobile.jpg" border="0" /></a>
|
||||
</td>
|
||||
<td width="174" height="81" align="center" valign="middle" background="images/grass_top.jpg">
|
||||
|
||||
<a href="Register.aspx"><img src="images/btn_reg.gif" border="0" /></a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="color: yellow;">
|
||||
<td width="237" height="30" align="center" valign="middle" background="images/visitors_bg.jpg" class="body12">
|
||||
<strong>
|
||||
For <span style="color: red">FREE</span> goals to your mobile</strong>
|
||||
<a id="ctl00_HyperLink1" class="navlink" href="fixtures.aspx">Click Here</a></td>
|
||||
<td align="center" valign="middle" bgcolor="#000000" class="body12">
|
||||
<table width=100% border="0" cellpadding="0" cellspacing="0">
|
||||
<tr style="color: white;">
|
||||
<td>
|
||||
|
||||
<input type="submit" name="ctl00$LoginView5$btnLogin" value="LogIn" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LoginView5$btnLogin", "", false, "", "login.aspx", false, false))" id="ctl00_LoginView5_btnLogin" />
|
||||
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td height="16" colspan="4" bgcolor="#000000">
|
||||
| <a href="default.aspx" class="navlink">Home</a>
|
||||
| <a href="live-premiership-football-scores-via-sms.aspx" class="navlink">SMS Service</a>
|
||||
| <a href="LiveScores.aspx" class="navlink">Live Scores</a>
|
||||
| <a href="MatchResults.aspx" class="navlink">Previous Results</a>
|
||||
| <a href="fixtures.aspx" class="navlink">Future Fixtures</a> |
|
||||
<a id="ctl00_LoginStatus2" class="navlink" href="javascript:__doPostBack('ctl00$LoginStatus2$ctl02','')">Login</a> |
|
||||
<a href="login/personal.aspx" class="navlink">Personalise</a> |
|
||||
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr height="100%">
|
||||
<td width="174" align="center" valign="top" background="images/grass_left.jpg">
|
||||
<!--
|
||||
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
|
||||
<img src="images/favourites.jpg" border="0"/></a>
|
||||
-->
|
||||
<br />
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="#" onclick='window.external.AddFavorite(location.href,document.title);' class="navlink">
|
||||
<img src="images/buttons/favourites.jpg" border="0" alt="Add this page to your favourites" name="fav" width="165" height="21" onmouseover="MM_swapImage('fav','','images/buttons/favourites_hl.jpg',1)" onmouseout="MM_swapImgRestore()" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/seasonTicket.jpg" border="0" alt="Season Ticket Goal Alerts - coming soon" name="season" width="166" height="22" onmouseover="MM_swapImage('season','','images/buttons/seasonTicket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/mobile.jpg" border="0" alt="Mobile Goal Alerts" name="mobile" width="166" height="20" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="live-premiership-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/englishLeagues.jpg" alt="English Leagues" name="engLg" width="166" height="19" border="0" onmouseover="MM_swapImage('engLg','','images/buttons/englishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/englishNational.jpg" border="0" alt="English National Team - coming soon" name="engNat" width="166" height="18" onmouseover="MM_swapImage('engNat','','images/buttons/englishNational_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/scottishLeagues.jpg" border="0" alt="Scottish Leagues" name="scotLg" width="166" height="18" onmouseover="MM_swapImage('scotLg','','images/buttons/scottishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-spain-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/spanishLeagues.jpg" border="0" alt="Spanish Leagues" name="spanLg" width="166" height="18" onmouseover="MM_swapImage('spanLg','','images/buttons/spanishLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-italy-football-scores-via-sms.aspx">
|
||||
<img src="images/buttons/italianLeagues.jpg" border="0" alt="Italian Leagues" name="italLg" width="166" height="18" onmouseover="MM_swapImage('italLg','','images/buttons/italianLeagues_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="LiveScores.aspx"><img src="images/buttons/livescores.jpg" border="0" alt="Live Scores" name="world" width="166" height="20" onmouseover="MM_swapImage('world','','images/buttons/livescores_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/supermarket.jpg" border="0" alt="Football Supermarket - coming soon" name="super" width="166" height="20" onmouseover="MM_swapImage('super','','images/buttons/supermarket_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="MatchResults.aspx"><img src="images/buttons/previousResults.jpg" border="0" alt="Previous Results" name="prev" width="166" height="20" onmouseover="MM_swapImage('prev','','images/buttons/previousResults_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="fixtures.aspx"><img src="images/buttons/futureFixtures.jpg" border="0" alt="Future Fixtures" name="future" width="166" height="20" onmouseover="MM_swapImage('future','','images/buttons/futureFixtures_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/leagueTables.jpg" border="0" alt="League Tables - coming soon" name="lgTbl" width="166" height="20" onmouseover="MM_swapImage('lgTbl','','images/buttons/leagueTables_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/sponsored.jpg" border="0" alt="Sponsored Links - coming soon" name="spons" width="166" height="20" onmouseover="MM_swapImage('spons','','images/buttons/sponsored_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/buttons/personalise.jpg" border="0" alt="Personalise" name="pers" width="166" height="20" onmouseover="MM_swapImage('pers','','images/buttons/personalise_hl.jpg',1)" onmouseout="MM_swapImgRestore()" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input id="ctl00_LoginStatus1" type="image" name="ctl00$LoginStatus1$ctl03" class="navlink" src="images/buttons/login.jpg" alt="Login" border="0" />
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<br />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href="fixtures.aspx">
|
||||
<img src="images/fsl_phone_static.jpg" width="130" height="238" border="0" />
|
||||
</a>
|
||||
<div id="ctl00_FixtureSelectPanel">
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr style="background-color:Black; color:Green">
|
||||
<td colspan="2">
|
||||
<img id="ctl00_Image1" src="images/fixtures.jpg" border="0" /></td>
|
||||
</tr>
|
||||
<tr style="background-color:White">
|
||||
<td align="left">
|
||||
<select name="ctl00$FixtureDropDown" id="ctl00_FixtureDropDown" title="Choose the date you want to see the fixtures" class="body">
|
||||
<option value="18/12/2008 00:00:00">18/12/2008</option>
|
||||
<option value="19/12/2008 00:00:00">19/12/2008</option>
|
||||
<option value="20/12/2008 00:00:00">20/12/2008</option>
|
||||
<option value="21/12/2008 00:00:00">21/12/2008</option>
|
||||
<option value="22/12/2008 00:00:00">22/12/2008</option>
|
||||
<option value="23/12/2008 00:00:00">23/12/2008</option>
|
||||
<option value="26/12/2008 00:00:00">26/12/2008</option>
|
||||
<option value="27/12/2008 00:00:00">27/12/2008</option>
|
||||
<option value="28/12/2008 00:00:00">28/12/2008</option>
|
||||
<option value="29/12/2008 00:00:00">29/12/2008</option>
|
||||
<option value="30/12/2008 00:00:00">30/12/2008</option>
|
||||
<option value="01/01/2009 00:00:00">01/01/2009</option>
|
||||
<option value="02/01/2009 00:00:00">02/01/2009</option>
|
||||
|
||||
</select>
|
||||
|
||||
</td>
|
||||
<td align="right">
|
||||
<input type="image" name="ctl00$FixtureButton" id="ctl00_FixtureButton" title="Click to see the fixtures on your chosen date" src="images/go.gif" align="absmiddle" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$FixtureButton", "", false, "", "fixtures.aspx", false, false))" border="0" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
<div style="text-align: center">
|
||||
<table border="0" cellpadding="2" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="live-premiership-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/england.jpg" border="0" alt="English Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-scottish-premier-league-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/scotland.jpg" border="0" alt="Scottish Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-spain-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/Spain.jpg" border="0" alt="Spanish Leagues goal alerts by SMS" /></a></td>
|
||||
<td>
|
||||
<a href="live-italy-football-scores-via-sms.aspx">
|
||||
<img src="images/flags2/Italy.jpg" border="0" alt="Italian Leagues goal alerts by SMS" /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br />
|
||||
<img src="images/status.gif" width="110" height="127" /><br />
|
||||
<br />
|
||||
<img src="images/events.gif" width="110" height="115" /><br />
|
||||
</td>
|
||||
<td width="100%" colspan="2" align="center" valign="top">
|
||||
|
||||
|
||||
<div id="ctl00_ContentPlaceHolder1_UpdatePanel1">
|
||||
|
||||
<h1>Historical Football Archive - Updated Daily!</h1>
|
||||
<br />
|
||||
<p class="body12">Missed the details of your football club's latest performance?
|
||||
Whether you support Manchester United or Cambridge United, Premiership club or Conference club,
|
||||
you will find it all here, with our fantastic soccer library of results over the last two weeks.
|
||||
These pages contain the history & detailed results package for every football game from around the world
|
||||
from the last 14 match days, including not only every goal scored, but, game results, names of goal scorer,
|
||||
match results, red cards and plenty more! This service is automatically updated every 24 hours,
|
||||
simply select a date from the drop down menu :-
|
||||
</p>
|
||||
<select name="ctl00$ContentPlaceHolder1$DropDownList1" id="ctl00_ContentPlaceHolder1_DropDownList1">
|
||||
<option selected="selected" value="17/12/2008 00:00:00">Wed 17/12/2008</option>
|
||||
<option value="16/12/2008 00:00:00">Tue 16/12/2008</option>
|
||||
<option value="15/12/2008 00:00:00">Mon 15/12/2008</option>
|
||||
<option value="14/12/2008 00:00:00">Sun 14/12/2008</option>
|
||||
<option value="13/12/2008 00:00:00">Sat 13/12/2008</option>
|
||||
<option value="12/12/2008 00:00:00">Fri 12/12/2008</option>
|
||||
<option value="11/12/2008 00:00:00">Thu 11/12/2008</option>
|
||||
<option value="10/12/2008 00:00:00">Wed 10/12/2008</option>
|
||||
<option value="09/12/2008 00:00:00">Tue 09/12/2008</option>
|
||||
<option value="08/12/2008 00:00:00">Mon 08/12/2008</option>
|
||||
<option value="07/12/2008 00:00:00">Sun 07/12/2008</option>
|
||||
<option value="06/12/2008 00:00:00">Sat 06/12/2008</option>
|
||||
<option value="05/12/2008 00:00:00">Fri 05/12/2008</option>
|
||||
<option value="04/12/2008 00:00:00">Thu 04/12/2008</option>
|
||||
|
||||
</select>
|
||||
|
||||
<br /><br />
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_lblCompName"> SCOTLAND - DIVISION 2</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl00_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>Pst </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">STRANRAER</td><td align="right">0</td><td align="left">0</td><td align="left">PETERHEAD</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_lblCompName"> ENGLAND - FA TROPHY - FIRST ROUND</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">SWINDON SUPERMARINE</td><td align="right">1</td><td align="left">0</td><td align="left">EASTBOURNE BOROUGH</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>EDENBOROUGH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">EDENBOROUGH</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_lblCompName"> EUROPE (UEFA) - UEFA CUP - GROUP STAGE</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl02_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">AC MILAN</td><td align="right">2</td><td align="left">2</td><td align="left">VfL WOLFSBURG</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>17</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>AMBROSINI</td></tr><tr><td>56</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PATO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZACCARDO</td></tr><tr><td>81</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SAGLIK</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">81<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SAGLIK</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">AJAX</td><td align="right">2</td><td align="left">2</td><td align="left">SLAVIA PRAHA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VERTONGHEN</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball-pen.gif\' alt=\'penalty\'></td><td nowrap=nowrap>SUAREZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>13</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CERNY</td></tr><tr><td>41</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>JAROLIM</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball-pen.gif" alt="penalty">SUAREZ</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">CLUB BRUGGE</td><td align="right">0</td><td align="left">1</td><td align="left">FC COPENHAGEN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>58</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SANTIN</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">58<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SANTIN</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">DEP. LA CORUNA</td><td align="right">1</td><td align="left">0</td><td align="left">NANCY</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BODIPO</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BODIPO</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">FEYENOORD</td><td align="right">0</td><td align="left">1</td><td align="left">LECH POZNAN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DJURDJEVIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">DJURDJEVIC</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">HAMBURGER SV</td><td align="right">3</td><td align="left">1</td><td align="left">ASTON VILLA</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>18</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>PETRIC</td></tr><tr><td>30</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr><tr><td>57</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>OLIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>DELFOUNESO</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>SIDWELL</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">SIDWELL</a>
|
||||
</td>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PORTSMOUTH</td><td align="right">3</td><td align="left">0</td><td align="left">HEERENVEEN</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>40</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>42</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>CROUCH</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HREIDARSSON</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HREIDARSSON</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
19:45
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ST ETIENNE</td><td align="right">2</td><td align="left">2</td><td align="left">VALENCIA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>29</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr><tr><td>44</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ILAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>33</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MORIENTES</td></tr><tr><td>72</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>ZIGIC</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">72<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">ZIGIC</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_lblCompName"> INTERNATIONAL TOURNAMENTS - OMAN FOUR NATIONS TOUR</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl03_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
14:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">OMAN</td><td align="right">3</td><td align="left">1</td><td align="left">CHINA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>47</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BASHEER</td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr><tr><td>84</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>SALEH</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>53</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BO</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">84<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">SALEH</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
16:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ECUADOR</td><td align="right">1</td><td align="left">0</td><td align="left">IRAN</td><td bgcolor="Red">
|
||||
1
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>MARTINEZ</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>90</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/redcard.gif\' alt=\'red card\'></td><td nowrap=nowrap>NEJAD</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">90<img align="top" width="17" height="16" border="0" src="images/redcard.gif" alt="red card">NEJAD</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_lblCompName"> ITALY - FA CUP - ROUND 16</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl04_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
16:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">FIORENTINA</td><td align="right">0</td><td align="left">1</td><td align="left">TORINO</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>19</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIANCHI</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">19<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BIANCHI</a>
|
||||
</td>
|
||||
</tr><tr class="row_alt">
|
||||
<td>
|
||||
20:00
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">ROMA</td><td align="right">2</td><td align="left">0</td><td align="left">BOLOGNA</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>82</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>VUCINIC</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">VUCINIC</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_lblCompName"> ITALY - SERIE C1A</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl05_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PRO SESTO</td><td align="right">0</td><td align="left">0</td><td align="left">LECCO</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_lblCompName"> ITALY - SERIE C2A</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl06_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">MEZZOCORONA</td><td align="right">1</td><td align="left">3</td><td align="left">SAMBONIFACESE</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>55</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>48</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr><tr><td>66</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr><tr><td>74</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap> </td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">74<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal"> </a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_lblCompName"> SCOTLAND - FA CUP - THIRD ROUND</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl07_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
13:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">LOCHEE UTD</td><td align="right">1</td><td align="left">1</td><td align="left">AYR UTD</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Replayed if draw.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>86</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>HAGAN</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>60</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>WILLIAMS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">86<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">HAGAN</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
<table border="1" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td style="text-align: left" class="header">
|
||||
<span id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_lblCompName"> WORLD (FIFA) - FIFA CLUB WORLD CHAMPIONSHIP - SEMI</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<table cellspacing="0" cellpadding="2" rules="all" border="1" id="ctl00_ContentPlaceHolder1_Repeater1_ctl08_CompGames1_GridView1" width="100%">
|
||||
<tr class="header" align="left">
|
||||
<th scope="col">Start</th><th scope="col">Stat</th><th scope="col">Min</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="right" scope="col" width="30%">Home</th><th align="right" scope="col" width="10"> </th><th align="left" scope="col" width="10"> </th><th align="left" scope="col" width="30%">Away</th><th align="center" scope="col" width="17">R</th><th align="center" scope="col" width="17">P</th><th align="center" scope="col" width="17">O</th><th align="center" scope="col" width="17"><img src="images/info.gif" border="0" /></th><th scope="col" width="40%">Latest</th>
|
||||
</tr><tr class="row">
|
||||
<td>
|
||||
10:30
|
||||
</td><td>FT </td><td>-</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td align="right">PACHUCA (MEX)</td><td align="right">0</td><td align="left">2</td><td align="left">LIGA D.U. QUITO(ECU)</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
|
||||
</td><td>
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table border=0 cellpadding=2 cellspacing=0 width=250><tr align=left bgcolor=#ffffff><td><img src=\'images/info.gif\' /><b>Match information</b></td></tr><tr><td>Playing at Tokyo, Japan. Knock out.</td></tr></table>',HAUTO,VAUTO,WIDTH,250);" onmouseout="return nd();"><img src="images/info.gif" border="0" /></a>
|
||||
</td><td align="left">
|
||||
<a class="poplink" href="javascript:void(0);" onmouseover="return overlib('<table><tr valign=top><td width=200><table border=1 cellspacing=0 cellpadding=2><tr valign=top><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr></table></td><td width=200><table border=1 cellspacing=0 cellpadding=2><tr><td width=20>Min</td><td width=20> </td><td width=120>Player</td></tr><tr><td>4</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BIELER</td></tr><tr><td>26</td><td><img align=\'top\' width=\'17\' height=\'16\' border=\'0\' src=\'images/ball.gif\' alt=\'goal\'></td><td nowrap=nowrap>BOLANOS</td></tr></table></td></tr></table>',HAUTO,VAUTO,WIDTH,400);" onmouseout="return nd();">26<img align="top" width="17" height="16" border="0" src="images/ball.gif" alt="goal">BOLANOS</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<table border="0" cellpadding="5" cellspacing="0" style="width: 100%; height: 100%">
|
||||
<tr class="newslinkspace">
|
||||
<td style="width: 100%">
|
||||
View complete <a href="ResultsArchive.aspx" class="newslink">archive of FootballScoresLive.com Match Results</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
<td width="125" align="right" valign="top">
|
||||
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="120" height="600">
|
||||
<param name="movie" value="http://www.footballscoreslive.com/images/fslSMSNew.swf" />
|
||||
<param name="quality" value="high" />
|
||||
<embed src="http://www.footballscoreslive.com/images/fslSMSNew.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="120" height="600"></embed>
|
||||
</object>
|
||||
<script type="text/javascript"><!--
|
||||
google_ad_client = "pub-1398285862595543";
|
||||
google_ad_width = 120;
|
||||
google_ad_height = 600;
|
||||
google_ad_format = "120x600_as";
|
||||
google_ad_type = "text_image";
|
||||
google_ad_channel ="";
|
||||
google_color_border = "336699";
|
||||
google_color_bg = "FFFFFF";
|
||||
google_color_link = "0000FF";
|
||||
google_color_text = "000000";
|
||||
google_color_url = "008000";
|
||||
//--></script>
|
||||
<script type="text/javascript"
|
||||
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="174" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="220" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="281" height="1" alt="" /></td>
|
||||
<td>
|
||||
<img src="images/spacer.gif" width="125" height="1" alt="" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td height="16" colspan="4" bgcolor="#000000">
|
||||
|
|
||||
<a class="navlink" href="disclaimer.aspx">Disclaimer</a> |
|
||||
<a class="navlink" href="privacy.aspx">Privacy</a> |
|
||||
<a href="aboutus.aspx" class="navlink">About Us</a> |
|
||||
<a href="NewsArchive.aspx" class="navlink">News Archive</a> |
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="Xh65BZM36Ruds-iXM2l7LB-dXtc__8RpYzxQLE4V_YQ1" />
|
||||
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="2ybQ+H9cPYUzPPi/5ComPVhU+jAYPdxVR+fOu2ZZbs2RxuAweOrbEg/qP5f+1OYLQI+oQJb98YQDTTMw+x86m7Np3/NYQHDjzX76RjJfW9nS6SnJVUi1nLHSh9c7wgfVB7UNjywCsU0hiMY1IUsYkR/rClTQE4j3Q4a4ub3Cqrn+b7fY3itatSObxb3L0Pq9E9vx/RpYI3jhA2RPCnO1WEQF2kEBAba5qqLwESWolSSdLqs5DRta8kholg0zw5EA5/R9+XiPqWwbk4n/TnTtdMwQq2iExD4eyjsLsE7bWnw=" />
|
||||
<script type="text/xml-script">
|
||||
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
|
||||
<components>
|
||||
<pageRequestManager id="_PageRequestManager" updatePanelIDs="ctl00$ContentPlaceHolder1$UpdatePanel1" asyncPostbackControlIDs="ctl00_ContentPlaceHolder1_DropDownList1" scriptManagerID="ctl00$ContentPlaceHolder1$ScriptManager1" form="aspnetForm" />
|
||||
</components>
|
||||
</page></script>
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,144 +0,0 @@
|
|||
<?php
|
||||
error_reporting(E_ALL);
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
$html = file_get_html('google.htm');
|
||||
//$html = file_get_html('youtube.htm');
|
||||
//$html = file_get_html('Product.ibatis.xml');
|
||||
|
||||
|
||||
$lang = '';
|
||||
$l=$html->find('html', 0);
|
||||
if ($l!==null)
|
||||
$lang = $l->lang;
|
||||
if ($lang!='')
|
||||
$lang = 'lang="'.$lang.'"';
|
||||
|
||||
$charset = $html->find('meta[http-equiv*=content-type]', 0);
|
||||
$target = array();
|
||||
$query = '';
|
||||
|
||||
if (isset($_REQUEST['query'])) {
|
||||
$query = $_REQUEST['query'];
|
||||
$target = $html->find($query);
|
||||
}
|
||||
|
||||
function stat_dom($dom) {
|
||||
$count_text = 0;
|
||||
$count_comm = 0;
|
||||
$count_elem = 0;
|
||||
$count_tag_end = 0;
|
||||
$count_unknown = 0;
|
||||
|
||||
foreach($dom->nodes as $n) {
|
||||
if ($n->nodetype==HDOM_TYPE_TEXT)
|
||||
++$count_text;
|
||||
if ($n->nodetype==HDOM_TYPE_COMMENT)
|
||||
++$count_comm;
|
||||
if ($n->nodetype==HDOM_TYPE_ELEMENT)
|
||||
++$count_elem;
|
||||
if ($n->nodetype==HDOM_TYPE_ENDTAG)
|
||||
++$count_tag_end;
|
||||
if ($n->nodetype==HDOM_TYPE_UNKNOWN)
|
||||
++$count_unknown;
|
||||
}
|
||||
|
||||
echo 'Total: '. count($dom->nodes).
|
||||
', Text: '.$count_text.
|
||||
', Commnet: '.$count_comm.
|
||||
', Tag: '.$count_elem.
|
||||
', End Tag: '.$count_tag_end.
|
||||
', Unknown: '.$count_unknown;
|
||||
}
|
||||
|
||||
function dump_my_html_tree($node, $show_attr=true, $deep=0, $last=true) {
|
||||
$count = count($node->nodes);
|
||||
if ($count>0) {
|
||||
if($last)
|
||||
echo '<li class="expandable lastExpandable"><div class="hitarea expandable-hitarea lastExpandable-hitarea"></div><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
else
|
||||
echo '<li class="expandable"><div class="hitarea expandable-hitarea"></div><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
}
|
||||
else {
|
||||
$laststr = ($last===false) ? '' : ' class="last"';
|
||||
echo '<li'.$laststr.'><<span class="tag">'.htmlspecialchars($node->tag).'</span>';
|
||||
}
|
||||
|
||||
if ($show_attr) {
|
||||
foreach($node->attr as $k=>$v) {
|
||||
echo ' '.htmlspecialchars($k).'="<span class="attr">'.htmlspecialchars($node->$k).'</span>"';
|
||||
}
|
||||
}
|
||||
echo '>';
|
||||
|
||||
if ($node->tag==='text' || $node->tag==='comment') {
|
||||
echo htmlspecialchars($node->innertext);
|
||||
return;
|
||||
}
|
||||
|
||||
if ($count>0) echo "\n<ul style=\"display: none;\">\n";
|
||||
$i=0;
|
||||
foreach($node->nodes as $c) {
|
||||
$last = (++$i==$count) ? true : false;
|
||||
dump_my_html_tree($c, $show_attr, $deep+1, $last);
|
||||
}
|
||||
if ($count>0)
|
||||
echo "</ul>\n";
|
||||
|
||||
//if ($count>0) echo '</<span class="attr">'.htmlspecialchars($node->tag).'</span>>';
|
||||
echo "</li>\n";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
|
||||
<html <?=$lang?>>
|
||||
<head>
|
||||
<?
|
||||
if ($lang!='')
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8"/>';
|
||||
else if ($charset)
|
||||
echo $charset;
|
||||
else
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>';
|
||||
?>
|
||||
<title>Simple HTML DOM Query Test</title>
|
||||
<link rel="stylesheet" href="js/jquery.treeview.css" />
|
||||
<link rel="stylesheet" href="js/screen.css" />
|
||||
<style>
|
||||
.tag { color: blue; }
|
||||
.attr { color: #990033; }
|
||||
</style>
|
||||
<script src="js/jquery.js" type="text/javascript"></script>
|
||||
<script src="js/jquery.treeview.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$("#html_tree").treeview({
|
||||
control:"#sidetreecontrol",
|
||||
collapsed: true,
|
||||
prerendered: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">
|
||||
<h4>Simple HTML DOM Test</h4>
|
||||
<form name="form1" method="post" action="">
|
||||
find: <input name="query" type="text" size="60" maxlength="60" value="<?=htmlspecialchars($query)?>">
|
||||
<input type="submit" name="Submit" value="Go">
|
||||
</form>
|
||||
<br>
|
||||
HTML STAT (<?stat_dom($html);?>)<br>
|
||||
<br>
|
||||
<div id="sidetreecontrol"><a href="?#">Collapse All</a> | <a href="?#">Expand All</a></div><br>
|
||||
<ul class="treeview" id="html_tree">
|
||||
<?
|
||||
ob_start();
|
||||
foreach($target as $e)
|
||||
dump_my_html_tree($e, true);
|
||||
ob_end_flush();
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</body></html>
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 48
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js
|
||||
END
|
||||
jquery.treeview.css
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 68
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.treeview.css
|
||||
END
|
||||
jquery.treeview.js
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 67
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.treeview.js
|
||||
END
|
||||
screen.css
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 59
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/screen.css
|
||||
END
|
||||
jquery.js
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 58
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/jquery.js
|
||||
END
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
10
|
||||
|
||||
dir
|
||||
182
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app/js
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
|
||||
|
||||
|
||||
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
d0e60b4b-9046-0410-940c-b97530268c78
|
||||
|
||||
jquery.treeview.css
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.459235Z
|
||||
339ab1bbbaefa62f58c1fbf4459a7d0e
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2589
|
||||
|
||||
jquery.treeview.js
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.460235Z
|
||||
3f81db67b7a973c8835ef5213e3b93c6
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
7839
|
||||
|
||||
images
|
||||
dir
|
||||
|
||||
screen.css
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.463235Z
|
||||
b8e74072c3d1b740bce61509ce86fe68
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
623
|
||||
|
||||
jquery.js
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.465235Z
|
||||
957620aeffb2e5b562591b7a19928ea4
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
94443
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,68 +0,0 @@
|
|||
.treeview, .treeview ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.treeview ul {
|
||||
background-color: white;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.treeview .hitarea {
|
||||
background: url(images/treeview-default.gif) -64px -25px no-repeat;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
margin-left: -16px;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* fix for IE6 */
|
||||
* html .hitarea {
|
||||
display: inline;
|
||||
float:none;
|
||||
}
|
||||
|
||||
.treeview li {
|
||||
margin: 0;
|
||||
padding: 3px 0pt 3px 16px;
|
||||
}
|
||||
|
||||
.treeview a.selected {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
#treecontrol { margin: 1em 0; display: none; }
|
||||
|
||||
.treeview .hover { color: red; cursor: pointer; }
|
||||
|
||||
.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
|
||||
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
|
||||
|
||||
.treeview .expandable-hitarea { background-position: -80px -3px; }
|
||||
|
||||
.treeview li.last { background-position: 0 -1766px }
|
||||
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
|
||||
.treeview li.lastCollapsable { background-position: 0 -111px }
|
||||
.treeview li.lastExpandable { background-position: -32px -67px }
|
||||
|
||||
.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
|
||||
|
||||
.treeview-red li { background-image: url(images/treeview-red-line.gif); }
|
||||
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
|
||||
|
||||
.treeview-black li { background-image: url(images/treeview-black-line.gif); }
|
||||
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
|
||||
|
||||
.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
|
||||
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
|
||||
|
||||
.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
|
||||
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
|
||||
|
||||
|
||||
.filetree li { padding: 3px 0 2px 16px; }
|
||||
.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
|
||||
.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
|
||||
.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
|
||||
.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
/*
|
||||
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
|
||||
*
|
||||
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
|
||||
* http://docs.jquery.com/Plugins/Treeview
|
||||
*
|
||||
* Copyright (c) 2007 Jörn Zaefferer
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
|
||||
*
|
||||
*/
|
||||
|
||||
;(function($) {
|
||||
|
||||
$.extend($.fn, {
|
||||
swapClass: function(c1, c2) {
|
||||
var c1Elements = this.filter('.' + c1);
|
||||
this.filter('.' + c2).removeClass(c2).addClass(c1);
|
||||
c1Elements.removeClass(c1).addClass(c2);
|
||||
return this;
|
||||
},
|
||||
replaceClass: function(c1, c2) {
|
||||
return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
|
||||
},
|
||||
hoverClass: function(className) {
|
||||
className = className || "hover";
|
||||
return this.hover(function() {
|
||||
$(this).addClass(className);
|
||||
}, function() {
|
||||
$(this).removeClass(className);
|
||||
});
|
||||
},
|
||||
heightToggle: function(animated, callback) {
|
||||
animated ?
|
||||
this.animate({ height: "toggle" }, animated, callback) :
|
||||
this.each(function(){
|
||||
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
||||
if(callback)
|
||||
callback.apply(this, arguments);
|
||||
});
|
||||
},
|
||||
heightHide: function(animated, callback) {
|
||||
if (animated) {
|
||||
this.animate({ height: "hide" }, animated, callback);
|
||||
} else {
|
||||
this.hide();
|
||||
if (callback)
|
||||
this.each(callback);
|
||||
}
|
||||
},
|
||||
prepareBranches: function(settings) {
|
||||
if (!settings.prerendered) {
|
||||
// mark last tree items
|
||||
this.filter(":last-child:not(ul)").addClass(CLASSES.last);
|
||||
// collapse whole tree, or only those marked as closed, anyway except those marked as open
|
||||
this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
|
||||
}
|
||||
// return all items with sublists
|
||||
return this.filter(":has(>ul)");
|
||||
},
|
||||
applyClasses: function(settings, toggler) {
|
||||
this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
|
||||
toggler.apply($(this).next());
|
||||
}).add( $("a", this) ).hoverClass();
|
||||
|
||||
if (!settings.prerendered) {
|
||||
// handle closed ones first
|
||||
this.filter(":has(>ul:hidden)")
|
||||
.addClass(CLASSES.expandable)
|
||||
.replaceClass(CLASSES.last, CLASSES.lastExpandable);
|
||||
|
||||
// handle open ones
|
||||
this.not(":has(>ul:hidden)")
|
||||
.addClass(CLASSES.collapsable)
|
||||
.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
|
||||
|
||||
// create hitarea
|
||||
this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function() {
|
||||
var classes = "";
|
||||
$.each($(this).parent().attr("class").split(" "), function() {
|
||||
classes += this + "-hitarea ";
|
||||
});
|
||||
$(this).addClass( classes );
|
||||
});
|
||||
}
|
||||
|
||||
// apply event to hitarea
|
||||
this.find("div." + CLASSES.hitarea).click( toggler );
|
||||
},
|
||||
treeview: function(settings) {
|
||||
|
||||
settings = $.extend({
|
||||
cookieId: "treeview"
|
||||
}, settings);
|
||||
|
||||
if (settings.add) {
|
||||
return this.trigger("add", [settings.add]);
|
||||
}
|
||||
|
||||
if ( settings.toggle ) {
|
||||
var callback = settings.toggle;
|
||||
settings.toggle = function() {
|
||||
return callback.apply($(this).parent()[0], arguments);
|
||||
};
|
||||
}
|
||||
|
||||
// factory for treecontroller
|
||||
function treeController(tree, control) {
|
||||
// factory for click handlers
|
||||
function handler(filter) {
|
||||
return function() {
|
||||
// reuse toggle event handler, applying the elements to toggle
|
||||
// start searching for all hitareas
|
||||
toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
|
||||
// for plain toggle, no filter is provided, otherwise we need to check the parent element
|
||||
return filter ? $(this).parent("." + filter).length : true;
|
||||
}) );
|
||||
return false;
|
||||
};
|
||||
}
|
||||
// click on first element to collapse tree
|
||||
$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
|
||||
// click on second to expand tree
|
||||
$("a:eq(1)", control).click( handler(CLASSES.expandable) );
|
||||
// click on third to toggle tree
|
||||
$("a:eq(2)", control).click( handler() );
|
||||
}
|
||||
|
||||
// handle toggle event
|
||||
function toggler() {
|
||||
$(this)
|
||||
.parent()
|
||||
// swap classes for hitarea
|
||||
.find(">.hitarea")
|
||||
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
|
||||
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
|
||||
.end()
|
||||
// swap classes for parent li
|
||||
.swapClass( CLASSES.collapsable, CLASSES.expandable )
|
||||
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
|
||||
// find child lists
|
||||
.find( ">ul" )
|
||||
// toggle them
|
||||
.heightToggle( settings.animated, settings.toggle );
|
||||
if ( settings.unique ) {
|
||||
$(this).parent()
|
||||
.siblings()
|
||||
// swap classes for hitarea
|
||||
.find(">.hitarea")
|
||||
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
|
||||
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
|
||||
.end()
|
||||
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
|
||||
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
|
||||
.find( ">ul" )
|
||||
.heightHide( settings.animated, settings.toggle );
|
||||
}
|
||||
}
|
||||
|
||||
function serialize() {
|
||||
function binary(arg) {
|
||||
return arg ? 1 : 0;
|
||||
}
|
||||
var data = [];
|
||||
branches.each(function(i, e) {
|
||||
data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
|
||||
});
|
||||
$.cookie(settings.cookieId, data.join("") );
|
||||
}
|
||||
|
||||
function deserialize() {
|
||||
var stored = $.cookie(settings.cookieId);
|
||||
if ( stored ) {
|
||||
var data = stored.split("");
|
||||
branches.each(function(i, e) {
|
||||
$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// add treeview class to activate styles
|
||||
this.addClass("treeview");
|
||||
|
||||
// prepare branches and find all tree items with child lists
|
||||
var branches = this.find("li").prepareBranches(settings);
|
||||
|
||||
switch(settings.persist) {
|
||||
case "cookie":
|
||||
var toggleCallback = settings.toggle;
|
||||
settings.toggle = function() {
|
||||
serialize();
|
||||
if (toggleCallback) {
|
||||
toggleCallback.apply(this, arguments);
|
||||
}
|
||||
};
|
||||
deserialize();
|
||||
break;
|
||||
case "location":
|
||||
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
|
||||
if ( current.length ) {
|
||||
current.addClass("selected").parents("ul, li").add( current.next() ).show();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
branches.applyClasses(settings, toggler);
|
||||
|
||||
// if control option is set, create the treecontroller and show it
|
||||
if ( settings.control ) {
|
||||
treeController(this, settings.control);
|
||||
$(settings.control).show();
|
||||
}
|
||||
|
||||
return this.bind("add", function(event, branches) {
|
||||
$(branches).prev()
|
||||
.removeClass(CLASSES.last)
|
||||
.removeClass(CLASSES.lastCollapsable)
|
||||
.removeClass(CLASSES.lastExpandable)
|
||||
.find(">.hitarea")
|
||||
.removeClass(CLASSES.lastCollapsableHitarea)
|
||||
.removeClass(CLASSES.lastExpandableHitarea);
|
||||
$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// classes used by the plugin
|
||||
// need to be styled via external stylesheet, see first example
|
||||
var CLASSES = $.fn.treeview.classes = {
|
||||
open: "open",
|
||||
closed: "closed",
|
||||
expandable: "expandable",
|
||||
expandableHitarea: "expandable-hitarea",
|
||||
lastExpandableHitarea: "lastExpandable-hitarea",
|
||||
collapsable: "collapsable",
|
||||
collapsableHitarea: "collapsable-hitarea",
|
||||
lastCollapsableHitarea: "lastCollapsable-hitarea",
|
||||
lastCollapsable: "lastCollapsable",
|
||||
lastExpandable: "lastExpandable",
|
||||
last: "last",
|
||||
hitarea: "hitarea"
|
||||
};
|
||||
|
||||
// provide backwards compability
|
||||
$.fn.Treeview = $.fn.treeview;
|
||||
|
||||
})(jQuery);
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
html, body {height:100%; margin: 0; padding: 0; }
|
||||
|
||||
html>body {
|
||||
font-size: 16px;
|
||||
font-size: 68.75%;
|
||||
} /* Reset Base Font Size */
|
||||
|
||||
body {
|
||||
font-family: Verdana, helvetica, arial, sans-serif;
|
||||
font-size: 68.75%;
|
||||
background: #fff;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
|
||||
h1 { font-size: large }
|
||||
|
||||
#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
|
||||
background: url(bg.gif) repeat-x; text-align: center }
|
||||
#banner a { color: white; }
|
||||
|
||||
#main { padding: 1em; }
|
||||
|
||||
a img { border: none; }
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 55
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images
|
||||
END
|
||||
treeview-default.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 76
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images/treeview-default.gif
|
||||
END
|
||||
treeview-default-line.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 81
|
||||
/svnroot/simplehtmldom/!svn/ver/176/trunk/app/js/images/treeview-default-line.gif
|
||||
END
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
10
|
||||
|
||||
dir
|
||||
182
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/app/js/images
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
|
||||
|
||||
|
||||
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
d0e60b4b-9046-0410-940c-b97530268c78
|
||||
|
||||
treeview-default.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.297225Z
|
||||
46878a9b3ede269c4e234550c9c89cd0
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1222
|
||||
|
||||
treeview-default-line.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.303226Z
|
||||
5e3c0e0c48f48c23c45aef7b72c739c0
|
||||
2008-12-14T19:02:48.351607Z
|
||||
176
|
||||
me578022
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1993
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
File diff suppressed because it is too large
Load diff
|
|
@ -1,68 +0,0 @@
|
|||
.treeview, .treeview ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.treeview ul {
|
||||
background-color: white;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.treeview .hitarea {
|
||||
background: url(images/treeview-default.gif) -64px -25px no-repeat;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
margin-left: -16px;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
/* fix for IE6 */
|
||||
* html .hitarea {
|
||||
display: inline;
|
||||
float:none;
|
||||
}
|
||||
|
||||
.treeview li {
|
||||
margin: 0;
|
||||
padding: 3px 0pt 3px 16px;
|
||||
}
|
||||
|
||||
.treeview a.selected {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
#treecontrol { margin: 1em 0; display: none; }
|
||||
|
||||
.treeview .hover { color: red; cursor: pointer; }
|
||||
|
||||
.treeview li { background: url(images/treeview-default-line.gif) 0 0 no-repeat; }
|
||||
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
|
||||
|
||||
.treeview .expandable-hitarea { background-position: -80px -3px; }
|
||||
|
||||
.treeview li.last { background-position: 0 -1766px }
|
||||
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: url(images/treeview-default.gif); }
|
||||
.treeview li.lastCollapsable { background-position: 0 -111px }
|
||||
.treeview li.lastExpandable { background-position: -32px -67px }
|
||||
|
||||
.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; }
|
||||
|
||||
.treeview-red li { background-image: url(images/treeview-red-line.gif); }
|
||||
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(images/treeview-red.gif); }
|
||||
|
||||
.treeview-black li { background-image: url(images/treeview-black-line.gif); }
|
||||
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(images/treeview-black.gif); }
|
||||
|
||||
.treeview-gray li { background-image: url(images/treeview-gray-line.gif); }
|
||||
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(images/treeview-gray.gif); }
|
||||
|
||||
.treeview-famfamfam li { background-image: url(images/treeview-famfamfam-line.gif); }
|
||||
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(images/treeview-famfamfam.gif); }
|
||||
|
||||
|
||||
.filetree li { padding: 3px 0 2px 16px; }
|
||||
.filetree span.folder, .filetree span.file { padding: 1px 0 1px 16px; display: block; }
|
||||
.filetree span.folder { background: url(images/folder.gif) 0 0 no-repeat; }
|
||||
.filetree li.expandable span.folder { background: url(images/folder-closed.gif) 0 0 no-repeat; }
|
||||
.filetree span.file { background: url(images/file.gif) 0 0 no-repeat; }
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
/*
|
||||
* Treeview 1.4 - jQuery plugin to hide and show branches of a tree
|
||||
*
|
||||
* http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
|
||||
* http://docs.jquery.com/Plugins/Treeview
|
||||
*
|
||||
* Copyright (c) 2007 Jörn Zaefferer
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* Revision: $Id: jquery.treeview.js 4684 2008-02-07 19:08:06Z joern.zaefferer $
|
||||
*
|
||||
*/
|
||||
|
||||
;(function($) {
|
||||
|
||||
$.extend($.fn, {
|
||||
swapClass: function(c1, c2) {
|
||||
var c1Elements = this.filter('.' + c1);
|
||||
this.filter('.' + c2).removeClass(c2).addClass(c1);
|
||||
c1Elements.removeClass(c1).addClass(c2);
|
||||
return this;
|
||||
},
|
||||
replaceClass: function(c1, c2) {
|
||||
return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
|
||||
},
|
||||
hoverClass: function(className) {
|
||||
className = className || "hover";
|
||||
return this.hover(function() {
|
||||
$(this).addClass(className);
|
||||
}, function() {
|
||||
$(this).removeClass(className);
|
||||
});
|
||||
},
|
||||
heightToggle: function(animated, callback) {
|
||||
animated ?
|
||||
this.animate({ height: "toggle" }, animated, callback) :
|
||||
this.each(function(){
|
||||
jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
|
||||
if(callback)
|
||||
callback.apply(this, arguments);
|
||||
});
|
||||
},
|
||||
heightHide: function(animated, callback) {
|
||||
if (animated) {
|
||||
this.animate({ height: "hide" }, animated, callback);
|
||||
} else {
|
||||
this.hide();
|
||||
if (callback)
|
||||
this.each(callback);
|
||||
}
|
||||
},
|
||||
prepareBranches: function(settings) {
|
||||
if (!settings.prerendered) {
|
||||
// mark last tree items
|
||||
this.filter(":last-child:not(ul)").addClass(CLASSES.last);
|
||||
// collapse whole tree, or only those marked as closed, anyway except those marked as open
|
||||
this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
|
||||
}
|
||||
// return all items with sublists
|
||||
return this.filter(":has(>ul)");
|
||||
},
|
||||
applyClasses: function(settings, toggler) {
|
||||
this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event) {
|
||||
toggler.apply($(this).next());
|
||||
}).add( $("a", this) ).hoverClass();
|
||||
|
||||
if (!settings.prerendered) {
|
||||
// handle closed ones first
|
||||
this.filter(":has(>ul:hidden)")
|
||||
.addClass(CLASSES.expandable)
|
||||
.replaceClass(CLASSES.last, CLASSES.lastExpandable);
|
||||
|
||||
// handle open ones
|
||||
this.not(":has(>ul:hidden)")
|
||||
.addClass(CLASSES.collapsable)
|
||||
.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
|
||||
|
||||
// create hitarea
|
||||
this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea).each(function() {
|
||||
var classes = "";
|
||||
$.each($(this).parent().attr("class").split(" "), function() {
|
||||
classes += this + "-hitarea ";
|
||||
});
|
||||
$(this).addClass( classes );
|
||||
});
|
||||
}
|
||||
|
||||
// apply event to hitarea
|
||||
this.find("div." + CLASSES.hitarea).click( toggler );
|
||||
},
|
||||
treeview: function(settings) {
|
||||
|
||||
settings = $.extend({
|
||||
cookieId: "treeview"
|
||||
}, settings);
|
||||
|
||||
if (settings.add) {
|
||||
return this.trigger("add", [settings.add]);
|
||||
}
|
||||
|
||||
if ( settings.toggle ) {
|
||||
var callback = settings.toggle;
|
||||
settings.toggle = function() {
|
||||
return callback.apply($(this).parent()[0], arguments);
|
||||
};
|
||||
}
|
||||
|
||||
// factory for treecontroller
|
||||
function treeController(tree, control) {
|
||||
// factory for click handlers
|
||||
function handler(filter) {
|
||||
return function() {
|
||||
// reuse toggle event handler, applying the elements to toggle
|
||||
// start searching for all hitareas
|
||||
toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
|
||||
// for plain toggle, no filter is provided, otherwise we need to check the parent element
|
||||
return filter ? $(this).parent("." + filter).length : true;
|
||||
}) );
|
||||
return false;
|
||||
};
|
||||
}
|
||||
// click on first element to collapse tree
|
||||
$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
|
||||
// click on second to expand tree
|
||||
$("a:eq(1)", control).click( handler(CLASSES.expandable) );
|
||||
// click on third to toggle tree
|
||||
$("a:eq(2)", control).click( handler() );
|
||||
}
|
||||
|
||||
// handle toggle event
|
||||
function toggler() {
|
||||
$(this)
|
||||
.parent()
|
||||
// swap classes for hitarea
|
||||
.find(">.hitarea")
|
||||
.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
|
||||
.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
|
||||
.end()
|
||||
// swap classes for parent li
|
||||
.swapClass( CLASSES.collapsable, CLASSES.expandable )
|
||||
.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
|
||||
// find child lists
|
||||
.find( ">ul" )
|
||||
// toggle them
|
||||
.heightToggle( settings.animated, settings.toggle );
|
||||
if ( settings.unique ) {
|
||||
$(this).parent()
|
||||
.siblings()
|
||||
// swap classes for hitarea
|
||||
.find(">.hitarea")
|
||||
.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
|
||||
.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
|
||||
.end()
|
||||
.replaceClass( CLASSES.collapsable, CLASSES.expandable )
|
||||
.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
|
||||
.find( ">ul" )
|
||||
.heightHide( settings.animated, settings.toggle );
|
||||
}
|
||||
}
|
||||
|
||||
function serialize() {
|
||||
function binary(arg) {
|
||||
return arg ? 1 : 0;
|
||||
}
|
||||
var data = [];
|
||||
branches.each(function(i, e) {
|
||||
data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
|
||||
});
|
||||
$.cookie(settings.cookieId, data.join("") );
|
||||
}
|
||||
|
||||
function deserialize() {
|
||||
var stored = $.cookie(settings.cookieId);
|
||||
if ( stored ) {
|
||||
var data = stored.split("");
|
||||
branches.each(function(i, e) {
|
||||
$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// add treeview class to activate styles
|
||||
this.addClass("treeview");
|
||||
|
||||
// prepare branches and find all tree items with child lists
|
||||
var branches = this.find("li").prepareBranches(settings);
|
||||
|
||||
switch(settings.persist) {
|
||||
case "cookie":
|
||||
var toggleCallback = settings.toggle;
|
||||
settings.toggle = function() {
|
||||
serialize();
|
||||
if (toggleCallback) {
|
||||
toggleCallback.apply(this, arguments);
|
||||
}
|
||||
};
|
||||
deserialize();
|
||||
break;
|
||||
case "location":
|
||||
var current = this.find("a").filter(function() { return this.href.toLowerCase() == location.href.toLowerCase(); });
|
||||
if ( current.length ) {
|
||||
current.addClass("selected").parents("ul, li").add( current.next() ).show();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
branches.applyClasses(settings, toggler);
|
||||
|
||||
// if control option is set, create the treecontroller and show it
|
||||
if ( settings.control ) {
|
||||
treeController(this, settings.control);
|
||||
$(settings.control).show();
|
||||
}
|
||||
|
||||
return this.bind("add", function(event, branches) {
|
||||
$(branches).prev()
|
||||
.removeClass(CLASSES.last)
|
||||
.removeClass(CLASSES.lastCollapsable)
|
||||
.removeClass(CLASSES.lastExpandable)
|
||||
.find(">.hitarea")
|
||||
.removeClass(CLASSES.lastCollapsableHitarea)
|
||||
.removeClass(CLASSES.lastExpandableHitarea);
|
||||
$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// classes used by the plugin
|
||||
// need to be styled via external stylesheet, see first example
|
||||
var CLASSES = $.fn.treeview.classes = {
|
||||
open: "open",
|
||||
closed: "closed",
|
||||
expandable: "expandable",
|
||||
expandableHitarea: "expandable-hitarea",
|
||||
lastExpandableHitarea: "lastExpandable-hitarea",
|
||||
collapsable: "collapsable",
|
||||
collapsableHitarea: "collapsable-hitarea",
|
||||
lastCollapsableHitarea: "lastCollapsable-hitarea",
|
||||
lastCollapsable: "lastCollapsable",
|
||||
lastExpandable: "lastExpandable",
|
||||
last: "last",
|
||||
hitarea: "hitarea"
|
||||
};
|
||||
|
||||
// provide backwards compability
|
||||
$.fn.Treeview = $.fn.treeview;
|
||||
|
||||
})(jQuery);
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
html, body {height:100%; margin: 0; padding: 0; }
|
||||
|
||||
html>body {
|
||||
font-size: 16px;
|
||||
font-size: 68.75%;
|
||||
} /* Reset Base Font Size */
|
||||
|
||||
body {
|
||||
font-family: Verdana, helvetica, arial, sans-serif;
|
||||
font-size: 68.75%;
|
||||
background: #fff;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
|
||||
h1 { font-size: large }
|
||||
|
||||
#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
|
||||
background: url(bg.gif) repeat-x; text-align: center }
|
||||
#banner a { color: white; }
|
||||
|
||||
#main { padding: 1em; }
|
||||
|
||||
a img { border: none; }
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 49
|
||||
/svnroot/simplehtmldom/!svn/ver/169/trunk/example
|
||||
END
|
||||
example_extract_html.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 74
|
||||
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_extract_html.php
|
||||
END
|
||||
example_basic_selector.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 76
|
||||
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_basic_selector.php
|
||||
END
|
||||
example_modify_contents.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 77
|
||||
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_modify_contents.php
|
||||
END
|
||||
simple_html_dom_utility.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 77
|
||||
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/simple_html_dom_utility.php
|
||||
END
|
||||
example_advanced_selector.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 79
|
||||
/svnroot/simplehtmldom/!svn/ver/133/trunk/example/example_advanced_selector.php
|
||||
END
|
||||
example_callback.php
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 70
|
||||
/svnroot/simplehtmldom/!svn/ver/134/trunk/example/example_callback.php
|
||||
END
|
||||
|
|
@ -1,235 +0,0 @@
|
|||
10
|
||||
|
||||
dir
|
||||
182
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom/trunk/example
|
||||
https://simplehtmldom.svn.sourceforge.net/svnroot/simplehtmldom
|
||||
|
||||
|
||||
|
||||
2008-10-29T19:08:25.076520Z
|
||||
169
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
d0e60b4b-9046-0410-940c-b97530268c78
|
||||
|
||||
example_extract_html.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.948263Z
|
||||
5815bb5f7500b9a88ecc70a123893c1b
|
||||
2008-07-25T12:31:14.828880Z
|
||||
133
|
||||
me578022
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
110
|
||||
|
||||
example_basic_selector.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.951263Z
|
||||
217a2d96745c826e96d13c055e31638b
|
||||
2008-07-25T12:31:14.828880Z
|
||||
133
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
976
|
||||
|
||||
example_modify_contents.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.953263Z
|
||||
e6fcf41d1b2a1867b0314f80efe7eb9a
|
||||
2008-07-25T12:31:14.828880Z
|
||||
133
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
378
|
||||
|
||||
simple_html_dom_utility.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.955263Z
|
||||
3d75d01886f4fb7bc15a8f9a4b204428
|
||||
2008-07-25T12:31:14.828880Z
|
||||
133
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
927
|
||||
|
||||
scraping
|
||||
dir
|
||||
|
||||
example_advanced_selector.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.956263Z
|
||||
273077bc1a0c8945acc1f318b60d8476
|
||||
2008-07-25T12:31:14.828880Z
|
||||
133
|
||||
me578022
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1521
|
||||
|
||||
example_callback.php
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-08-17T19:13:52.964264Z
|
||||
0d52be96ec57b5b40efb8588898159e4
|
||||
2008-07-25T12:32:01.594191Z
|
||||
134
|
||||
me578022
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
604
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
K 13
|
||||
svn:eol-style
|
||||
V 6
|
||||
native
|
||||
K 12
|
||||
svn:keywords
|
||||
V 11
|
||||
Id Rev Date
|
||||
K 13
|
||||
svn:mime-type
|
||||
V 10
|
||||
text/x-php
|
||||
END
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
K 13
|
||||
svn:eol-style
|
||||
V 6
|
||||
native
|
||||
K 12
|
||||
svn:keywords
|
||||
V 11
|
||||
Id Rev Date
|
||||
K 13
|
||||
svn:mime-type
|
||||
V 10
|
||||
text/x-php
|
||||
END
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<?php
|
||||
// example of how to use advanced selector features
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// descendant selector
|
||||
$str = <<<HTML
|
||||
<div>
|
||||
<div>
|
||||
<div class="foo bar">ok</div>
|
||||
</div>
|
||||
</div>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
echo $html->find('div div div', 0)->innertext . '<br>'; // result: "ok"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// nested selector
|
||||
$str = <<<HTML
|
||||
<ul id="ul1">
|
||||
<li>item:<span>1</span></li>
|
||||
<li>item:<span>2</span></li>
|
||||
</ul>
|
||||
<ul id="ul2">
|
||||
<li>item:<span>3</span></li>
|
||||
<li>item:<span>4</span></li>
|
||||
</ul>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
foreach($html->find('ul') as $ul) {
|
||||
foreach($ul->find('li') as $li)
|
||||
echo $li->innertext . '<br>';
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// parsing checkbox
|
||||
$str = <<<HTML
|
||||
<form name="form1" method="post" action="">
|
||||
<input type="checkbox" name="checkbox1" value="checkbox1" checked>item1<br>
|
||||
<input type="checkbox" name="checkbox2" value="checkbox2">item2<br>
|
||||
<input type="checkbox" name="checkbox3" value="checkbox3" checked>item3<br>
|
||||
</form>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
foreach($html->find('input[type=checkbox]') as $checkbox) {
|
||||
if ($checkbox->checked)
|
||||
echo $checkbox->name . ' is checked<br>';
|
||||
else
|
||||
echo $checkbox->name . ' is not checked<br>';
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
<?php
|
||||
// example of how to use basic selector to retrieve HTML contents
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// get DOM from URL or file
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
// find all link
|
||||
foreach($html->find('a') as $e)
|
||||
echo $e->href . '<br>';
|
||||
|
||||
// find all image
|
||||
foreach($html->find('img') as $e)
|
||||
echo $e->src . '<br>';
|
||||
|
||||
// find all image with full tag
|
||||
foreach($html->find('img') as $e)
|
||||
echo $e->outertext . '<br>';
|
||||
|
||||
// find all div tags with id=gbar
|
||||
foreach($html->find('div#gbar') as $e)
|
||||
echo $e->innertext . '<br>';
|
||||
|
||||
// find all span tags with class=gb1
|
||||
foreach($html->find('span.gb1') as $e)
|
||||
echo $e->outertext . '<br>';
|
||||
|
||||
// find all td tags with attribite align=center
|
||||
foreach($html->find('td[align=center]') as $e)
|
||||
echo $e->innertext . '<br>';
|
||||
|
||||
// extract text from table
|
||||
echo $html->find('td[align="center"]', 1)->plaintext.'<br><hr>';
|
||||
|
||||
// extract text from HTML
|
||||
echo $html->plaintext;
|
||||
?>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<?php
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
|
||||
// 1. Write a function with parameter "$element"
|
||||
function my_callback($element) {
|
||||
if ($element->tag=='input')
|
||||
$element->outertext = 'input';
|
||||
|
||||
if ($element->tag=='img')
|
||||
$element->outertext = 'img';
|
||||
|
||||
if ($element->tag=='a')
|
||||
$element->outertext = 'a';
|
||||
}
|
||||
|
||||
|
||||
// 2. create HTML Dom
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
|
||||
// 3. Register the callback function with it's function name
|
||||
$html->set_callback('my_callback');
|
||||
|
||||
|
||||
// 4. Callback function will be invoked while dumping
|
||||
echo $html;
|
||||
?>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?php
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
echo file_get_html('http://www.google.com/')->plaintext;
|
||||
?>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
// example of how to modify HTML contents
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// get DOM from URL or file
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
// remove all image
|
||||
foreach($html->find('img') as $e)
|
||||
$e->outertext = '';
|
||||
|
||||
// replace all input
|
||||
foreach($html->find('input') as $e)
|
||||
$e->outertext = '[INPUT]';
|
||||
|
||||
// dump contents
|
||||
echo $html;
|
||||
?>
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
<?php
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// remove HTML comments
|
||||
function html_no_comment($url) {
|
||||
// create HTML DOM
|
||||
$html = file_get_html($url);
|
||||
|
||||
// remove all comment elements
|
||||
foreach($html->find('comment') as $e)
|
||||
$e->outertext = '';
|
||||
|
||||
$ret = $html->save();
|
||||
|
||||
// clean up memory
|
||||
$html->clear();
|
||||
unset($html);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// search elements that contains an specific text
|
||||
function find_contains($html, $selector, $keyword, $index=-1) {
|
||||
$ret = array();
|
||||
foreach ($html->find($selector) as $e) {
|
||||
if (strpos($e->innertext, $keyword)!==false)
|
||||
$ret[] = $e;
|
||||
}
|
||||
|
||||
if ($index<0) return $ret;
|
||||
return (isset($ret[$index])) ? $ret[$index] : null;
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<?php
|
||||
// example of how to use advanced selector features
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// descendant selector
|
||||
$str = <<<HTML
|
||||
<div>
|
||||
<div>
|
||||
<div class="foo bar">ok</div>
|
||||
</div>
|
||||
</div>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
echo $html->find('div div div', 0)->innertext . '<br>'; // result: "ok"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// nested selector
|
||||
$str = <<<HTML
|
||||
<ul id="ul1">
|
||||
<li>item:<span>1</span></li>
|
||||
<li>item:<span>2</span></li>
|
||||
</ul>
|
||||
<ul id="ul2">
|
||||
<li>item:<span>3</span></li>
|
||||
<li>item:<span>4</span></li>
|
||||
</ul>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
foreach($html->find('ul') as $ul) {
|
||||
foreach($ul->find('li') as $li)
|
||||
echo $li->innertext . '<br>';
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// parsing checkbox
|
||||
$str = <<<HTML
|
||||
<form name="form1" method="post" action="">
|
||||
<input type="checkbox" name="checkbox1" value="checkbox1" checked>item1<br>
|
||||
<input type="checkbox" name="checkbox2" value="checkbox2">item2<br>
|
||||
<input type="checkbox" name="checkbox3" value="checkbox3" checked>item3<br>
|
||||
</form>
|
||||
HTML;
|
||||
|
||||
$html = str_get_html($str);
|
||||
foreach($html->find('input[type=checkbox]') as $checkbox) {
|
||||
if ($checkbox->checked)
|
||||
echo $checkbox->name . ' is checked<br>';
|
||||
else
|
||||
echo $checkbox->name . ' is not checked<br>';
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
<?php
|
||||
// example of how to use basic selector to retrieve HTML contents
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// get DOM from URL or file
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
// find all link
|
||||
foreach($html->find('a') as $e)
|
||||
echo $e->href . '<br>';
|
||||
|
||||
// find all image
|
||||
foreach($html->find('img') as $e)
|
||||
echo $e->src . '<br>';
|
||||
|
||||
// find all image with full tag
|
||||
foreach($html->find('img') as $e)
|
||||
echo $e->outertext . '<br>';
|
||||
|
||||
// find all div tags with id=gbar
|
||||
foreach($html->find('div#gbar') as $e)
|
||||
echo $e->innertext . '<br>';
|
||||
|
||||
// find all span tags with class=gb1
|
||||
foreach($html->find('span.gb1') as $e)
|
||||
echo $e->outertext . '<br>';
|
||||
|
||||
// find all td tags with attribite align=center
|
||||
foreach($html->find('td[align=center]') as $e)
|
||||
echo $e->innertext . '<br>';
|
||||
|
||||
// extract text from table
|
||||
echo $html->find('td[align="center"]', 1)->plaintext.'<br><hr>';
|
||||
|
||||
// extract text from HTML
|
||||
echo $html->plaintext;
|
||||
?>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<?php
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
|
||||
// 1. Write a function with parameter "$element"
|
||||
function my_callback($element) {
|
||||
if ($element->tag=='input')
|
||||
$element->outertext = 'input';
|
||||
|
||||
if ($element->tag=='img')
|
||||
$element->outertext = 'img';
|
||||
|
||||
if ($element->tag=='a')
|
||||
$element->outertext = 'a';
|
||||
}
|
||||
|
||||
|
||||
// 2. create HTML Dom
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
|
||||
// 3. Register the callback function with it's function name
|
||||
$html->set_callback('my_callback');
|
||||
|
||||
|
||||
// 4. Callback function will be invoked while dumping
|
||||
echo $html;
|
||||
?>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?php
|
||||
include_once('../simple_html_dom.php');
|
||||
|
||||
echo file_get_html('http://www.google.com/')->plaintext;
|
||||
?>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
// example of how to modify HTML contents
|
||||
include('../simple_html_dom.php');
|
||||
|
||||
// get DOM from URL or file
|
||||
$html = file_get_html('http://www.google.com/');
|
||||
|
||||
// remove all image
|
||||
foreach($html->find('img') as $e)
|
||||
$e->outertext = '';
|
||||
|
||||
// replace all input
|
||||
foreach($html->find('input') as $e)
|
||||
$e->outertext = '[INPUT]';
|
||||
|
||||
// dump contents
|
||||
echo $html;
|
||||
?>
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue