{"id":29,"date":"2013-10-01T21:21:51","date_gmt":"2013-10-01T18:21:51","guid":{"rendered":"http:\/\/antyat.ru\/?p=29"},"modified":"2013-10-01T21:23:19","modified_gmt":"2013-10-01T18:23:19","slug":"%d0%ba%d0%b0%d0%ba-%d0%b7%d0%b0%d1%81%d1%82%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82-%d0%bd%d0%b0-cakephp-%d1%81-%d0%b0%d0%b2","status":"publish","type":"post","link":"http:\/\/antyat.ru\/?p=29","title":{"rendered":"\u041a\u0430\u043a \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 CakePHP \u0441 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432 \u0434\u043e\u043c\u0435\u043d\u0435"},"content":{"rendered":"<p>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c:<\/p>\n<ol>\n<li>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 CakePHP \u0441 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Authake (CakePHP 2.8 Authake Authake plugin version 2.2.3) + Windows 2008 R2 + IIS \u0441\u0435\u0440\u0432\u0435\u0440<\/li>\n<li>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c IIS: \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0430\u0439\u0442\u0430 \u0432 \u0438\u043a\u043e\u043d\u043a\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0446\u0438\u044e \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438<\/li>\n<li>\u0418\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 UserController.php \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Authake \u043c\u0435\u0442\u043e\u0434 login ( ):<br \/>\n\u0427\u0442\u043e \u0431\u044b\u043b\u043e<\/li>\n<\/ol>\n<pre>\t\r\n\t\/** ******************************************************************\r\n\t* Login functionality\r\n\t*******************************************************************\/\r\n\tfunction login($Authake = null){\r\n\r\n\t\tif(!isset($this-&gt;Authake))\r\n\t\t{\r\n\t\t\t$this-&gt;Authake = $Authake;\r\n\t\t\tif ($this-&gt;Authake-&gt;isLogged())\r\n\t\t\t{\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\r\n\t\t\t\t$this-&gt;Session-&gt;setFlash(__('You are already logged in!'), 'info', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\t$this-&gt;redirect(Configure::read('Authake.loggedAction'));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('You are already logged in!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0435\u0437 !\r\n\t\tif (empty($this-&gt;request-&gt;data) ) \r\n\r\n\t\t\/\/ \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438\t\r\n\t\t\/\/if (!empty($this-&gt;request-&gt;data) )\t\t\r\n\t\t{\r\n\t\t\t\/\/$login = $this-&gt;request-&gt;data['User']['login'];\r\n\t\t\t$login = iconv('Windows-1251', 'UTF-8',  $_SERVER[\"AUTH_USER\"]);\r\n\t\t\t\/\/$password = $this-&gt;request-&gt;data['User']['password'];\r\n\t\t\t$password = iconv('Windows-1251', 'UTF-8',  $_SERVER[\"AUTH_PASSWORD\"]);\r\n\t\t\tif (Configure::read('Authake.useEmailAsUsername') == false)\r\n\t\t\t{\r\n\t\t\t\t$user = $this-&gt;User-&gt;findByLogin($login);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t$user = $this-&gt;User-&gt;findByEmail($login);\r\n\t\t\t}\r\n\r\n\t\t\tif (empty($user))\r\n\t\t\t{\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t$this-&gt;Session-&gt;setFlash(__('Invalid login or password!'), 'error', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('Invalid login or password!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ check for locked account\r\n\r\n\t\t\tif ($user['User']['id'] != 1 and $user['User']['disable'])\r\n\t\t\t{\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t\t$this-&gt;Session-&gt;setFlash(__('Your account is disabled!'), 'error', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\t\t$this-&gt;redirect('\/');\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('Your account is disabled!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ check for expired account\r\n\t\t\t$exp = $user['User']['expire_account'];\r\n\r\n\t\t\tif ($user['User']['id'] != 1 and $exp != '0000-00-00' and $exp != null and strtotime($exp) &lt; time()) \t\t\t{ \t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t\t$this-&gt;Session-&gt;setFlash(__('Your account has expired!'), 'error', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\t\t$this-&gt;redirect('\/');\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('Your account has expired!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ check for not confirmed email\r\n\r\n\t\t\tif ($user['User']['emailcheckcode'] != '')\r\n\t\t\t{\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t\t$this-&gt;Session-&gt;setFlash(__('You registration has not been confirmed!'), 'warning', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\t\t$this-&gt;redirect(array('action'=&gt;'verify'));\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('You registration has not been confirmed!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$userdata = $this-&gt;User-&gt;getLoginData($login, $password);\r\n\r\n\t\t\tif (empty($userdata))\r\n\t\t\t{\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t$this-&gt;Session-&gt;setFlash(__('Invalid login or password!'), 'error', array('plugin' =&gt; 'Authake'));\r\n\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn __('Invalid login or password!');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif ($user['User']['passwordchangecode'] != '')\r\n\t\t\t\t{\/\/clear password change code (if there is any)\r\n\t\t\t\t\t$this-&gt;User-&gt;unbindModel(array('hasAndBelongsToMany'=&gt;array('Group')), false);\r\n\t\t\t\t\t$user['User']['passwordchangecode'] = '';\r\n\t\t\t\t\t$this-&gt;User-&gt;save($user);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$this-&gt;Authake-&gt;login($userdata['User']);\r\n\r\n\/* \t\t\t\tdebug($userdata);\r\n\t\t\t\tdie(); *\/\r\n\r\n\t\t\t\t\/\/ \u0434\u043b\u044f \u0434\u043e\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u0447\u0435\u043c\u0443\r\n\t\t\t\t\/\/if(isset($this-&gt;request-&gt;data['requester']))\r\n\r\n\t\t\t\t\/\/ \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438\r\n\t\t\t\tif(!isset($this-&gt;request-&gt;data['requester']))\r\n\t\t\t\t{\r\n\t\t\t\t\t\/** *************************************************************************\r\n\t\t\t\t\t *  \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u043b\u044f \u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u043e\u0432\r\n\t\t\t\t\t ** ************************************************************************\/\r\n\r\n\t\t\t\t\t$this-&gt;Session-&gt;setFlash(__('You are logged in as ').$userdata['User']['login'], 'success' , array('plugin'=&gt;'authake'));\r\n\r\n\t\t\t\t\t\/\/ \u0438\u0449\u0435\u043c \u043b\u043e\u0433\u0438\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0431\u0430\u0437\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 authake \u043b\u043e\u0433\u0438\u043d \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\r\n\t\t\t\t\t$username = $this-&gt;User-&gt;find('first', array('conditions' =&gt; array('User.id' =&gt; $userdata['User']['id'])));\r\n\t\t\t\t\t$userlogin = $username['User']['login'];\r\n\r\n\t\t\t\t\t\/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u043a \u043a\u0430\u043a\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\r\n\t\t\t\t\t$groups = $userdata['User']['group_names'];\r\n\t\t\t\t\t$session_groups = '';\r\n\t\t\t\t\tforeach ($groups as $group):\r\n\t\t\t\t\t$session_groups .= $group.' ';\r\n\t\t\t\t\tendforeach;\r\n\r\n\t\t\t\t\t\/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u043b\u044f \u0432\u0435\u0434\u0435\u043d\u0438\u044f Userlog\r\n\r\n\t\t\t\t\t$newUserlogsSettings = $userlogin.'|'.$session_groups;\r\n\t\t\t\t\t$this-&gt;Session-&gt;write('UserlogsSettings', $newUserlogsSettings);\r\n\r\n\t\t\t\t\tif (($next = $this-&gt;Authake-&gt;getPreviousUrl()) !== null)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$this-&gt;redirect($next);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$this-&gt;redirect(Configure::read('Authake.loggedAction'));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0427\u0442\u043e \u0438\u043c\u0435\u0435\u043c: \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 CakePHP \u0441 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Authake (CakePHP 2.8 Authake Authake plugin version 2.2.3) + Windows 2008 R2 + IIS \u0441\u0435\u0440\u0432\u0435\u0440 \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c IIS: \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0430\u0439\u0442\u0430 \u0432 \u0438\u043a\u043e\u043d\u043a\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0446\u0438\u044e \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0418\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 UserController.php \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Authake \u043c\u0435\u0442\u043e\u0434 login ( ): \u0427\u0442\u043e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-29","post","type-post","status-publish","format-standard","hentry","category-1"],"_links":{"self":[{"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/antyat.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":7,"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":37,"href":"http:\/\/antyat.ru\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions\/37"}],"wp:attachment":[{"href":"http:\/\/antyat.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/antyat.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/antyat.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}