21 changed files with 617 additions and 260 deletions
			
			
		- 
					14app/controllers/AccountnextController.php
 - 
					9app/views/account.tpl
 - 
					12app/views/accountnext.tpl
 - 
					246app/widgets/Account/server-vcards.xml
 - 
					87app/widgets/AccountError/AccountError.php
 - 
					1app/widgets/AccountError/accounterror.tpl
 - 
					239app/widgets/AccountNext/AccountNext.php
 - 
					47app/widgets/AccountNext/_accountnext_form.tpl
 - 
					1app/widgets/AccountNext/accountnext.css
 - 
					1app/widgets/AccountNext/accountnext.js
 - 
					12app/widgets/AccountNext/accountnext.tpl
 - 
					1app/widgets/Login/Login.php
 - 
					6app/widgets/Login/login.js
 - 
					41app/widgets/Subscribe/Subscribe.php
 - 
					57app/widgets/Subscribe/img/star.svg
 - 
					40app/widgets/Subscribe/subscribe.css
 - 
					35app/widgets/Subscribe/subscribe.tpl
 - 
					7lib/XMPPtoForm.php
 - 
					3system/Route.php
 - 
					12themes/movim/css/forms.css
 - 
					6themes/movim/css/style.css
 
@ -0,0 +1,14 @@ | 
			
		|||||
 | 
				<?php | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				class AccountnextController extends BaseController { | 
			
		||||
 | 
				    function load() { | 
			
		||||
 | 
				        $this->session_only = false; | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function dispatch() { | 
			
		||||
 | 
				        $this->page->setTitle(t('%s - Account', APP_TITLE)); | 
			
		||||
 | 
				         | 
			
		||||
 | 
				        $this->page->menuAddLink(t('Home'), 'main'); | 
			
		||||
 | 
				        $this->page->menuAddLink(t('Account Creation'), 'account', true); | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -1,4 +1,11 @@ | 
			
		|||||
<?php /* -*- mode: html -*- */ | 
				<?php /* -*- mode: html -*- */ | 
			
		||||
?> | 
				?> | 
			
		||||
 | 
				<div id="main"> | 
			
		||||
 | 
				    <div id="left"> | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				    <div id="center"> | 
			
		||||
 | 
				        <?php $this->widget('Subscribe');?> | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				</div> | 
			
		||||
 | 
				
 | 
			
		||||
<?php $this->widget('Account');?> | 
				 | 
			
		||||
 | 
				<?php //$this->widget('Account');?> | 
			
		||||
@ -0,0 +1,12 @@ | 
			
		|||||
 | 
				<?php /* -*- mode: html -*- */ | 
			
		||||
 | 
				?> | 
			
		||||
 | 
				<div id="main"> | 
			
		||||
 | 
				    <div id="left"> | 
			
		||||
 | 
				        <?php $this->widget('AccountError');?> | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				    <div id="center"> | 
			
		||||
 | 
				        <?php $this->widget('AccountNext');?> | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				</div> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				<?php //$this->widget('Account');?> | 
			
		||||
@ -1,246 +0,0 @@ | 
			
		|||||
<vcards> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>movim.eu</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://movim.eu/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>The Movim XMPP service.</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:movim.eu</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2013</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>IE</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>CAcert</name> | 
				 | 
			
		||||
            <uri>http://www.cacert.org/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">Metronome</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:edhelas@movim.eu</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:53.06,-7.29</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>jappix.com</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://jappix.com/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>The Jappix XMPP service.</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:jappix.com</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2010</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>FR</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>CAcert</name> | 
				 | 
			
		||||
            <uri>http://www.cacert.org/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">Metronome</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:vanaryon@jappix.com</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:50.67,3.19</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>tigase.im</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://www.tigase.im/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>The public Tigase service. - Also supports IPv6!</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:tigase.im</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2010</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>EU</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>StartSSL</name> | 
				 | 
			
		||||
            <uri>http://www.startssl.com/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">Tigase</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:admin@im.flosoft.biz</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:50.69,3.19</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>lightwitch.org</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://www.lightwitch.org/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>LW.Org XMPP Public Service.</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration> | 
				 | 
			
		||||
            <uri>xmpp:lightwitch.org</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2009</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>USA</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca> | 
				 | 
			
		||||
            <name>StartSSL</name> | 
				 | 
			
		||||
            <uri>http://www.startssl.com/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name>Metronome</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:maranda@lightwitch.org</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:40.73,-74.17</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>jabber.me</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://www.jabber.me/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>Just Jabber Me! - Also supports IPv6!</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:jabber.me</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2010</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>EU</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>StartSSL</name> | 
				 | 
			
		||||
            <uri>http://www.startssl.com/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">Tigase</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:admin@im.flosoft.biz</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:50.69,3.19</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>sure.im</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://www.sure.im/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>Just Sure Im! - Also supports IPv6!</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:sure.im</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2010</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>EU</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>StartSSL</name> | 
				 | 
			
		||||
            <uri>http://www.startssl.com/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">Tigase</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:admin@im.flosoft.biz</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
        <geo> | 
				 | 
			
		||||
            <uri>geo:50.69,3.19</uri> | 
				 | 
			
		||||
        </geo> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard> | 
				 | 
			
		||||
        <fn> | 
				 | 
			
		||||
            <text>jabbim.cz</text> | 
				 | 
			
		||||
        </fn> | 
				 | 
			
		||||
        <kind> | 
				 | 
			
		||||
            <text>application</text> | 
				 | 
			
		||||
        </kind> | 
				 | 
			
		||||
        <url> | 
				 | 
			
		||||
            <uri>http://www.jabbim.cz/</uri> | 
				 | 
			
		||||
        </url> | 
				 | 
			
		||||
        <note> | 
				 | 
			
		||||
            <text>Stable ejabberd clustered server with good support and many transports and services: ICQ, AIM, MSN, Facebook, Weather, Yahoo, Notes, bots, MUCs, proxy65, STUN server for voice support, and more</text> | 
				 | 
			
		||||
        </note> | 
				 | 
			
		||||
        <registration xmlns="urn:xmpp:vcard:registration:1"> | 
				 | 
			
		||||
            <uri>xmpp:jabbim.cz</uri> | 
				 | 
			
		||||
        </registration> | 
				 | 
			
		||||
        <bday> | 
				 | 
			
		||||
            <date>2005</date> | 
				 | 
			
		||||
        </bday> | 
				 | 
			
		||||
        <adr> | 
				 | 
			
		||||
            <country>CZ</country> | 
				 | 
			
		||||
        </adr> | 
				 | 
			
		||||
        <ca xmlns="urn:xmpp:vcard:ca:0"> | 
				 | 
			
		||||
            <name>CAcert</name> | 
				 | 
			
		||||
            <uri>http://www.cacert.org/</uri> | 
				 | 
			
		||||
        </ca> | 
				 | 
			
		||||
        <name xmlns="jabber:iq:version">ejabberd</name> | 
				 | 
			
		||||
        <impp> | 
				 | 
			
		||||
            <uri>xmpp:pinky@njs.netlab.cz</uri> | 
				 | 
			
		||||
        </impp> | 
				 | 
			
		||||
    </vcard> | 
				 | 
			
		||||
    <vcard><fn><text>njs.netlab.cz</text></fn><kind><text>application</text></kind><url><uri>http://www.jabbim.cz/</uri></url><note><text>Public service hosted by jabbim.cz</text></note><registration xmlns="urn:xmpp:vcard:registration:1"><uri>xmpp:njs.netlab.cz</uri></registration><bday><date>2001</date></bday><adr><country>CZ</country></adr><ca xmlns="urn:xmpp:vcard:ca:0"><name>CAcert</name><uri>http://www.cacert.org/</uri></ca><name xmlns="jabber:iq:version">ejabberd</name><impp><uri>xmpp:pinky@njs.netlab.cz</uri></impp></vcard> | 
				 | 
			
		||||
    <vcard><fn><text>jabbim.pl</text></fn><kind><text>application</text></kind><url><uri>http://www.jabbim.cz/</uri></url><note><text>Public service hosted by jabbim.cz</text></note><registration xmlns="urn:xmpp:vcard:registration:1"><uri>xmpp:jabbim.pl</uri></registration><bday><date>2005</date></bday><adr><country>CZ</country></adr><ca xmlns="urn:xmpp:vcard:ca:0"><name>CAcert</name><uri>http://www.cacert.org/</uri></ca><name xmlns="jabber:iq:version">ejabberd</name><impp><uri>xmpp:pinky@njs.netlab.cz</uri></impp></vcard> | 
				 | 
			
		||||
    <vcard><fn><text>jabbim.sk</text></fn><kind><text>application</text></kind><url><uri>http://www.jabbim.cz/</uri></url><note><text>Public service hosted by jabbim.cz</text></note><registration xmlns="urn:xmpp:vcard:registration:1"><uri>xmpp:jabbim.sk</uri></registration><bday><date>2005</date></bday><adr><country>CZ</country></adr><ca xmlns="urn:xmpp:vcard:ca:0"><name>CAcert</name><uri>http://www.cacert.org/</uri></ca><name xmlns="jabber:iq:version">ejabberd</name><impp><uri>xmpp:pinky@njs.netlab.cz</uri></impp></vcard> | 
				 | 
			
		||||
    <vcard><fn><text>jabbim.com</text></fn><kind><text>application</text></kind><url><uri>http://www.jabbim.cz/</uri></url><note><text>Public service hosted by jabbim.cz</text></note><registration xmlns="urn:xmpp:vcard:registration:1"><uri>xmpp:jabbim.com</uri></registration><bday><date>2005</date></bday><adr><country>CZ</country></adr><ca xmlns="urn:xmpp:vcard:ca:0"><name>CAcert</name><uri>http://www.cacert.org/</uri></ca><name xmlns="jabber:iq:version">ejabberd</name><impp><uri>xmpp:pinky@njs.netlab.cz</uri></impp></vcard> | 
				 | 
			
		||||
    <vcard><fn><text>forumanalogue.fr</text></fn><kind><text>application</text></kind><url><uri>http://www.forumanalogue.fr/</uri></url><note><text>A public self-hosted Jabber server located in France.</text></note><registration xmlns="urn:xmpp:vcard:registration:1"><uri>xmpp:forumanalogue.fr</uri></registration><bday><date>2010</date></bday><adr><country>FR</country></adr><ca xmlns="urn:xmpp:vcard:ca:0"><name>StartSSL</name><uri>http://www.startssl.com/</uri></ca><name xmlns="jabber:iq:version">Openfire</name><impp><uri>xmpp:clement@forumanalogue.fr</uri></impp><geo><uri>geo:45.8,4.84</uri></geo><lang><parameters><pref>1</pref></parameters><language-tag>fr</language-tag></lang></vcard> | 
				 | 
			
		||||
 | 
				 | 
			
		||||
</vcards> | 
				 | 
			
		||||
 | 
				 | 
			
		||||
 | 
				 | 
			
		||||
 | 
				 | 
			
		||||
@ -0,0 +1,87 @@ | 
			
		|||||
 | 
				<?php | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				/** | 
			
		||||
 | 
				 * @package Widgets | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @file AccountError.php | 
			
		||||
 | 
				 * This file is part of MOVIM. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @brief The account creation widget error. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @author Timothée Jaussoin <edhelas@gmail.com> | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @version 1.0 | 
			
		||||
 | 
				 * @date 25 November 2011 | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * Copyright (C)2010 MOVIM project | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * See COPYING for licensing information. | 
			
		||||
 | 
				 */ | 
			
		||||
 | 
				  | 
			
		||||
 | 
				class AccountError extends WidgetBase { | 
			
		||||
 | 
				     | 
			
		||||
 | 
				    function WidgetLoad() | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        $warning = ''; | 
			
		||||
 | 
				         | 
			
		||||
 | 
				        if(isset($_GET['err'])) | 
			
		||||
 | 
				        switch ($_GET['err']) { | 
			
		||||
 | 
				            case 'datamissing': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message warning"> | 
			
		||||
 | 
				                            '.t('Some data are missing !').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'jiderror': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message warning"> | 
			
		||||
 | 
				                            '.t('Wrong ID').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'passworddiff': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message info"> | 
			
		||||
 | 
				                            '.t('You entered different passwords').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'nameerr': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message warning"> | 
			
		||||
 | 
				                            '.t('Invalid name').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'notacceptable': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message error"> | 
			
		||||
 | 
				                            '.t('Request not acceptable').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'userconflict': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message warning"> | 
			
		||||
 | 
				                            '.t('Username already taken').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'xmppconnect': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message error"> | 
			
		||||
 | 
				                            '.t('Could not connect to the XMPP server').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'xmppcomm': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message error"> | 
			
		||||
 | 
				                            '.t('Could not communicate with the XMPP server').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				            case 'unknown': | 
			
		||||
 | 
				                $warning = ' | 
			
		||||
 | 
				                        <div class="message error"> | 
			
		||||
 | 
				                            '.t('Unknown error').' | 
			
		||||
 | 
				                        </div> '; | 
			
		||||
 | 
				                break; | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $this->view->assign('warning', $warning); | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1 @@ | 
			
		|||||
 | 
				{$warning} | 
			
		||||
@ -0,0 +1,239 @@ | 
			
		|||||
 | 
				<?php | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				/** | 
			
		||||
 | 
				 * @package Widgets | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @file Subscribe.php | 
			
		||||
 | 
				 * This file is part of MOVIM. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @brief The account creation widget. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @author Timothée Jaussoin <edhelas@gmail.com> | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @version 1.0 | 
			
		||||
 | 
				 * @date 25 November 2011 | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * Copyright (C)2010 MOVIM project | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * See COPYING for licensing information. | 
			
		||||
 | 
				 */ | 
			
		||||
 | 
				  | 
			
		||||
 | 
				class AccountNext extends WidgetBase { | 
			
		||||
 | 
				     | 
			
		||||
 | 
				    function WidgetLoad() | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        $this->addcss('accountnext.css'); | 
			
		||||
 | 
				        $this->addjs('accountnext.js'); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $xml = simplexml_load_string(file_get_contents('http://movim.eu/server-vcards.xml')); | 
			
		||||
 | 
				        $xml = (array)$xml->children(); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $this->view->assign( | 
			
		||||
 | 
				                    'getsubscriptionform', | 
			
		||||
 | 
				                    $this->genCallAjax('ajaxDiscoverServer', "'".$_GET['s']."'") | 
			
		||||
 | 
				                    ); | 
			
		||||
 | 
				                     | 
			
		||||
 | 
				        $this->view->assign('ndd', $_GET['s']); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $this->view->assign('servers', $xml['vcard']); | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function ajaxDiscoverServer($ndd) { | 
			
		||||
 | 
				        try { | 
			
		||||
 | 
				            $dns = dns_get_record('_xmpp-client._tcp.'.$ndd); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if(isset($dns[0]['target']) && $dns[0]['target'] != null) { | 
			
		||||
 | 
				                $domain = $dns[0]['target']; | 
			
		||||
 | 
				            } else { | 
			
		||||
 | 
				                $domain = $ndd['ndd']; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $f = fsockopen($domain, 5222, $errno, $errstr, 10); | 
			
		||||
 | 
				   | 
			
		||||
 | 
				            if(!$f ) { | 
			
		||||
 | 
				                RPC::call('movim_reload', Route::urlize('account', 'xmppconnect')); | 
			
		||||
 | 
				                RPC::commit(); | 
			
		||||
 | 
				                exit; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            global $language; | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            $stream = simplexml_load_string('<?xml version="1.0"?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" version="1.0"><iq type="get" id="reg1" xml:lang="'.$language.'"><query xmlns="jabber:iq:register"/></iq></stream:stream>'); | 
			
		||||
 | 
				            $stream->addAttribute('to', $ndd); | 
			
		||||
 | 
				            if (false === fwrite($f, $stream->asXML())) { | 
			
		||||
 | 
				                 \system\Logs\Logger::log('fail write to stream'); | 
			
		||||
 | 
				                throw new \Exception('fail write to stream'); | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            unset($stream); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $response = stream_get_contents($f); | 
			
		||||
 | 
				            if(!$response) { | 
			
		||||
 | 
				                    RPC::call('movim_reload', Route::urlize('account', 'xmppcomm')); | 
			
		||||
 | 
				                    RPC::commit(); | 
			
		||||
 | 
				                     exit; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $response = simplexml_load_string($response); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $id = (string)$response->attributes()->id; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $elements = (array)$response->iq->query; | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            // We close properly our first register request
 | 
			
		||||
 | 
				            $stream = simplexml_load_string('<?xml version="1.0"?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" version="1.0"><iq type="set" id="unreg1"><query xmlns="jabber:iq:register"><remove/></query></iq></stream:stream>'); | 
			
		||||
 | 
				            $stream->addAttribute('to', $ndd); | 
			
		||||
 | 
				            fwrite($f, $stream->asXML()); | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            fclose($f); unset($f); | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            if(!empty($elements)) { | 
			
		||||
 | 
				                $formview = $this->tpl(); | 
			
		||||
 | 
				                 | 
			
		||||
 | 
				                if($response->iq->query->instructions && $response->iq->query->x) { | 
			
		||||
 | 
				                    $instr = ' | 
			
		||||
 | 
				                        <div class="element simple large"> | 
			
		||||
 | 
				                            <label>'.(string)$response->iq->query->instructions.'</label>'; | 
			
		||||
 | 
				                    if($response->iq->query->x->url) | 
			
		||||
 | 
				                        $instr .= ' | 
			
		||||
 | 
				                            <a href="'.(string)$response->iq->query->x->url.'" target="_blank">'. | 
			
		||||
 | 
				                                (string)$response->iq->query->x->url.' | 
			
		||||
 | 
				                            </a>'; | 
			
		||||
 | 
				                    $instr .= ' | 
			
		||||
 | 
				                        </div>'; | 
			
		||||
 | 
				                         | 
			
		||||
 | 
				                } | 
			
		||||
 | 
				                $form = new XMPPtoForm(); | 
			
		||||
 | 
				                if(!empty($response->iq->query->x)){ | 
			
		||||
 | 
				                    $formh = $form->getHTML($response->iq->query->x->asXML()); | 
			
		||||
 | 
				                } else{// no <x> element in the XML 
 | 
			
		||||
 | 
				                    $formh = $form->getHTML($response->iq->query->asXML()); | 
			
		||||
 | 
				                } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                if($formh != '') | 
			
		||||
 | 
				                    $instr = ''; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                $formview->assign('instr', $instr); | 
			
		||||
 | 
				                $formview->assign('formh', $formh); | 
			
		||||
 | 
				                $formview->assign('id', $id); | 
			
		||||
 | 
				                $formview->assign('ndd', $ndd); | 
			
		||||
 | 
				                $formview->assign('domain', $domain); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                $formview->assign( | 
			
		||||
 | 
				                    'submitdata', | 
			
		||||
 | 
				                    $this->genCallAjax('ajaxSubmitData', "movim_form_to_json('data')")); | 
			
		||||
 | 
				                 | 
			
		||||
 | 
				                $html = $formview->draw('_accountnext_form', true); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                /* | 
			
		||||
 | 
				                if(isset($elements['data'])) { | 
			
		||||
 | 
				                    $html .= '<img src="data:image/jpg;base64,'.$elements['data'].'"/>'; | 
			
		||||
 | 
				                } | 
			
		||||
 | 
				                */ | 
			
		||||
 | 
				            } else { | 
			
		||||
 | 
				                $html = ' | 
			
		||||
 | 
				                    <div class="message warning"> | 
			
		||||
 | 
				                        '.t('No account creation form founded on the server').' | 
			
		||||
 | 
				                    </div>'; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            RPC::call('movim_fill', 'subscription_form', $html); | 
			
		||||
 | 
				            RPC::commit(); | 
			
		||||
 | 
				             | 
			
		||||
 | 
				        } catch(Exception $e) { | 
			
		||||
 | 
				            header(sprintf('HTTP/1.1 %d %s', $e->getCode(), $e->getMessage())); | 
			
		||||
 | 
				            header('Content-Type: text/plain; charset=utf-8'); | 
			
		||||
 | 
				            \system\Logs\Logger::log($e->getMessage()); | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function ajaxSubmitData($datas) { | 
			
		||||
 | 
				        define(XMPP_HOST, $datas->to->value); | 
			
		||||
 | 
				        define(XMPP_CONN, $datas->ndd->value); | 
			
		||||
 | 
				         | 
			
		||||
 | 
				        unset($datas->to); | 
			
		||||
 | 
				        unset($datas->ndd); | 
			
		||||
 | 
				         | 
			
		||||
 | 
				        define(XMPP_PORT, 5222); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        try {          | 
			
		||||
 | 
				            // We try to connect to the XMPP Server
 | 
			
		||||
 | 
				            $f = fsockopen(XMPP_CONN, XMPP_PORT, $errno, $errstr, 10); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if(!$f) { | 
			
		||||
 | 
				                RPC::call('movim_reload', Route::urlize('accountnext', 'xmppconnect')); | 
			
		||||
 | 
				                RPC::commit(); | 
			
		||||
 | 
				                 exit; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            // We create the XML Stanza
 | 
			
		||||
 | 
				            $stream = simplexml_load_string('<?xml version="1.0"?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" version="1.0"><iq id="'.$datas->id->value.'" type="set"><query xmlns="jabber:iq:register"><x xmlns="jabber:x:data" type="form"></x></query></iq></stream:stream>'); | 
			
		||||
 | 
				             | 
			
		||||
 | 
				            unset($datas->id); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $stream->addAttribute('to', XMPP_HOST); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $xmpp = new FormtoXMPP(); | 
			
		||||
 | 
				            $stream = $xmpp->getXMPP($stream->asXML(), $datas); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            fwrite($f, $stream->asXML()); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            unset($stream); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $response = stream_get_contents($f); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if(!$response) { | 
			
		||||
 | 
				                    RPC::call('movim_reload', Route::urlize('accountnext', array(XMPP_HOST, 'xmppcomm'))); | 
			
		||||
 | 
				                    RPC::commit(); | 
			
		||||
 | 
				                     exit; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            fclose($f); unset($f); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $response = simplexml_load_string($response); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if(!$response) throw new Exception('The XMPP server sent an invalid response', 500); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if($stream_error = $response->xpath('/stream:stream/stream:error')) { | 
			
		||||
 | 
				                list($stream_error) = $stream_error; | 
			
		||||
 | 
				                list($cond) = $stream_error->children(); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				                throw new Exception($stream_error->text ? $stream_error->text : $cond->getName(), 500); | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            $iq = $response->iq; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if($iq->error) { | 
			
		||||
 | 
				                list($cond) = $iq->error->children(); | 
			
		||||
 | 
				                if($cond->getName() == 'conflict') { | 
			
		||||
 | 
				                    RPC::call('movim_reload', Route::urlize('accountnext', array(XMPP_HOST,'userconflict'))); | 
			
		||||
 | 
				                    RPC::commit(); | 
			
		||||
 | 
				                     exit; | 
			
		||||
 | 
				                } else if($cond->getName() == 'not-acceptable') { | 
			
		||||
 | 
				                    RPC::call('movim_reload', Route::urlize('accountnext', array(XMPP_HOST,'notacceptable'))); | 
			
		||||
 | 
				                    RPC::commit(); | 
			
		||||
 | 
				                     exit; | 
			
		||||
 | 
				                } | 
			
		||||
 | 
				                throw new Exception($iq->error->text ? $iq->error->text : $cond->getName(), 400); | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            if($iq = $response->iq and $iq->attributes()->type == 'result') { | 
			
		||||
 | 
				                RPC::call('movim_reload', Route::urlize('login', 'acccreated')); | 
			
		||||
 | 
				                RPC::commit(); | 
			
		||||
 | 
				                exit; | 
			
		||||
 | 
				            } else { | 
			
		||||
 | 
				                    RPC::call('movim_reload', Route::urlize('accountnext', array(XMPP_HOST,'unknown'))); | 
			
		||||
 | 
				                    RPC::commit(); | 
			
		||||
 | 
				                     exit; | 
			
		||||
 | 
				            } | 
			
		||||
 | 
				        } catch(Exception $e) { | 
			
		||||
 | 
				            header(sprintf('HTTP/1.1 %d %s', $e->getCode(), $e->getMessage())); | 
			
		||||
 | 
				            header('Content-Type: text/plain; charset=utf-8'); | 
			
		||||
 | 
				            \system\Logs\Logger::log($e->getCode().' '.$e->getMessage().' file:'.$e->getFile().' - l.'.$e->getLine()); | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function flagPath($country) { | 
			
		||||
 | 
				        return BASE_URI.'themes/movim/img/flags/'.strtolower($country).'.png'; | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1,47 @@ | 
			
		|||||
 | 
				<form name="data"> | 
			
		||||
 | 
				    <fieldset> | 
			
		||||
 | 
				        {$instr} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <div class="clear"></div> | 
			
		||||
 | 
				        {$formh} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <input | 
			
		||||
 | 
				            type="hidden" | 
			
		||||
 | 
				            value="{$domain}" | 
			
		||||
 | 
				            name="ndd" | 
			
		||||
 | 
				            id="ndd" | 
			
		||||
 | 
				        /> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <input | 
			
		||||
 | 
				            type="hidden" | 
			
		||||
 | 
				            value="{$ndd}" | 
			
		||||
 | 
				            name="to" | 
			
		||||
 | 
				            id="to" | 
			
		||||
 | 
				        /> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <input | 
			
		||||
 | 
				            type="hidden" | 
			
		||||
 | 
				            value="{$id}" | 
			
		||||
 | 
				            name="id" | 
			
		||||
 | 
				            id="id" | 
			
		||||
 | 
				        /> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <input | 
			
		||||
 | 
				            id="submitb" | 
			
		||||
 | 
				            type="submit" | 
			
		||||
 | 
				            style="display: none;" | 
			
		||||
 | 
				            value="submit" | 
			
		||||
 | 
				            name="submitb" | 
			
		||||
 | 
				        /> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <a | 
			
		||||
 | 
				            class="button color green icon yes"  | 
			
		||||
 | 
				            style="float: right;" | 
			
		||||
 | 
				            onclick=" | 
			
		||||
 | 
				                localStorage.username = document.querySelector('#username').value+'@'+'{$ndd}'; | 
			
		||||
 | 
				                {$submitdata}" | 
			
		||||
 | 
				        > | 
			
		||||
 | 
				            {$c->t('Validate')} | 
			
		||||
 | 
				        </a> | 
			
		||||
 | 
				    </fieldset> | 
			
		||||
 | 
				</form> | 
			
		||||
@ -0,0 +1 @@ | 
			
		|||||
 | 
				
 | 
			
		||||
@ -0,0 +1 @@ | 
			
		|||||
 | 
				
 | 
			
		||||
@ -0,0 +1,12 @@ | 
			
		|||||
 | 
				<div id="subscribe"> | 
			
		||||
 | 
				    <h1>{$c->t('Create a new account')} {$c->t('on')} {$ndd}</h1> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    <div id="subscription_form" class="paddedtop"> | 
			
		||||
 | 
				        {$c->t('Loading')} | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    <script type="text/javascript"> | 
			
		||||
 | 
				        {$getsubscriptionform} | 
			
		||||
 | 
				    </script> | 
			
		||||
 | 
				</div> | 
			
		||||
 | 
				
 | 
			
		||||
@ -0,0 +1,41 @@ | 
			
		|||||
 | 
				<?php | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				/** | 
			
		||||
 | 
				 * @package Widgets | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @file Subscribe.php | 
			
		||||
 | 
				 * This file is part of MOVIM. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @brief The account creation widget. | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @author Timothée Jaussoin <edhelas@gmail.com> | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * @version 1.0 | 
			
		||||
 | 
				 * @date 25 November 2011 | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * Copyright (C)2010 MOVIM project | 
			
		||||
 | 
				 * | 
			
		||||
 | 
				 * See COPYING for licensing information. | 
			
		||||
 | 
				 */ | 
			
		||||
 | 
				  | 
			
		||||
 | 
				class Subscribe extends WidgetBase { | 
			
		||||
 | 
				     | 
			
		||||
 | 
				    function WidgetLoad() | 
			
		||||
 | 
				    { | 
			
		||||
 | 
				        $this->addcss('subscribe.css'); | 
			
		||||
 | 
				        $this->addjs('subscribe.js'); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $xml = simplexml_load_string(file_get_contents('http://movim.eu/server-vcards.xml')); | 
			
		||||
 | 
				        $xml = (array)$xml->children(); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        $this->view->assign('servers', $xml['vcard']); | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function flagPath($country) { | 
			
		||||
 | 
				        return BASE_URI.'themes/movim/img/flags/'.strtolower($country).'.png'; | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    function accountNext($server) { | 
			
		||||
 | 
				        return Route::urlize('accountnext', array($server)); | 
			
		||||
 | 
				    } | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1,57 @@ | 
			
		|||||
 | 
				<?xml version="1.0" encoding="UTF-8" standalone="no"?> | 
			
		||||
 | 
				<!-- Generated by IcoMoon.io --> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				<svg | 
			
		||||
 | 
				   xmlns:dc="http://purl.org/dc/elements/1.1/" | 
			
		||||
 | 
				   xmlns:cc="http://creativecommons.org/ns#" | 
			
		||||
 | 
				   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | 
			
		||||
 | 
				   xmlns:svg="http://www.w3.org/2000/svg" | 
			
		||||
 | 
				   xmlns="http://www.w3.org/2000/svg" | 
			
		||||
 | 
				   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | 
			
		||||
 | 
				   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | 
			
		||||
 | 
				   version="1.1" | 
			
		||||
 | 
				   width="32" | 
			
		||||
 | 
				   height="32" | 
			
		||||
 | 
				   viewBox="0 0 32 32" | 
			
		||||
 | 
				   id="svg2" | 
			
		||||
 | 
				   inkscape:version="0.48.4 r9939" | 
			
		||||
 | 
				   sodipodi:docname="star.svg"> | 
			
		||||
 | 
				  <metadata | 
			
		||||
 | 
				     id="metadata10"> | 
			
		||||
 | 
				    <rdf:RDF> | 
			
		||||
 | 
				      <cc:Work | 
			
		||||
 | 
				         rdf:about=""> | 
			
		||||
 | 
				        <dc:format>image/svg+xml</dc:format> | 
			
		||||
 | 
				        <dc:type | 
			
		||||
 | 
				           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | 
			
		||||
 | 
				      </cc:Work> | 
			
		||||
 | 
				    </rdf:RDF> | 
			
		||||
 | 
				  </metadata> | 
			
		||||
 | 
				  <defs | 
			
		||||
 | 
				     id="defs8" /> | 
			
		||||
 | 
				  <sodipodi:namedview | 
			
		||||
 | 
				     pagecolor="#ffffff" | 
			
		||||
 | 
				     bordercolor="#666666" | 
			
		||||
 | 
				     borderopacity="1" | 
			
		||||
 | 
				     objecttolerance="10" | 
			
		||||
 | 
				     gridtolerance="10" | 
			
		||||
 | 
				     guidetolerance="10" | 
			
		||||
 | 
				     inkscape:pageopacity="0" | 
			
		||||
 | 
				     inkscape:pageshadow="2" | 
			
		||||
 | 
				     inkscape:window-width="1920" | 
			
		||||
 | 
				     inkscape:window-height="1012" | 
			
		||||
 | 
				     id="namedview6" | 
			
		||||
 | 
				     showgrid="false" | 
			
		||||
 | 
				     inkscape:zoom="7.375" | 
			
		||||
 | 
				     inkscape:cx="-9.1525424" | 
			
		||||
 | 
				     inkscape:cy="16" | 
			
		||||
 | 
				     inkscape:window-x="0" | 
			
		||||
 | 
				     inkscape:window-y="23" | 
			
		||||
 | 
				     inkscape:window-maximized="1" | 
			
		||||
 | 
				     inkscape:current-layer="svg2" /> | 
			
		||||
 | 
				  <path | 
			
		||||
 | 
				     d="M12.483 12.211c0 0-4.213 0.467-7.024 0.779-0.253 0.031-0.477 0.2-0.561 0.457s0 0.525 0.187 0.695c2.088 1.905 5.225 4.759 5.225 4.759-0.003 0-0.861 4.151-1.432 6.92-0.048 0.251 0.043 0.516 0.261 0.675 0.217 0.159 0.497 0.161 0.717 0.037 2.459-1.397 6.141-3.499 6.141-3.499s3.684 2.101 6.139 3.5c0.224 0.123 0.504 0.12 0.721-0.039 0.219-0.159 0.309-0.424 0.26-0.673-0.571-2.771-1.428-6.921-1.428-6.921s3.137-2.853 5.225-4.755c0.187-0.175 0.269-0.443 0.187-0.699s-0.307-0.425-0.56-0.455c-2.811-0.315-7.025-0.781-7.025-0.781s-1.747-3.864-2.911-6.44c-0.109-0.231-0.339-0.392-0.608-0.392s-0.5 0.163-0.604 0.392c-1.165 2.576-2.911 6.44-2.911 6.44z" | 
			
		||||
 | 
				     fill="#ffffff" | 
			
		||||
 | 
				     id="path4" | 
			
		||||
 | 
				     style="fill:#e2e152;fill-opacity:1" /> | 
			
		||||
 | 
				</svg> | 
			
		||||
@ -0,0 +1,40 @@ | 
			
		|||||
 | 
				#subscribe .block { | 
			
		||||
 | 
				    border: 1px solid #DDD; | 
			
		||||
 | 
				    margin-right: 1em; | 
			
		||||
 | 
				    margin-bottom: 1em; | 
			
		||||
 | 
				    width: 48%; | 
			
		||||
 | 
				    padding: 1em; | 
			
		||||
 | 
				    display: inline-block; | 
			
		||||
 | 
				    box-sizing: border-box; | 
			
		||||
 | 
				    -webkit-box-sizing: border-box; | 
			
		||||
 | 
					-moz-box-sizing: border-box; | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				#subscribe .block:hover { | 
			
		||||
 | 
				    background-color: #EEE; | 
			
		||||
 | 
				    cursor: pointer; | 
			
		||||
 | 
				    border-color: #BBB; | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				#subscribe .block h1 { | 
			
		||||
 | 
				    padding: 0; | 
			
		||||
 | 
				    line-height: 1em; | 
			
		||||
 | 
				    font-size: 1.2em; | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				#subscribe .block img.flag { | 
			
		||||
 | 
				    float: right; | 
			
		||||
 | 
				    margin-top: -1em; | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				#subscribe .block a { | 
			
		||||
 | 
				    text-decoration: none; | 
			
		||||
 | 
				    line-height: 1.5em; | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				#subscribe .block.star { | 
			
		||||
 | 
				    background-image: url('img/star.svg'); | 
			
		||||
 | 
				    background-size: 3em 3em; | 
			
		||||
 | 
				    background-position: 100% 100%; | 
			
		||||
 | 
				    background-repeat: no-repeat; | 
			
		||||
 | 
				} | 
			
		||||
@ -0,0 +1,35 @@ | 
			
		|||||
 | 
				<div id="subscribe"> | 
			
		||||
 | 
				    <h1>{$c->t('Create a new account')}</h1> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    <p class="paddedtop">{$c->t('Movim is a decentralized social network, before creating a new account you need to choose a server to register.')}</p> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    <div class="paddedtop"> | 
			
		||||
 | 
				        {loop="$servers"} | 
			
		||||
 | 
				        <div | 
			
		||||
 | 
				            class="block {if="$value->checked"}star{/if}" | 
			
		||||
 | 
				            onclick="movim_redirect('{$c->route('accountnext', array($value->fn->text, false))}')"> | 
			
		||||
 | 
				            <h1>{$value->fn->text}</h1> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            <img | 
			
		||||
 | 
				                class="flag" | 
			
		||||
 | 
				                title="{$value->adr->country}"  | 
			
		||||
 | 
				                alt="{$value->adr->country}"  | 
			
		||||
 | 
				                src="{$c->flagPath($value->adr->country)}"/>            | 
			
		||||
 | 
				            <p>{$value->note->text}</p> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            <a target="_blank" href="{$value->url->uri}"> | 
			
		||||
 | 
				                {$value->url->uri} | 
			
		||||
 | 
				            </a> | 
			
		||||
 | 
				        </div> | 
			
		||||
 | 
				        {/loop} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				        <div class="block"> | 
			
		||||
 | 
				            <h1>{$c->t('Your server here ?')}</h1> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				            <p> | 
			
		||||
 | 
				                {$c->t('Contact us to add yours to the officially supported servers list')} • <a href="http://movim.eu/">http://movim.eu/</a> | 
			
		||||
 | 
				            </p> | 
			
		||||
 | 
				        </div> | 
			
		||||
 | 
				    </div> | 
			
		||||
 | 
				</div> | 
			
		||||
 | 
				
 | 
			
		||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue