Version Notes
Minor bug fixes
Download this release
Release Info
| Developer | Daniel Deady |
| Extension | Clockworkgeek_Rememberme |
| Version | 0.5.2 |
| Comparing to | |
| See all releases | |
Code changes from version 0.5.0 to 0.5.2
- app/code/community/Clockworkgeek/Rememberme/Model/Cookie.php +24 -44
- app/code/community/Clockworkgeek/Rememberme/Model/Observer.php +57 -0
- app/code/community/Clockworkgeek/Rememberme/etc/config.xml +14 -2
- app/design/frontend/rwd/default/template/rememberme/checkbox.phtml +29 -0
- package.xml +9 -9
- var/connect/Clockworkgeek_Rememberme.xml +115 -0
app/code/community/Clockworkgeek/Rememberme/Model/Cookie.php
CHANGED
|
@@ -18,48 +18,28 @@
|
|
| 18 |
class Clockworkgeek_Rememberme_Model_Cookie extends Mage_Core_Model_Cookie
|
| 19 |
{
|
| 20 |
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
/**
|
| 46 |
-
* Add our flag on login
|
| 47 |
-
*/
|
| 48 |
-
public function setSessionRemembrance()
|
| 49 |
-
{
|
| 50 |
-
if (isset($_SESSION) && !isset($_SESSION['rememberme'])) {
|
| 51 |
-
$login = Mage::app()->getRequest()->getPost('login');
|
| 52 |
-
$_SESSION['rememberme'] = isset($login['rememberme']) && $login['rememberme'];
|
| 53 |
-
}
|
| 54 |
-
}
|
| 55 |
-
|
| 56 |
-
/**
|
| 57 |
-
* Remove our flag on logout
|
| 58 |
-
*/
|
| 59 |
-
public function unsetSessionRemembrance()
|
| 60 |
-
{
|
| 61 |
-
if (isset($_SESSION['rememberme'])) unset($_SESSION['rememberme']);
|
| 62 |
-
}
|
| 63 |
-
|
| 64 |
}
|
| 65 |
-
|
| 18 |
class Clockworkgeek_Rememberme_Model_Cookie extends Mage_Core_Model_Cookie
|
| 19 |
{
|
| 20 |
|
| 21 |
+
/**
|
| 22 |
+
* Set cookie
|
| 23 |
+
* Override period if asked to
|
| 24 |
+
*
|
| 25 |
+
* @param string $name The cookie name
|
| 26 |
+
* @param string $value The cookie value
|
| 27 |
+
* @param int $period Lifetime period
|
| 28 |
+
* @param string $path
|
| 29 |
+
* @param string $domain
|
| 30 |
+
* @param int|bool $secure
|
| 31 |
+
* @return Mage_Core_Model_Cookie
|
| 32 |
+
*/
|
| 33 |
+
public function set($name, $value, $period = null, $path = null, $domain = null, $secure = null, $httponly = null)
|
| 34 |
+
{
|
| 35 |
+
if (is_null($period)) {
|
| 36 |
+
// use $_SESSION directly as session classes may not be initialised yet
|
| 37 |
+
$session = (bool) @$_SESSION['rememberme'];
|
| 38 |
+
$login = Mage::app()->getRequest()->getPost('login');
|
| 39 |
+
$rememberme = (bool) @$login['rememberme'];
|
| 40 |
+
if ($session || $rememberme)
|
| 41 |
+
$period = true; // true = one year
|
| 42 |
+
}
|
| 43 |
+
return parent::set($name, $value, $period, $path, $domain, $secure, $httponly);
|
| 44 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
}
|
|
|
app/code/community/Clockworkgeek/Rememberme/Model/Observer.php
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* NOTICE OF LICENSE
|
| 4 |
+
*
|
| 5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 6 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 7 |
+
* It is also available through the world-wide-web at this URL:
|
| 8 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 9 |
+
*
|
| 10 |
+
*
|
| 11 |
+
* @category Customer
|
| 12 |
+
* @package Clockworkgeek_Rememberme
|
| 13 |
+
* @author Daniel Deady <daniel@clockworkgeek.com>
|
| 14 |
+
* @copyright Copyright (c) 2015, Daniel Deady
|
| 15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 16 |
+
*/
|
| 17 |
+
|
| 18 |
+
class Clockworkgeek_Rememberme_Model_Observer
|
| 19 |
+
{
|
| 20 |
+
|
| 21 |
+
/**
|
| 22 |
+
* Add our flag on login
|
| 23 |
+
*/
|
| 24 |
+
public function setSessionRemembrance()
|
| 25 |
+
{
|
| 26 |
+
if (isset($_SESSION) && ! isset($_SESSION['rememberme'])) {
|
| 27 |
+
$login = Mage::app()->getRequest()->getPost('login');
|
| 28 |
+
$_SESSION['rememberme'] = (bool)@$login['rememberme'];
|
| 29 |
+
}
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
/**
|
| 33 |
+
* Remove our flag on logout
|
| 34 |
+
*/
|
| 35 |
+
public function unsetSessionRemembrance()
|
| 36 |
+
{
|
| 37 |
+
if (isset($_SESSION['rememberme'])) {
|
| 38 |
+
unset($_SESSION['rememberme']);
|
| 39 |
+
}
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
/**
|
| 43 |
+
* Session is saved last, after page is output and sent.
|
| 44 |
+
* If saved in database then session has an individual expiry time.
|
| 45 |
+
*/
|
| 46 |
+
public function setSessionExpiry()
|
| 47 |
+
{
|
| 48 |
+
if (isset($_SESSION['rememberme']) && $_SESSION['rememberme']) {
|
| 49 |
+
/* @var $store Mage_Core_Model_Store */
|
| 50 |
+
$store = Mage::app()->getStore();
|
| 51 |
+
if (! $store->isAdmin()) {
|
| 52 |
+
// session expiry is taken from cookie lifetime
|
| 53 |
+
$store->setConfig('web/cookie/cookie_lifetime', 60 * 60 * 24 * 365);
|
| 54 |
+
}
|
| 55 |
+
}
|
| 56 |
+
}
|
| 57 |
+
}
|
app/code/community/Clockworkgeek/Rememberme/etc/config.xml
CHANGED
|
@@ -50,19 +50,31 @@
|
|
| 50 |
<customer_login>
|
| 51 |
<observers>
|
| 52 |
<clockworkgeek_rememberme>
|
| 53 |
-
<class>clockworkgeek_rememberme/
|
| 54 |
<method>setSessionRemembrance</method>
|
|
|
|
| 55 |
</clockworkgeek_rememberme>
|
| 56 |
</observers>
|
| 57 |
</customer_login>
|
| 58 |
<customer_logout>
|
| 59 |
<observers>
|
| 60 |
<clockworkgeek_rememberme>
|
| 61 |
-
<class>clockworkgeek_rememberme/
|
| 62 |
<method>unsetSessionRemembrance</method>
|
|
|
|
| 63 |
</clockworkgeek_rememberme>
|
| 64 |
</observers>
|
| 65 |
</customer_logout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
</events>
|
| 67 |
<translate>
|
| 68 |
<modules>
|
| 50 |
<customer_login>
|
| 51 |
<observers>
|
| 52 |
<clockworkgeek_rememberme>
|
| 53 |
+
<class>clockworkgeek_rememberme/observer</class>
|
| 54 |
<method>setSessionRemembrance</method>
|
| 55 |
+
<type>singleton</type>
|
| 56 |
</clockworkgeek_rememberme>
|
| 57 |
</observers>
|
| 58 |
</customer_login>
|
| 59 |
<customer_logout>
|
| 60 |
<observers>
|
| 61 |
<clockworkgeek_rememberme>
|
| 62 |
+
<class>clockworkgeek_rememberme/observer</class>
|
| 63 |
<method>unsetSessionRemembrance</method>
|
| 64 |
+
<type>singleton</type>
|
| 65 |
</clockworkgeek_rememberme>
|
| 66 |
</observers>
|
| 67 |
</customer_logout>
|
| 68 |
+
<controller_front_send_response_after>
|
| 69 |
+
<!-- Last possible event -->
|
| 70 |
+
<observers>
|
| 71 |
+
<clockworkgeek_rememberme>
|
| 72 |
+
<class>clockworkgeek_rememberme/observer</class>
|
| 73 |
+
<method>setSessionExpiry</method>
|
| 74 |
+
<type>singleton</type>
|
| 75 |
+
</clockworkgeek_rememberme>
|
| 76 |
+
</observers>
|
| 77 |
+
</controller_front_send_response_after>
|
| 78 |
</events>
|
| 79 |
<translate>
|
| 80 |
<modules>
|
app/design/frontend/rwd/default/template/rememberme/checkbox.phtml
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
/**
|
| 3 |
+
* NOTICE OF LICENSE
|
| 4 |
+
*
|
| 5 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
| 6 |
+
* that is bundled with this package in the file LICENSE.txt.
|
| 7 |
+
* It is also available through the world-wide-web at this URL:
|
| 8 |
+
* http://opensource.org/licenses/osl-3.0.php
|
| 9 |
+
*
|
| 10 |
+
*
|
| 11 |
+
* @category Customer
|
| 12 |
+
* @package Clockworkgeek_Rememberme
|
| 13 |
+
* @author Daniel Deady <daniel@clockworkgeek.com>
|
| 14 |
+
* @copyright Copyright (c) 2010, Daniel Deady
|
| 15 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
| 16 |
+
*/
|
| 17 |
+
/* @var $this Mage_Core_Block_Template */
|
| 18 |
+
?>
|
| 19 |
+
<li class="control">
|
| 20 |
+
<div class="input-box">
|
| 21 |
+
<input type="checkbox" name="login[rememberme]" class="checkbox left" id="rememberme" title="<?php echo $this->__('Remember me') ?>" <?php if (Mage::getStoreConfigFlag('customer/rememberme/checked')) echo 'checked="checked"'; ?>/>
|
| 22 |
+
</div>
|
| 23 |
+
<label for="rememberme" style="width: auto;">
|
| 24 |
+
<?php echo $this->__('Remember me on this computer') ?>
|
| 25 |
+
</label>
|
| 26 |
+
<?php if (Mage::getStoreConfigFlag('customer/rememberme/warning')): ?>
|
| 27 |
+
<p><strong><?php echo $this->__('Caution!') ?></strong> <?php echo $this->__('Anyone using this computer might be able to access your account if you check this box.') ?></p>
|
| 28 |
+
<?php endif; ?>
|
| 29 |
+
</li>
|
package.xml
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Clockworkgeek_Rememberme</name>
|
| 4 |
-
<version>0.5.
|
| 5 |
<stability>stable</stability>
|
| 6 |
-
<license
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
-
<summary>
|
| 10 |
-
<description
|
| 11 |
-
<notes>
|
| 12 |
-
<authors><author><name>
|
| 13 |
-
<date>
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magecommunity"><dir name="Clockworkgeek"><dir name="Loginformfallback"><dir name="etc"><file name="config.xml" hash="2578ddb7451310a1b36ee2be2d9fa1c2"/></dir></dir><dir name="Rememberme"><dir name="Model"><file name="Cookie.php" hash="
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Clockworkgeek_Rememberme</name>
|
| 4 |
+
<version>0.5.2</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
+
<license>OSL-3.0</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
+
<summary>Adds a 'remember me' option to Magento login forms.</summary>
|
| 10 |
+
<description/>
|
| 11 |
+
<notes>Minor bug fixes</notes>
|
| 12 |
+
<authors><author><name>Daniel Deady</name><user>daniel</user><email>daniel@clockworkgeek.com</email></author></authors>
|
| 13 |
+
<date>2015-02-27</date>
|
| 14 |
+
<time>12:19:48</time>
|
| 15 |
+
<contents><target name="magecommunity"><dir name="Clockworkgeek"><dir name="Loginformfallback"><dir name="etc"><file name="config.xml" hash="2578ddb7451310a1b36ee2be2d9fa1c2"/></dir></dir><dir name="Rememberme"><dir name="Model"><file name="Cookie.php" hash="8b152ed23b84a40f54aaa8316b8ee542"/><file name="Observer.php" hash="63780becb3380f56850efe1aca0b768e"/></dir><dir name="etc"><file name="config.xml" hash="789e8fe29f723fc542778902d34e277c"/><file name="system.xml" hash="7302348f852d9db069e3336a9c7f20ee"/></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="loginformfallback.xml" hash="a948aeb2b7ba695ae3ec8d63436547f1"/><file name="rememberme.xml" hash="83de2ac36de0175757669cde33414982"/></dir><dir name="template"><dir name="loginformfallback"><dir name="checkout"><file name="login.phtml" hash="84561620d67b8019b4eb86db259b4148"/></dir><dir name="customer"><file name="login.phtml" hash="779575f37b9f49fff8868c8cab284ac1"/></dir></dir><dir name="rememberme"><file name="checkbox.phtml" hash="2d4eb0c8b5455e435162d73ac40ab5be"/><dir name="form"><file name="mini.login.phtml" hash="0b239b0ece858335fa0708304e027217"/></dir></dir></dir></dir></dir><dir name="rwd"><dir name="default"><dir name="template"><dir name="rememberme"><file name="checkbox.phtml" hash="a8d81237d312626c02af7af023355b6f"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Clockworkgeek_Rememberme.xml" hash="4615cfb14e0d8f0296e8695e86bc7564"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Clockworkgeek_Rememberme.csv" hash="5346ff4284ea8a4a8f504d1668981e60"/></dir></target><target name="mageweb"><dir name="var"><dir name="connect"><file name="Clockworkgeek_Rememberme.xml" hash="8d9f51925f65b0492b3e032a5b6657a2"/></dir></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 18 |
</package>
|
var/connect/Clockworkgeek_Rememberme.xml
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<_>
|
| 2 |
+
<form_key>JhBQI0YXFA7AhpyD</form_key>
|
| 3 |
+
<name>Clockworkgeek_Rememberme</name>
|
| 4 |
+
<channel>community</channel>
|
| 5 |
+
<version_ids>
|
| 6 |
+
<version_ids>2</version_ids>
|
| 7 |
+
</version_ids>
|
| 8 |
+
<summary>Add a "remember me" option to login forms.</summary>
|
| 9 |
+
<description>Add a "remember me" option to login forms. Overrides default forms with those in "design/frontend/base/default/template/rememberme/".</description>
|
| 10 |
+
<license>OSL v3.0</license>
|
| 11 |
+
<license_uri>http://www.opensource.org/licenses/osl-3.0.php</license_uri>
|
| 12 |
+
<version>0.5.0</version>
|
| 13 |
+
<stability>stable</stability>
|
| 14 |
+
<notes>Improved compatibility with all versions and Mage_Captcha and Mage_Persistent modules.</notes>
|
| 15 |
+
<authors>
|
| 16 |
+
<name>
|
| 17 |
+
<name>clockworkgeek</name>
|
| 18 |
+
</name>
|
| 19 |
+
<user>
|
| 20 |
+
<user>nonproffessional</user>
|
| 21 |
+
</user>
|
| 22 |
+
<email>
|
| 23 |
+
<email>nonproffessional@clockworkgeek.com</email>
|
| 24 |
+
</email>
|
| 25 |
+
</authors>
|
| 26 |
+
<depends_php_min>5.2.0</depends_php_min>
|
| 27 |
+
<depends_php_max>6.0.0</depends_php_max>
|
| 28 |
+
<depends>
|
| 29 |
+
<package>
|
| 30 |
+
<name>
|
| 31 |
+
<name/>
|
| 32 |
+
</name>
|
| 33 |
+
<channel>
|
| 34 |
+
<channel/>
|
| 35 |
+
</channel>
|
| 36 |
+
<min>
|
| 37 |
+
<min/>
|
| 38 |
+
</min>
|
| 39 |
+
<max>
|
| 40 |
+
<max/>
|
| 41 |
+
</max>
|
| 42 |
+
<files>
|
| 43 |
+
<files> </files>
|
| 44 |
+
</files>
|
| 45 |
+
</package>
|
| 46 |
+
<extension>
|
| 47 |
+
<name>
|
| 48 |
+
<name>Core</name>
|
| 49 |
+
</name>
|
| 50 |
+
<min>
|
| 51 |
+
<min/>
|
| 52 |
+
</min>
|
| 53 |
+
<max>
|
| 54 |
+
<max/>
|
| 55 |
+
</max>
|
| 56 |
+
</extension>
|
| 57 |
+
</depends>
|
| 58 |
+
<contents>
|
| 59 |
+
<target>
|
| 60 |
+
<target>magelocal</target>
|
| 61 |
+
<target>magecommunity</target>
|
| 62 |
+
<target>magecommunity</target>
|
| 63 |
+
<target>magedesign</target>
|
| 64 |
+
<target>magedesign</target>
|
| 65 |
+
<target>magedesign</target>
|
| 66 |
+
<target>magedesign</target>
|
| 67 |
+
<target>mageetc</target>
|
| 68 |
+
<target>magelocale</target>
|
| 69 |
+
</target>
|
| 70 |
+
<path>
|
| 71 |
+
<path/>
|
| 72 |
+
<path>Clockworkgeek/Loginformfallback</path>
|
| 73 |
+
<path>Clockworkgeek/Rememberme</path>
|
| 74 |
+
<path>frontend/base/default/layout/loginformfallback.xml</path>
|
| 75 |
+
<path>frontend/base/default/layout/rememberme.xml</path>
|
| 76 |
+
<path>frontend/base/default/template/loginformfallback</path>
|
| 77 |
+
<path>frontend/base/default/template/rememberme</path>
|
| 78 |
+
<path>modules/Clockworkgeek_Rememberme.xml</path>
|
| 79 |
+
<path>en_US/Clockworkgeek_Rememberme.csv</path>
|
| 80 |
+
</path>
|
| 81 |
+
<type>
|
| 82 |
+
<type>file</type>
|
| 83 |
+
<type>dir</type>
|
| 84 |
+
<type>dir</type>
|
| 85 |
+
<type>file</type>
|
| 86 |
+
<type>file</type>
|
| 87 |
+
<type>dir</type>
|
| 88 |
+
<type>dir</type>
|
| 89 |
+
<type>file</type>
|
| 90 |
+
<type>file</type>
|
| 91 |
+
</type>
|
| 92 |
+
<include>
|
| 93 |
+
<include/>
|
| 94 |
+
<include/>
|
| 95 |
+
<include/>
|
| 96 |
+
<include/>
|
| 97 |
+
<include/>
|
| 98 |
+
<include/>
|
| 99 |
+
<include/>
|
| 100 |
+
<include/>
|
| 101 |
+
<include/>
|
| 102 |
+
</include>
|
| 103 |
+
<ignore>
|
| 104 |
+
<ignore/>
|
| 105 |
+
<ignore/>
|
| 106 |
+
<ignore/>
|
| 107 |
+
<ignore/>
|
| 108 |
+
<ignore/>
|
| 109 |
+
<ignore/>
|
| 110 |
+
<ignore/>
|
| 111 |
+
<ignore/>
|
| 112 |
+
<ignore/>
|
| 113 |
+
</ignore>
|
| 114 |
+
</contents>
|
| 115 |
+
</_>
|
