You are here

trait CookieTrait in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/jcalderonzumba/mink-phantomjs-driver/src/CookieTrait.php \Zumba\Mink\Driver\CookieTrait

Trait CookieTrait @package Zumba\Mink\Driver

Hierarchy

File

vendor/jcalderonzumba/mink-phantomjs-driver/src/CookieTrait.php, line 11

Namespace

Zumba\Mink\Driver
View source
trait CookieTrait {

  /**
   * Sets a cookie on the browser, if null value then delete it
   * @param string $name
   * @param string $value
   */
  public function setCookie($name, $value = null) {
    if ($value === null) {
      $this->browser
        ->removeCookie($name);
    }

    //TODO: set the cookie with domain, not with url, meaning www.aaa.com or .aaa.com
    if ($value !== null) {
      $urlData = parse_url($this
        ->getCurrentUrl());
      $cookie = array(
        "name" => $name,
        "value" => $value,
        "domain" => $urlData["host"],
      );
      $this->browser
        ->setCookie($cookie);
    }
  }

  /**
   * Gets a cookie by its name if exists, else it will return null
   * @param string $name
   * @return string
   */
  public function getCookie($name) {
    $cookies = $this->browser
      ->cookies();
    foreach ($cookies as $cookie) {
      if ($cookie instanceof Cookie && strcmp($cookie
        ->getName(), $name) === 0) {
        return $cookie
          ->getValue();
      }
    }
    return null;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CookieTrait::getCookie public function Gets a cookie by its name if exists, else it will return null
CookieTrait::setCookie public function Sets a cookie on the browser, if null value then delete it