PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 1.1.2
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v1.1.2
4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / library / ostraining / embera / Lib / Embera / Url.php
embedpress / library / ostraining / embera / Lib / Embera Last commit date
Adapters 9 years ago Providers 9 years ago Autoload.php 9 years ago Embera.php 9 years ago FakeResponse.php 9 years ago Formatter.php 9 years ago HttpRequest.php 9 years ago Oembed.php 9 years ago Providers.php 9 years ago Url.php 9 years ago
Url.php
122 lines
1 <?php
2 /**
3 * Url.php
4 *
5 * @package Embera
6 * @author Michael Pratt <pratt@hablarmierda.net>
7 * @link http://www.michael-pratt.com/
8 *
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
11 */
12
13 namespace Embera;
14
15 /**
16 * This class is used to preform common/popular
17 * tasks into a url string
18 */
19 class Url
20 {
21 /** @var string The url */
22 protected $url;
23
24 /** @var string Placeholder for the original url */
25 protected $original;
26
27 /**
28 * Construct
29 *
30 * @param string $url A valid url string
31 * @return void
32 */
33 public function __construct($url) { $this->url = $this->original = preg_replace('~^embed:~i', 'http:', $url); }
34
35 /**
36 * Returns the full url when
37 * the object is casted into a string
38 *
39 * @return string
40 */
41 public function __toString() { return $this->url; }
42
43 /**
44 * Searches the url for a pattern $pattern.
45 * If the pattern matches, the url is marked as invalid
46 * and is emptied.
47 *
48 * @param string $pattern
49 * @return void
50 */
51 public function invalidPattern($pattern)
52 {
53 if (preg_match('~' . $pattern . '~i', $this->url))
54 $this->url = '';
55 }
56
57 /**
58 * Overwrites the value of $this->url with
59 * the given parameter.
60 *
61 * @param string $url
62 * @return void
63 */
64 public function overwrite($url) { $this->url = $url; }
65
66 /**
67 * Discards changes made to a url, and goes back to the original
68 * url.
69 *
70 * @return void
71 */
72 public function discardChanges() { $this->url = $this->original; }
73
74 /**
75 * Strips the query string from the url
76 *
77 * @return void
78 */
79 public function stripQueryString() { $this->url = preg_replace('~(\?|#)(.*)$~i', '', $this->url); }
80
81 /**
82 * Strips the / at the end of a url
83 *
84 * @return void
85 */
86 public function stripLastSlash() { $this->url = rtrim($this->url, '/'); }
87
88 /**
89 * Strips starting www from the url
90 *
91 * @return void
92 */
93 public function stripWWW() { $this->url = str_ireplace('://www.', '://', $this->url); }
94
95 /**
96 * Adds www. subdomain to the urls
97 *
98 * @return void
99 */
100 public function addWWW()
101 {
102 if (!preg_match('~^https?://www\.~i', $this->url))
103 $this->url = str_ireplace('://', '://www.', $this->url);
104 }
105
106 /**
107 * Replaces https protocol to http
108 *
109 * @return void
110 */
111 public function convertToHttp() { $this->url = str_ireplace('https://', 'http://', $this->url); }
112
113 /**
114 * Replaces http protocol to https
115 *
116 * @return void
117 */
118 public function convertToHttps() { $this->url = str_ireplace('http://', 'https://', $this->url); }
119 }
120
121 ?>
122