Automatic tests fails (cookies)
Permalink
Hi,
We just submitted our first add-ons to the marketplace.
In our add-on we use cookies. We use the setcookie() for writing the cookie and $_COOKIE[] for retrieval.
We created 2 functions to get and set the cookie, because we need to create the cookie value. The functions are called _getCookie() and _setCookie(). Is this why the automatic tests fails?
Thanx!
4Concrete5
We just submitted our first add-ons to the marketplace.
In our add-on we use cookies. We use the setcookie() for writing the cookie and $_COOKIE[] for retrieval.
We created 2 functions to get and set the cookie, because we need to create the cookie value. The functions are called _getCookie() and _setCookie(). Is this why the automatic tests fails?
Thanx!
4Concrete5
$cookie->eat(ALL);
I haven't used concrete5's cookie helper yet, but this might be helpful.
http://www.concrete5.org/api/class-Concrete.Core.Cookie.Cookie.html...
http://www.concrete5.org/api/class-Concrete.Core.Cookie.Cookie.html...
Hello, I've problem with my plugin because I want to use cookie but I cannot get cookie. Way to solve this problem shows SneflT in his post but it doesn't work. Error is: "Class cookie does not exist". How can I import valid class and which one to my code ?
My second question is:
how can I use $_SESSION variable? How can I set and get $_SESSION variable? I cannot find clearly answer in concrete5 documentation. Regards,
My second question is:
how can I use $_SESSION variable? How can I set and get $_SESSION variable? I cannot find clearly answer in concrete5 documentation. Regards,
Well,
should work. ;)
For sessions, I think:
\Core::make('cookie')
should work. ;)
For sessions, I think:
$session = \Core::make('session'); $session->has('blabla'); $session->get('blabla'); $session->set('blabla', 'foofoo);
Thanks, with session it's works perfectly!
but i have still problem with cookies... please see on my code. I try in this way:
public function getPackage()
{
$ch = \Core::make('cookie');
$cookie = $ch->get('my_cookie');
print_R($cookie);
exit;
if (!$this->package) {
$this->package = \Package::getByHandle('chatwee');
}
return $this->package;
}
I get this error (see attachment)
but i have still problem with cookies... please see on my code. I try in this way:
public function getPackage()
{
$ch = \Core::make('cookie');
$cookie = $ch->get('my_cookie');
print_R($cookie);
exit;
if (!$this->package) {
$this->package = \Package::getByHandle('chatwee');
}
return $this->package;
}
I get this error (see attachment)
Well first of all, you want to activate debug output to get more details here.
Can anyone help me?
Thanks,
Thanks,
What C5 version are you using?
As seen on screen I use concrete ver. 5.7.2,
I have still problem with Cookie Class.
I have still problem with Cookie Class.
No more questions :) I've just resolved my problem with Cookies.
problem was found with a typo. Please look on this:
$session = \Core::make('session');
$session->get("my_session"); // value of my_session
$session = \Core::make('cookie');
$session->get("my_cookie"); // error !!
It is very weird. How to resolve it?
$this->cookies = \Core::make('Cookie');
$session->get("my_cookie"); // value of my_cookie
Small difference but very significant. Thanks for reply!
problem was found with a typo. Please look on this:
$session = \Core::make('session');
$session->get("my_session"); // value of my_session
$session = \Core::make('cookie');
$session->get("my_cookie"); // error !!
It is very weird. How to resolve it?
$this->cookies = \Core::make('Cookie');
$session->get("my_cookie"); // value of my_cookie
Small difference but very significant. Thanks for reply!
No more questions :) I've just resolved my problem with Cookies.
problem was found with a typo. Please look on this:
$session = \Core::make('session');
$session->get("my_session"); // value of my_session
$session = \Core::make('cookie');
$session->get("my_cookie"); // error !!
It is very weird. How to resolve it?
$this->cookies = \Core::make('Cookie');
$session->get("my_cookie"); // value of my_cookie
Small difference but very significant. Thanks for reply!
problem was found with a typo. Please look on this:
$session = \Core::make('session');
$session->get("my_session"); // value of my_session
$session = \Core::make('cookie');
$session->get("my_cookie"); // error !!
It is very weird. How to resolve it?
$this->cookies = \Core::make('Cookie');
$session->get("my_cookie"); // value of my_cookie
Small difference but very significant. Thanks for reply!
I have one question, how to set cookie?
I try on this way:
$sessionId ="43JFA2NCZA1";
$CookieDomain = ".concrete.org"; //for example
$cookies = \Core::make('Cookie');
$cookies->set("chch-SI", $sessionId, time() + 2592000, "/", $CookieDomain);
but this doesn't work
I try on this way:
$sessionId ="43JFA2NCZA1";
$CookieDomain = ".concrete.org"; //for example
$cookies = \Core::make('Cookie');
$cookies->set("chch-SI", $sessionId, time() + 2592000, "/", $CookieDomain);
but this doesn't work
anyone can help me? What Am I doing right now to done this plugin? It's just finish.. please guys...
Is your domain parameter set correctly?
Here's a piece of code (working) from a plugin that I made (and use).
Baking cookie:
Eating cookie:
You should use "\Core::make('cookie');" (lowercase cookie). You can see it in here:
(notice the 'cookie' in the register function).
Here's a piece of code (working) from a plugin that I made (and use).
Baking cookie:
// Json encode data. $data = Json::encode($data); // Cookie vars. $ttl = time() + (60 * 60 * 24); // just a timestamp in real app! $path = '/'; $domain = $_SERVER['HTTP_HOST']; // Get cookie 'helper'. $ch = \Core::make('cookie'); // Set cookie. $ch->set('my_recipe', $data, $ttl, $path, $domain);
Eating cookie:
// Cookie 'helper'. $ch = \Core::make('cookie'); // Get cookie. $cookie = $ch->get('my_recipe');
You should use "\Core::make('cookie');" (lowercase cookie). You can see it in here:
(notice the 'cookie' in the register function).
namespace Concrete\Core\Cookie; use Concrete\Core\Foundation\Service\Provider as ServiceProvider; class CookieServiceProvider extends ServiceProvider { public function register() { $this->app->singleton( 'cookie', '\Concrete\Core\Cookie\CookieJar' ); } }
Use the concrete5 way to get/set cookies.
Something like:
[code]
$ch = \Core::make('cookie');
$cookie = $ch->get('my_cookie');
[\code]