Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Zumba\GastonJS\Browser;
|
Chris@0
|
4
|
Chris@0
|
5 use Zumba\GastonJS\Cookie;
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Trait BrowserCookieTrait
|
Chris@0
|
9 * @package Zumba\GastonJS\Browser
|
Chris@0
|
10 */
|
Chris@0
|
11 trait BrowserCookieTrait {
|
Chris@0
|
12 /**
|
Chris@0
|
13 * Gets the cookies on the browser
|
Chris@0
|
14 *
|
Chris@0
|
15 * @return Cookie[]
|
Chris@0
|
16 */
|
Chris@0
|
17 public function cookies() {
|
Chris@0
|
18 $cookies = $this->command('cookies');
|
Chris@0
|
19 $objCookies = array();
|
Chris@0
|
20 foreach ($cookies as $cookie) {
|
Chris@0
|
21 $objCookies[$cookie["name"]] = new Cookie($cookie);
|
Chris@0
|
22 }
|
Chris@0
|
23 return $objCookies;
|
Chris@0
|
24 }
|
Chris@0
|
25
|
Chris@0
|
26 /**
|
Chris@0
|
27 * Sets a cookie on the browser, expires times is set in seconds
|
Chris@0
|
28 * @param $cookie
|
Chris@0
|
29 * @return mixed
|
Chris@0
|
30 */
|
Chris@0
|
31 public function setCookie($cookie) {
|
Chris@0
|
32 //TODO: add error control when the cookie array is not valid
|
Chris@0
|
33 if (isset($cookie["expires"])) {
|
Chris@0
|
34 $cookie["expires"] = intval($cookie["expires"]) * 1000;
|
Chris@0
|
35 }
|
Chris@0
|
36 $cookie['value'] = urlencode($cookie['value']);
|
Chris@0
|
37 return $this->command('set_cookie', $cookie);
|
Chris@0
|
38 }
|
Chris@0
|
39
|
Chris@0
|
40 /**
|
Chris@0
|
41 * Deletes a cookie on the browser if exists
|
Chris@0
|
42 * @param $cookieName
|
Chris@0
|
43 * @return bool
|
Chris@0
|
44 */
|
Chris@0
|
45 public function removeCookie($cookieName) {
|
Chris@0
|
46 return $this->command('remove_cookie', $cookieName);
|
Chris@0
|
47 }
|
Chris@0
|
48
|
Chris@0
|
49 /**
|
Chris@0
|
50 * Clear all the cookies
|
Chris@0
|
51 * @return bool
|
Chris@0
|
52 */
|
Chris@0
|
53 public function clearCookies() {
|
Chris@0
|
54 return $this->command('clear_cookies');
|
Chris@0
|
55 }
|
Chris@0
|
56
|
Chris@0
|
57 /**
|
Chris@0
|
58 * Enables or disables the cookies con phantomjs
|
Chris@0
|
59 * @param bool $enabled
|
Chris@0
|
60 * @return bool
|
Chris@0
|
61 */
|
Chris@0
|
62 public function cookiesEnabled($enabled = true) {
|
Chris@0
|
63 return $this->command('cookies_enabled', $enabled);
|
Chris@0
|
64 }
|
Chris@0
|
65 }
|