]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #1975 from rabuzarus/template_rework
authorTobias Diekershoff <tobias.diekershoff@gmx.net>
Tue, 27 Oct 2015 07:59:03 +0000 (08:59 +0100)
committerTobias Diekershoff <tobias.diekershoff@gmx.net>
Tue, 27 Oct 2015 07:59:03 +0000 (08:59 +0100)
Template rework for contact related pages

30 files changed:
boot.php
doc/Chats.md
doc/Developers-Intro.md
doc/Install.md
doc/de/Chats.md
doc/de/Developers.md
include/auth_ejabberd.php
include/contact_selectors.php
include/items.php
include/socgraph.php
mod/contacts.php
mod/crepair.php
mod/manage.php
mod/network.php
mod/poke.php
mod/profiles.php
mod/uimport.php
update.php
view/global.css
view/templates/crepair.tpl
view/templates/manage.tpl
view/templates/poke_content.tpl
view/templates/poke_head.tpl [new file with mode: 0644]
view/templates/profile_edit.tpl
view/theme/duepuntozero/style.css
view/theme/frost-mobile/style.css
view/theme/frost/style.css
view/theme/smoothly/style.css
view/theme/vier/style.css
view/theme/vier/templates/profile_edit.tpl

index 20c243c2406bdbf19646e7a11cc71ed7c1ae8fc1..c9c0d4404e6f66cc308b28d533903d91c4fe33d2 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -163,7 +163,8 @@ define ( 'NETWORK_TWITTER',          'twit');    // Twitter
 define ( 'NETWORK_DIASPORA2',        'dspc');    // Diaspora connector
 define ( 'NETWORK_STATUSNET',        'stac');    // Statusnet connector
 define ( 'NETWORK_APPNET',           'apdn');    // app.net
-
+define ( 'NETWORK_NEWS',             'nntp');    // Network News Transfer Protocol
+define ( 'NETWORK_ICALENDAR',        'ical');    // iCalendar
 define ( 'NETWORK_PHANTOM',          'unkn');    // Place holder
 
 /**
@@ -189,7 +190,9 @@ $netgroup_ids = array(
        NETWORK_TWITTER  => (-14),
        NETWORK_DIASPORA2 => (-15),
        NETWORK_STATUSNET => (-16),
-       NETWORK_APPNET => (-17),
+       NETWORK_APPNET    => (-17),
+       NETWORK_NEWS      => (-18),
+       NETWORK_ICALENDAR => (-19),
 
        NETWORK_PHANTOM  => (-127),
 );
index 77b21833a50981cf42bf4df1e6882139245ef67f..3698ad15dad373b744fa66d23074906f1ed2fc4f 100644 (file)
@@ -23,7 +23,7 @@ The following window shows some text while connecting.
 This text isn't importend for you, just wait for the next window.
 The first line shows your name and your current IP address.
 The right part of the window shows all users.
-The lower part of the window contains an input field. 
+The lower part of the window contains an input field.
 
 Jappix Mini
 ---
@@ -41,7 +41,7 @@ You can use several servers to create an account:
 
 At first you have to get the current version. You can either pull it from [Github](https://github.com) like so:
 
-       $> cd /var/www/virtual/YOURSPACE/html/addon; git pull
+    $> cd /var/www/virtual/YOURSPACE/html/addon; git pull
 
 Or you can download a tar archive here: [jappixmini.tgz](https://github.com/friendica/friendica-addons/blob/master/jappixmini.tgz) (click at „view raw“).
 
@@ -63,9 +63,10 @@ At first you have to activate the addon.
 
 Now add your Jabber/XMPP name, the domain/server (without "http"; just "jappix.com").
 For „Jabber BOSH Host“ you could use "https://bind.jappix.com/".
+Note that you need another BOSH server if you do not use jappix.com for your XMPP account.
 You can find further information in the „Configuration Help“-section below this fields.
 At last you have enter your password (there are some more optional options, you can choose).
-Finish these steps with "send" to save the entries. 
+Finish these steps with "send" to save the entries.
 Now, you should find the chatbox at the lower right corner of your browser window.
 
-If you want to add contacts manually, you can click "add contact". 
+If you want to add contacts manually, you can click "add contact".
index ff8c3c54c27038499dcf7286d09e9586a6dfd9da..7e5caae2b3274975d3340a55dbb8a114859dc950 100644 (file)
@@ -54,6 +54,8 @@ Have a look at our [issue tracker](https://github.com/friendica/friendica) on gi
  * Try to reproduce a bug that needs more inquries and write down what you find out.
  * If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed.
  * Fix a bug if you can. Please make the pull request against the *develop* branch of the repository.
+ * There is a *Junior Job* label for issues we think might be a good point to start with.
+   But you don't have to limit yourself to those issues.
 
 ###Web interface
 
index bd15f10b5aa97b5733f657802928cb3d1085b81d..5afd5a22c1be9c56428cc7a28dc6c7a74e179768 100644 (file)
@@ -10,9 +10,11 @@ Not every PHP/MySQL hosting provider will be able to support Friendica.
 Many will.
 But **please** review the requirements and confirm these with your hosting provider prior to installation.
 
-Also if you encounter installation issues, please let us know via the [helper]() or the [developer]() forum or [file an issue](https://github.com/friendica/friendica/issues).
+Also if you encounter installation issues, please let us know via the [helper](http://helpers.pyxis.uberspace.de/profile/helpers) or the [developer](https://friendika.openmindspace.org/profile/friendicadevelopers) forum or [file an issue](https://github.com/friendica/friendica/issues).
 Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future.
-Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.   
+Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues.
+If you do not have a Friendica account yet, you can register a temporary one at [tryfriendica.de](https://tryfriendica.de) and join the forums mentioned above from there.
+The account will expire after 7 days, but you can ask the server admin to keep your account longer, should the problem not be resolved after that.
 
 Before you begin: Choose a domain name or subdomain name for your server.
 Put some thought into this. Changing it after installation is currently not supported.
@@ -29,7 +31,7 @@ Requirements
 * curl, gd, mysql, hash and openssl extensions
 * some form of email server or email gateway such that PHP mail() works
 * mcrypt (optional; used for server-to-server message encryption)
-* Mysql 5.x
+* Mysql 5.x or an equivalant alternative for MySQL (MariaDB etc.)
 * the ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) (Note: other options are presented in Section 7 of this document.)
 * Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. Directory paths will not be as convenient to use and have not been thoroughly tested.
 * If your hosting provider doesn't allow Unix shell access, you might have trouble getting everything to work.
@@ -42,23 +44,23 @@ Installation procedure
 Unpack the Friendica files into the root of your web server document area.
 If you are able to do so, we recommend using git to clone the source repository rather than to use a packaged tar or zip file.
 This makes the software much easier to update.
-The Linux command to clone the repository into a directory "mywebsite" would be 
+The Linux command to clone the repository into a directory "mywebsite" would be
+
+    git clone https://github.com/friendica/friendica.git mywebsite
 
-       git clone https://github.com/friendica/friendica.git mywebsite
-        
 Make sure the folder *view/smarty3* exists and is writable by the webserver user
-        
-       mkdir view/smarty3
-       chmod 777 view/smarty3
-    
+
+    mkdir view/smarty3
+    chmod 777 view/smarty3
+
 Get the addons by going into your website folder.
-        
-       cd mywebsite
-            
+
+    cd mywebsite
+
 Clone the addon repository (separately):
-        
-       git clone https://github.com/friendica/friendica-addons.git addon
-            
+
+    git clone https://github.com/friendica/friendica-addons.git addon
+
 If you copy the directory tree to your webserver, make sure that you also copy .htaccess - as "dot" files are often hidden and aren't normally copied.
 
 ###Create a database
@@ -87,14 +89,14 @@ You might wish to move/rename .htconfig.php to another name and empty (called 'd
 Set up a cron job or scheduled task to run the poller once every 5-10 minutes in order to perform background processing.
 Example:
 
-       cd /base/directory; /path/to/php include/poller.php
+    cd /base/directory; /path/to/php include/poller.php
 
 Change "/base/directory", and "/path/to/php" as appropriate for your situation.
 
 If you are using a Linux server, run "crontab -e" and add a line like the
 one shown, substituting for your unique paths and settings:
 
-       */10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
+    */10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
 
 You can generally find the location of PHP by executing "which php".
 If you run into trouble with this section please contact your hosting provider for assistance.
@@ -104,25 +106,31 @@ Alternative: You may be able to use the 'poormancron' plugin to perform this ste
 To do this, edit the file ".htconfig.php" and look for a line describing your plugins.
 On a fresh installation, it will look like this:
 
-       $a->config['system']['addon'] = 'js_upload';
+    $a->config['system']['addon'] = 'js_upload';
 
 It indicates the "js_upload" addon module is enabled.
 You may add additional addons/plugins using this same line in the configuration file.
 Change it to read
 
-       $a->config['system']['addon'] = 'js_upload,poormancron';
+    $a->config['system']['addon'] = 'js_upload,poormancron';
+
+and save your changes.
 
-and save your changes.    
+Once you have installed Friendica and created an admin account as part of the process, you can access the admin panel of your installation and do most of the server wide configuration from there
 
 Updating your installation with git
 ---
 
 You can get the latest changes at any time with
 
-       cd mywebsite
-       git pull
+    cd mywebsite
+    git pull
+
+The default branch to use it the ``master`` branch, which is the stable version of Friendica.
+If you want to use and test bleeding edge code please checkout the ``develop`` branch.
+The new features and fixes will be merged from ``develop`` into ``master`` when they are stable approx four times a year.
 
 The addon tree has to be updated separately like so:
-        
-       cd mywebsite/addon
-       git pull
+
+    cd mywebsite/addon
+    git pull
index a2d06f3c4ee440aa0c73be5ac88a4456f9f10f87..ae239a675beba6dd997305fa0834631a406433a4 100644 (file)
@@ -3,33 +3,33 @@ Chats
 
 * [Zur Startseite der Hilfe](help)
 
-Du hast derzeit zwei Möglichkeiten, einen Chat auf Deiner Friendica-Seite zu betreiben 
+Du hast derzeit zwei Möglichkeiten, einen Chat auf Deiner Friendica-Seite zu betreiben
 
 * IRC - Internet Relay Chat
 * Jappix
 
 ##IRC Plugin
 
-Sobald das Plugin aktiviert ist, kannst Du den Chat unter [deineSeite.de/irc](../irc) finden. 
-Beachte aber, dass dieser Chat auch ohne Anmeldung auf Deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können. 
+Sobald das Plugin aktiviert ist, kannst Du den Chat unter [deineSeite.de/irc](../irc) finden.
+Beachte aber, dass dieser Chat auch ohne Anmeldung auf Deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können.
 
-Wenn Du dem Link folgst, dann kommst Du zum Anmeldefenster des IR-Chats. 
-Wähle nun einen Spitznamen (Nickname) und wähle einen Raum aus, in dem Du chatten willst. 
-Hier kannst Du jeden Namen eingeben. 
-Es kann also auch #tollerChatdessenNamenurichkenne sein. 
+Wenn Du dem Link folgst, dann kommst Du zum Anmeldefenster des IR-Chats.
+Wähle nun einen Spitznamen (Nickname) und wähle einen Raum aus, in dem Du chatten willst.
+Hier kannst Du jeden Namen eingeben.
+Es kann also auch #tollerChatdessenNamenurichkenne sein.
 Gib als nächstes noch die Captchas ein, um zu zeigen, dass es sich bei Dir um einen Menschen handelt und klicke auf "Connect".
 
-Im nächsten Fenster siehst Du zunächst viel Text beim Verbindungsaufbau, der allerdings für Dich nicht weiter von Bedeutung ist. 
-Anschließend öffnet sich das Chat-Fenster. 
-In den ersten Zeilen wird Dir Dein Name und Deine aktuelle IP-Adresse angezeigt. 
-Rechts im Fenster siehst Du alle Teilnehmer des Chats. 
+Im nächsten Fenster siehst Du zunächst viel Text beim Verbindungsaufbau, der allerdings für Dich nicht weiter von Bedeutung ist.
+Anschließend öffnet sich das Chat-Fenster.
+In den ersten Zeilen wird Dir Dein Name und Deine aktuelle IP-Adresse angezeigt.
+Rechts im Fenster siehst Du alle Teilnehmer des Chats.
 Unten hast Du ein Eingabefeld, um Beiträge zu schreiben.
 
 Weiter Informationen zu IRC findest Du zum Beispiel auf <a href="http://wiki.ubuntuusers.de/IRC" target="_blank">ubuntuusers.de</a>, in <a href="https://de.wikipedia.org/wiki/Internet_Relay_Chat" target="_blank">Wikipedia</a> oder bei <a href="http://www.irchelp.org/" target="_blank">icrhelp.org</a> (in Englisch).
 
 ##Jappix Mini
 
-Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte. 
+Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte.
 Ein Jabber/XMPP Account sollte vor der Installation bereits vorhanden sein.
 Die ausführliche Anleitung dazu und eine Kontrolle, ob Du nicht sogar schon über Deinen E-Mail Anbieter einen Jabber-Account hast, findest Du unter <a href="http://einfachjabber.de" target="_blank">einfachjabber.de</a>.
 
@@ -53,29 +53,29 @@ oder als normaler Download von hier: https://github.com/friendica/friendica-addo
 
 Entpacke diese Datei (ggf. den entpackten Ordner in „jappixmini“ umbenennen) und lade sowohl den entpackten Ordner komplett als auch die .tgz Datei in den Addon Ordner Deiner Friendica Installation hoch.
 
-Nach dem Upload gehts in den Friendica Adminbereich und dort zu den Plugins. 
+Nach dem Upload gehts in den Friendica Adminbereich und dort zu den Plugins.
 Aktiviere das Jappixmini Addon und gehe anschließend über die Plugins Seitenleiste (dort wo auch die Twitter-, Impressums-, GNU Social-, usw. Einstellungen gemacht werden) zu den Jappix Grundeinstellungen.
 
-Setze hier den Haken zur Aktivierung des BOSH Proxys. 
+Setze hier den Haken zur Aktivierung des BOSH Proxys.
 Weiter gehts in den Einstellungen Deines Friendica Accounts.
 
 2. Einstellungen
 
-Gehe bitte zu den Plugin-Einstellungen in Deinen Konto-Einstellungen (Account Settings). 
+Gehe bitte zu den Plugin-Einstellungen in Deinen Konto-Einstellungen (Account Settings).
 Scrolle ein Stück hinunter bis zu den Jappix Mini Addon settings.
 
 Aktiviere hier zuerst das Addon.
 
-Trage nun Deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com). 
+Trage nun Deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com).
 Um das JavaScript Applet zum Chatten im Browser verwenden zu können, benötigst du einen BOSH Proxy.
 Entweder betreibst du deinen eigenen (s. Dokumentation deines XMPP Servers) oder du verwendest einen öffentlichen BOSH Proxy.
 Beachte aber, dass der Betreiber dieses Proxies den kompletten Datenverkehr über den Proxy mitlesen kann.
-Siehe dazu auch die „Configuration Help“ weiter unten. 
-Gebe danach noch Dein Passwort an, und damit ist eigentlich schon fast alles geschafft. 
-Die weiteren Einstellmöglichkeiten bleiben Dir überlassen, sind also optional. 
+Siehe dazu auch die „Configuration Help“ unter den Eingabefeldern.
+Gebe danach noch Dein Passwort an, und damit ist eigentlich schon fast alles geschafft.
+Die weiteren Einstellmöglichkeiten bleiben Dir überlassen, sind also optional.
 Jetzt noch auf „senden“ klicken und fertig.
 
-Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster „kleben“. 
-Falls Du manuell Kontakte hinzufügen möchtest, einfach den „Add Contact“-Knopf nutzen. 
+Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster „kleben“.
+Falls Du manuell Kontakte hinzufügen möchtest, einfach den „Add Contact“-Knopf nutzen.
 
-Viel Spass beim Chatten! 
+Viel Spass beim Chatten!
index b1d118fd591f8463b1f9ae753546e11ecac0225b..2b44e405ff7b3357e72054166445a4b0308ab36b 100644 (file)
@@ -7,18 +7,23 @@ Hier erfährst Du, wie Du bei uns mitmachen kannst:
 
 Zunächst erstelle Dir per 'git clone https://github.com/friendica/friendica.git' ein funktionierendes Git-Paket auf Deinem System, auf dem Du die Entwicklung durchführst, und einen eigenen Github-Account.
 
-Erstelle Deine eigene Kopie (fork) der Ursprungsdaten auf Github, an der Du dann entspannt arbeiten kannst. 
+Erstelle Deine eigene Kopie (fork) der Ursprungsdaten auf Github, an der Du dann entspannt arbeiten kannst.
 Deine Arbeiten sollten mit einem neuen Arbeitszweig (branch) beginnen, den du vom develop Zweig des Repositories beginnst.
 Die Anleitung unter [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) erklärt Dir genau, wie Du das tun musst.
 
 Gehe dann nach getaner Arbeit zu Deiner Github-Seite und erstelle eine "Pull request", um Deine Änderungen in das Hauptprojekt einzugliedern (merge).
 
+Solltest du keine Idee haben, an welcher Stelle du einsteigen könntest.
+Wir haben einige Aufgaben auf github mit dem Schlagwort *Junior Job* versehen.
+Bei diesen Aufgaben gehen wir davon aus, dass sie geeignete Einstiegsstellen sind.
+Du musst dich aber natürlich nicht mit diesen Aufgaben beschäftigen um den Friendica Code zu verbeesern.
+
 **Wichtig**
 
-Bitte hole Dir alle Änderungen aus dem Projektverzeichnis und führe sie mit Deiner Arbeit zusammen, **bevor** Du Deine "pull request" erstellst. Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen. 
+Bitte hole Dir alle Änderungen aus dem Projektverzeichnis und führe sie mit Deiner Arbeit zusammen, **bevor** Du Deine "pull request" erstellst. Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen.
 Dies gilt vor allem für Übersetzungen, da wir hier möglicherweise nicht alle feinen Unterschiede in konfliktären Versionen erkennen können.
 
-Außerdem: **teste Deine Änderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann. 
+Außerdem: **teste Deine Änderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann.
 Lass Deine Änderungen von einem erfahrenen Friendica-Entwickler gegenprüfen.
 
 Eine ausführliche Anleitung zu Git findest Du unter <a href="https://git-scm.com/book/de/v1" target="_blank">https://git-scm.com/book/de/v1</a>.
index 8b18a02c58df0381afcbf318160a0fafe38dee30..9a9d9accad83ef002b3f398f701b4e95ac3508da 100755 (executable)
@@ -108,7 +108,7 @@ class exAuth
                                                                // ovdje provjeri je li korisnik OK
                                                                $sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
                                                                $this->writeDebugLog("[debug] checking isuser for ". $sUser);
-                                                               $sQuery = "select * from user where nickname='". $db->escape($sUser) ."'";
+                                                               $sQuery = "SELECT `uid` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'";
                                                                $this->writeDebugLog("[debug] using query ". $sQuery);
                                                                if ($oResult = q($sQuery)){
                                                                        if ($oResult) {
@@ -120,7 +120,7 @@ class exAuth
                                                                                $this->writeLog("[exAuth] invalid user: ". $sUser);
                                                                                fwrite(STDOUT, pack("nn", 2, 0));
                                                                        }
-                                                                       $oResult->close();
+                                                                       //$oResult->close();
                                                                } else {
                                                                        $this->writeLog("[MySQL] invalid query: ". $sQuery);
                                                                        fwrite(STDOUT, pack("nn", 2, 0));
@@ -136,10 +136,14 @@ class exAuth
                                                                // ovdje provjeri prijavu
                                                                $sUser = str_replace(array("%20", "(a)"), array(" ", "@"), $aCommand[1]);
                                                                $this->writeDebugLog("[debug] doing auth for ". $sUser);
-                                                               $sQuery = "select * from user where password='".hash('whirlpool',$aCommand[3])."' and nickname='". $db->escape($sUser) ."'";
+                                                               //$sQuery = "SELECT `uid`, `password` FROM `user` WHERE `password`='".hash('whirlpool',$aCommand[3])."' AND `nickname`='". $db->escape($sUser) ."'";
+                                                               $sQuery = "SELECT `uid`, `password` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'";
                                                                $this->writeDebugLog("[debug] using query ". $sQuery);
                                                                if ($oResult = q($sQuery)){
-                                                                       if ($oResult) {
+                                                                       $uid = $oResult[0]["uid"];
+                                                                       $Error = ($oResult[0]["password"] != hash('whirlpool',$aCommand[3]));
+/*
+                                                                       if ($oResult[0]["password"] == hash('whirlpool',$aCommand[3])) {
                                                                                // korisnik OK
                                                                                $this->writeLog("[exAuth] authentificated user ". $sUser ."@". $aCommand[2]);
                                                                                fwrite(STDOUT, pack("nn", 2, 1));
@@ -149,9 +153,24 @@ class exAuth
                                                                                fwrite(STDOUT, pack("nn", 2, 0));
                                                                        }
                                                                        $oResult->close();
+*/
                                                                } else {
                                                                        $this->writeLog("[MySQL] invalid query: ". $sQuery);
+                                                                       $Error = true;
+                                                                       $uid = -1;
+                                                               }
+                                                               if ($Error) {
+                                                                       $oConfig = q("SELECT `v` FROM `pconfig` WHERE `uid`=%d AND `cat` = 'xmpp' AND `k`='password' LIMIT 1;", intval($uid));
+                                                                       $this->writeLog("[exAuth] got password ".$oConfig[0]["v"]);
+                                                                       $Error = ($aCommand[3] != $oConfig[0]["v"]);
+                                                               }
+
+                                                               if ($Error) {
+                                                                       $this->writeLog("[exAuth] authentification failed for user ". $sUser ."@". $aCommand[2]);
                                                                        fwrite(STDOUT, pack("nn", 2, 0));
+                                                               } else {
+                                                                       $this->writeLog("[exAuth] authentificated user ". $sUser ."@". $aCommand[2]);
+                                                                       fwrite(STDOUT, pack("nn", 2, 1));
                                                                }
                                                        }
                                                break;
index f0ac87a09f32b4f3e7759cec13acc5c5568137c0..f104866232d4326f36cc3669636986682770b67f 100644 (file)
@@ -88,7 +88,7 @@ function network_to_name($s, $profile = "") {
                NETWORK_PUMPIO   => t('pump.io'),
                NETWORK_TWITTER  => t('Twitter'),
                NETWORK_DIASPORA2 => t('Diaspora Connector'),
-               NETWORK_STATUSNET => t('Statusnet'),
+               NETWORK_STATUSNET => t('GNU Social'),
                NETWORK_APPNET => t('App.net')
        );
 
index 7d1ab1cb36c52398a62f4b5f1c10adac68c55a60..ebda49e9ad10a53b0ead36c48b977b67af540cd9 100644 (file)
@@ -4392,7 +4392,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
 }
 
 
-function atom_author($tag,$name,$uri,$h,$w,$photo) {
+function atom_author($tag,$name,$uri,$h,$w,$photo,$geo) {
        $o = '';
        if(! $tag)
                return $o;
@@ -4410,6 +4410,10 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) {
        $o .= "\t".'<link rel="avatar" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
 
        if ($tag == "author") {
+
+               if($geo)
+                       $o .= '<georss:point>'.xmlify($geo).'</georss:point>'."\r\n";
+
                $r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`,
                                `profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`,
                                `profile`.`homepage`,`contact`.`nick` FROM `profile`
@@ -4473,11 +4477,11 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
        $o = "\r\n\r\n<entry>\r\n";
 
        if(is_array($author))
-               $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb']);
+               $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb'], $item['coord']);
        else
-               $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']));
+               $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']), $item['coord']);
        if(strlen($item['owner-name']))
-               $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']);
+               $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar'], $item['coord']);
 
        if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
                $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));
index b0f0c8672ff6ddf34da14fa22a4d18ab9cd122b5..225acda4a2d17fe5c36aeafc2d7ca2d33697d60c 100644 (file)
@@ -748,8 +748,11 @@ function poco_check_server($server_url, $network = "", $force = false) {
        }
 
        if (!$serverret["success"] OR ($serverret["body"] == "") OR (sizeof($xmlobj) == 0) OR !is_object($xmlobj)) {
-               $last_failure = datetime_convert();
-               $failure = true;
+               // Workaround for bad configured servers (known nginx problem)
+               if ($serverret["debug"]["http_code"] != "403") {
+                       $last_failure = datetime_convert();
+                       $failure = true;
+               }
        } elseif ($network == NETWORK_DIASPORA)
                $last_contact = datetime_convert();
 
index 7f01c61c66f3134cee59ff0dfca814d7c7de3f2f..934472b39ff9c4172db531056b1d8ce551efdbef 100644 (file)
@@ -554,6 +554,7 @@ function contacts_content(&$a) {
                                'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block',
                                'sel'   => '',
                                'title' => t('Toggle Blocked status'),
+                               'id'    => 'toggle-block-tab',
                                'accesskey' => 'b',
                        ),
                        array(
@@ -561,6 +562,7 @@ function contacts_content(&$a) {
                                'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
                                'sel'   => '',
                                'title' => t('Toggle Ignored status'),
+                               'id'    => 'toggle-ignore-tab',
                                'accesskey' => 'i',
                        ),
 
@@ -569,6 +571,7 @@ function contacts_content(&$a) {
                                'url'   => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
                                'sel'   => '',
                                'title' => t('Toggle Archive status'),
+                               'id'    => 'toggle-archive-tab',
                                'accesskey' => 'v',
                        ),
                        array(
@@ -576,6 +579,7 @@ function contacts_content(&$a) {
                                'url'   => $a->get_baseurl(true) . '/crepair/' . $contact_id,
                                'sel'   => '',
                                'title' => t('Advanced Contact Settings'),
+                               'id'    => 'repair-tab',
                                'accesskey' => 'r',
                        )
                );
@@ -697,6 +701,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/suggest',
                        'sel'   => '',
                        'title' => t('Suggest potential friends'),
+                       'id'    => 'suggestions-tab',
                        'accesskey' => 'g',
                ),
                array(
@@ -704,6 +709,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/all',
                        'sel'   => ($all) ? 'active' : '',
                        'title' => t('Show all contacts'),
+                       'id'    => 'showall-tab',
                        'accesskey' => 'l',
                ),
                array(
@@ -711,6 +717,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts',
                        'sel'   => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '',
                        'title' => t('Only show unblocked contacts'),
+                       'id'    => 'showunblocked-tab',
                        'accesskey' => 'o',
                ),
 
@@ -719,6 +726,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/blocked',
                        'sel'   => ($blocked) ? 'active' : '',
                        'title' => t('Only show blocked contacts'),
+                       'id'    => 'showblocked-tab',
                        'accesskey' => 'b',
                ),
 
@@ -727,6 +735,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/ignored',
                        'sel'   => ($ignored) ? 'active' : '',
                        'title' => t('Only show ignored contacts'),
+                       'id'    => 'showignored-tab',
                        'accesskey' => 'i',
                ),
 
@@ -735,6 +744,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/archived',
                        'sel'   => ($archived) ? 'active' : '',
                        'title' => t('Only show archived contacts'),
+                       'id'    => 'showarchived-tab',
                        'accesskey' => 'y',
                ),
 
@@ -743,6 +753,7 @@ function contacts_content(&$a) {
                        'url'   => $a->get_baseurl(true) . '/contacts/hidden',
                        'sel'   => ($hidden) ? 'active' : '',
                        'title' => t('Only show hidden contacts'),
+                       'id'    => 'showhidden-tab',
                        'accesskey' => 'h',
                ),
 
index 686be3948f26ac2ffcbe55fdc9859dd54e47bff7..4f00190990654b0a898aee8a0722ecfe1413f076 100644 (file)
@@ -137,16 +137,10 @@ function crepair_content(&$a) {
 
        $contact = $r[0];
 
-       $msg1 = t('Repair Contact Settings');
+       $warning = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
+       $info = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
 
-       $msg2 = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
-       $msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
-
-       $o .= '<h2>' . $msg1 . '</h2>';
-
-       $o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>';
-
-       $o .= EOL . '<a href="contacts/' . $cid . '">' . t('Return to contact editor') . '</a>' . EOL;
+       $returnaddr = "contacts/$cid";
 
        $allow_remote_self = get_config('system','allow_users_remote_self');
 
@@ -165,6 +159,11 @@ function crepair_content(&$a) {
 
        $tpl = get_markup_template('crepair.tpl');
        $o .= replace_macros($tpl, array(
+               '$title'        => t('Repair Contact Settings'),
+               '$warning'      => $warning,
+               '$info'         => $info,
+               '$returnaddr'   => $returnaddr,
+               '$return'       => t('Return to contact editor'),
                '$update_profile' => update_profile,
                '$udprofilenow' => t('Refetch contact data'),
                '$label_name' => t('Name'),
@@ -178,7 +177,12 @@ function crepair_content(&$a) {
                '$label_photo' => t('New photo from this URL'),
                '$label_remote_self' => t('Remote Self'),
                '$allow_remote_self' => $allow_remote_self,
-               '$remote_self' => array('remote_self', t('Mirror postings from this contact'), $contact['remote_self'], t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), $remote_self_options),
+               '$remote_self' => array('remote_self',
+                                       t('Mirror postings from this contact'),
+                                       $contact['remote_self'],
+                                       t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
+                                       $remote_self_options
+                               ),
                '$contact_name' => htmlentities($contact['name']),
                '$contact_nick' => htmlentities($contact['nick']),
                '$contact_id'   => $contact['id'],
@@ -189,7 +193,7 @@ function crepair_content(&$a) {
                '$poll'         => $contact['poll'],
                '$contact_attag'  => $contact['attag'],
                '$lbl_submit'   => t('Submit')
-           ));
+       ));
 
        return $o;
 
index 5513ebe08d70b1c48475bb4d643833d1f9d085bf..bfa4d1475c891f3de026fd48d8fa8e14c0acc4d5 100644 (file)
@@ -98,8 +98,16 @@ function manage_content(&$a) {
        }
 
        $identities = $a->identities;
-       foreach($identities as $key=>$id) {
-               $identities[$key]['selected'] = (($id['nickname'] === $a->user['nickname']) ? ' selected="selected" ' : '');
+
+       //getting additinal information for each identity
+       foreach ($identities as $key=>$id) {
+               $thumb = q("SELECT `thumb` FROM `contact` WHERE `uid` = '%s' AND `self` = 1",
+                       dbesc($id['uid'])
+               );
+
+               $identities[$key][thumb] = $thumb[0][thumb];
+
+               $identities[$key]['selected'] = (($id['nickname'] === $a->user['nickname']) ? true : false);
        }
 
        $o = replace_macros(get_markup_template('manage.tpl'), array(
index dfd7c013007fbdb39618ee681764652df3252f29..639d868fa2a720bdb2ee35c3af307504bf50c48f 100644 (file)
@@ -119,19 +119,19 @@ function network_init(&$a) {
        $search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
 
        if(x($_GET,'save')) {
-               $r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1",
+               $r = q("SELECT * FROM `search` WHERE `uid` = %d AND `term` = '%s' LIMIT 1",
                        intval(local_user()),
                        dbesc($search)
                );
                if(! count($r)) {
-                       q("insert into `search` ( `uid`,`term` ) values ( %d, '%s') ",
+                       q("INSERT INTO `search` ( `uid`,`term` ) VALUES ( %d, '%s') ",
                                intval(local_user()),
                                dbesc($search)
                        );
                }
        }
        if(x($_GET,'remove')) {
-               q("delete from `search` where `uid` = %d and `term` = '%s'",
+               q("DELETE FROM `search` WHERE `uid` = %d AND `term` = '%s'",
                        intval(local_user()),
                        dbesc($search)
                );
@@ -172,7 +172,7 @@ function saved_searches($search) {
 
        $o = '';
 
-       $r = q("select `id`,`term` from `search` WHERE `uid` = %d",
+       $r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
                intval(local_user())
        );
 
@@ -355,57 +355,63 @@ function network_content(&$a, $update = 0) {
        // tabs
        $tabs = array(
                array(
-                       'label' => t('Commented Order'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
-                       'sel'=>$all_active,
-                       'title'=> t('Sort by Comment Date'),
+                       'label' => t('Commented Order'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $all_active,
+                       'title' => t('Sort by Comment Date'),
+                       'id'    => 'commented-order-tab',
                        'accesskey' => "e",
                ),
                array(
-                       'label' => t('Posted Order'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
-                       'sel'=>$postord_active,
-                       'title' => t('Sort by Post Date'),
+                       'label' => t('Posted Order'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $postord_active,
+                       'title' => t('Sort by Post Date'),
+                       'id'    => 'posted-order-tab',
                        'accesskey' => "t",
                ),
        );
 
        if(feature_enabled(local_user(),'personal_tab')) {
                $tabs[] = array(
-                       'label' => t('Personal'),
-                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
-                       'sel' => $conv_active,
-                       'title' => t('Posts that mention or involve you'),
+                       'label' => t('Personal'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
+                       'sel'   => $conv_active,
+                       'title' => t('Posts that mention or involve you'),
+                       'id'    => 'personal-tab',
                        'accesskey' => "r",
                );
        }
 
        if(feature_enabled(local_user(),'new_tab')) {
                $tabs[] = array(
-                       'label' => t('New'),
-                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
-                       'sel' => $new_active,
-                       'title' => t('Activity Stream - by date'),
+                       'label' => t('New'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
+                       'sel'   => $new_active,
+                       'title' => t('Activity Stream - by date'),
+                       'id'    => 'activitiy-by-date-tab',
                        'accesskey' => "w",
                );
        }
 
        if(feature_enabled(local_user(),'link_tab')) {
                $tabs[] = array(
-                       'label' => t('Shared Links'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
-                       'sel'=>$bookmarked_active,
-                       'title'=> t('Interesting Links'),
+                       'label' => t('Shared Links'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
+                       'sel'   => $bookmarked_active,
+                       'title' => t('Interesting Links'),
+                       'id'    => 'shared-links-tab',
                        'accesskey' => "b",
                );
        }
 
        if(feature_enabled(local_user(),'star_posts')) {
                $tabs[] = array(
-                       'label' => t('Starred'),
-                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
-                       'sel'=>$starred_active,
-                       'title' => t('Favourite Posts'),
+                       'label' => t('Starred'),
+                       'url'   => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
+                       'sel'   => $starred_active,
+                       'title' => t('Favourite Posts'),
+                       'id'    => 'starred-posts-tab',
                        'accesskey' => "m",
                );
        }
@@ -446,7 +452,7 @@ function network_content(&$a, $update = 0) {
                $def_acl = array('allow_cid' => '<' . intval($cid) . '>');
 
        if($nets) {
-               $r = q("select id from contact where uid = %d and network = '%s' and self = 0",
+               $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND network = '%s' AND `self` = 0",
                        intval(local_user()),
                        dbesc($nets)
                );
@@ -475,7 +481,10 @@ function network_content(&$a, $update = 0) {
                $content = "";
 
                if ($cid) {
-                       $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`", intval($cid), intval(local_user()));
+                       $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`",
+                               intval($cid),
+                               intval(local_user())
+                       );
                        if ($contact)
                                $content = "@".$contact[0]["nick"]."+".$cid;
                }
@@ -569,7 +578,7 @@ function network_content(&$a, $update = 0) {
                );
                if(count($r)) {
                        $sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
-                                           WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." and deleted = 0
+                                           WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
                                            ORDER BY `item`.`received` DESC) AS `temp1`
                                            ON $sql_table.$sql_parent = `temp1`.`parent` ";
                        $sql_extra = "";
index db1c94963618f8acbe5f84e64d8b4a2acc8d4872..45a577cda6bfd3764e9ac2d723112eea76df74f2 100644 (file)
@@ -1,4 +1,18 @@
-<?php
+<?php /** @file */
+
+/**
+ *
+ * Poke, prod, finger, or otherwise do unspeakable things to somebody - who must be a connection in your address book
+ * This function can be invoked with the required arguments (verb and cid and private and possibly parent) silently via ajax or
+ * other web request. You must be logged in and connected to a profile. 
+ * If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb.
+ * parent is a special argument which let's you attach this activity as a comment to an existing conversation, which
+ * may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the more pokes
+ * plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.  
+ *
+ * private creates a private conversation with the recipient. Otherwise your profile's default post privacy is used.
+ *
+ */
 
 require_once('include/security.php');
 require_once('include/bbcode.php');
@@ -33,7 +47,7 @@ function poke_init(&$a) {
        logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
 
 
-       $r = q("SELECT * FROM `contact` WHERE `id` = %d and  `uid` = %d LIMIT 1",
+       $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($contact_id),
                intval($uid)
        );
@@ -46,8 +60,8 @@ function poke_init(&$a) {
        $target = $r[0];
 
        if($parent) {
-               $r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid
-                       from item where id = %d and parent = %d and uid = %d limit 1",
+               $r = q("SELECT `uri`, `private`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`
+                       FROM `item` WHERE `id` = %d AND `parent` = %d AND `uid` = %d LIMIT 1",
                        intval($parent),
                        intval($parent),
                        intval($uid)
@@ -140,7 +154,7 @@ function poke_content(&$a) {
        $id = '';
 
        if(intval($_GET['c'])) {
-               $r = q("select id,name from contact where id = %d and uid = %d limit 1",
+               $r = q("SELECT `id`,`name` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($_GET['c']),
                        intval(local_user())
                );
@@ -153,31 +167,16 @@ function poke_content(&$a) {
 
        $base = $a->get_baseurl();
 
-       $a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>';
-       $a->page['htmlhead'] .= <<< EOT
-
-<script>$(document).ready(function() {
-       var a;
-       a = $("#poke-recip").autocomplete({
-               serviceUrl: '$base/acl',
-               minChars: 2,
-               width: 350,
-               onSelect: function(value,data) {
-                       $("#poke-recip-complete").val(data);
-               }
-       });
-       a.setOptions({ params: { type: 'a' }});
-
-
-});
+       $head_tpl = get_markup_template('poke_head.tpl');
+       $a->page['htmlhead'] .= replace_macros($head_tpl,array(
+               '$baseurl' => $a->get_baseurl(true),
+               '$base' => $base
+       ));
 
-</script>
-EOT;
 
        $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0');
 
 
-
        $verbs = get_poke_verbs();
 
        $shortlist = array();
index 6c1a82c7bbfb91dff327bdbfcdd84de5619af004..3ba57c8831962c92df38d197c67267ab535df777 100644 (file)
@@ -206,7 +206,7 @@ function profiles_post(&$a) {
                        if($ignore_year)
                                $dob = '0000-' . $dob;
                }
-                
+
                $name = notags(trim($_POST['name']));
 
                if(! strlen($name)) {
@@ -327,7 +327,7 @@ function profiles_post(&$a) {
 
                $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
 
-
+               set_pconfig(local_user(),'system','detailled_profile', (($_POST['detailled_profile'] == 1) ? 1: 0));
 
                $changes = array();
                $value = '';
@@ -540,7 +540,7 @@ function profile_activity($changed, $value) {
                return;
 
        $arr = array();
-       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user()); 
+       $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user());
        $arr['uid'] = local_user();
        $arr['contact-id'] = $self[0]['id'];
        $arr['wall'] = 1;
@@ -552,7 +552,7 @@ function profile_activity($changed, $value) {
        $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb'];
        $arr['verb'] = ACTIVITY_UPDATE;
        $arr['object-type'] = ACTIVITY_OBJ_PROFILE;
-                               
+
        $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
 
 
@@ -570,7 +570,7 @@ function profile_activity($changed, $value) {
                $changes .= $ch;
        }
 
-       $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';      
+       $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';
 
        if($t == 1 && strlen($value)) {
                $message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value);
@@ -578,9 +578,9 @@ function profile_activity($changed, $value) {
        }
        else
                $message =      sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes);
 
-       $arr['body'] = $message;  
+
+       $arr['body'] = $message;
 
        $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
        . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
@@ -664,8 +664,10 @@ function profiles_content(&$a) {
                        '$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
                ));
 
+               $personal_account = !(in_array($a->user["page-flags"],
+                                       array(PAGE_COMMUNITY, PAGE_PRVGROUP)));
 
-
+               $detailled_profile = (get_pconfig(local_user(),'system','detailled_profile') AND $personal_account);
 
                $f = get_config('system','birthday_input_format');
                if(! $f)
@@ -674,6 +676,17 @@ function profiles_content(&$a) {
                $is_default = (($r[0]['is-default']) ? 1 : 0);
                $tpl = get_markup_template("profile_edit.tpl");
                $o .= replace_macros($tpl,array(
+                       '$personal_account' => $personal_account,
+                       '$detailled_profile' => $detailled_profile,
+
+                       '$details' => array(
+                                'detailled_profile', //Name
+                                t('Show more profile fields:'), //Label
+                                $detailled_profile, //Value
+                                '', //Help string
+                                array(t('No'),t('Yes')) //Off - On strings
+                        ),
+
                        '$multi_profiles' => feature_enabled(local_user(),'multi_profiles'),
                        '$form_security_token' => get_form_security_token("profile_edit"),
                        '$form_security_token_photo' => get_form_security_token("profile_photo"),
@@ -775,10 +788,10 @@ function profiles_content(&$a) {
 
                return $o;
        }
-       
+
        //Profiles list.
        else {
-               
+
                //If we don't support multi profiles, don't display this list.
                if(!feature_enabled(local_user(),'multi_profiles')){
                        $r = q(
@@ -790,11 +803,11 @@ function profiles_content(&$a) {
                                goaway($a->get_baseurl(true) . '/profiles/'.$r[0]['id']);
                        }
                }
-               
+
                $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
                        local_user());
                if(count($r)) {
-                       
+
                        $tpl_header = get_markup_template('profile_listing_header.tpl');
                        $o .= replace_macros($tpl_header,array(
                                '$header' => t('Edit/Manage Profiles'),
@@ -802,17 +815,17 @@ function profiles_content(&$a) {
                                '$cr_new' => t('Create New Profile'),
                                '$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new")
                        ));
-                       
-                       
+
+
                        $tpl = get_markup_template('profile_entry.tpl');
-                       
+
                        foreach($r as $rr) {
                                $o .= replace_macros($tpl, array(
                                        '$photo' => $a->get_cached_avatar_image($rr['thumb']),
                                        '$id' => $rr['id'],
                                        '$alt' => t('Profile Image'),
                                        '$profile_name' => $rr['profile-name'],
-                                       '$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>' 
+                                       '$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>'
                                                : '<a href="' . $a->get_baseurl(true) . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>')
                                ));
                        }
index f61eab0a1bf0920cd87d4b0f3414b2d2e3dd9302..ffa4f3ed72ca865d63a81c3fca47eff4a81de60e 100644 (file)
@@ -57,8 +57,8 @@ function uimport_content(&$a) {
                unset($_SESSION['theme']);\r
        if(x($_SESSION,'mobile-theme'))\r
                unset($_SESSION['mobile-theme']);\r
-       \r
-       \r
+\r
+\r
     $tpl = get_markup_template("uimport.tpl");\r
     return replace_macros($tpl, array(\r
         '$regbutt' => t('Import'),\r
@@ -66,8 +66,8 @@ function uimport_content(&$a) {
             'title' => t("Move account"),\r
                        'intro' => t("You can import an account from another Friendica server."),\r
                        'instruct' => t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."),\r
-                       'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"),\r
+                       'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"),\r
             'field' => array('accountfile', t('Account file'),'<input id="id_accountfile" name="accountfile" type="file">', t('To export your account, go to "Settings->Export your personal data" and select "Export account"')),\r
-        ),  \r
+        ),\r
     ));\r
 }\r
index 06aab577a35609f5dccc38f5c6f845bac1e52fcf..7c32f5819c35ba7aa905a23f1640932fc0a8d268 100644 (file)
@@ -1648,3 +1648,14 @@ function update_1180() {
 
        return UPDATE_SUCCESS;
 }
+
+function update_1188() {
+
+       if (strlen(get_config('system','directory_submit_url')) AND
+               !strlen(get_config('system','directory'))) {
+               set_config('system','directory', dirname(get_config('system','directory_submit_url')));
+               del_config('system','directory_submit_url');
+       }
+
+       return UPDATE_SUCCESS;
+}
index c2f5840039234e37c08101e9698d3e6e1961376e..477f778d9a11aeffed52b9c5ca5cf62c9db2c4e9 100644 (file)
@@ -212,3 +212,64 @@ a {
   clip: rect(0,0,0,0);
   border: 0;
 }
+
+.itentity-match-wrapper {
+  float: left;
+  padding: 10px;
+  width: 120px;
+  height: 140px;
+  margin-bottom: 20px;
+}
+
+.identity-match-photo {
+  float: left;
+  text-align: center;
+  width: 120px;
+}
+
+.identity-match-name {
+  text-align: center;
+}
+
+.identity-match-details {
+  float: left;
+  text-align: center;
+  width: 120px;
+  overflow: hidden;
+  font-size: 10px;
+  font-weight: 500;
+  color: #999999;
+}
+
+.identity-match-break, .identity-match-end {
+  clear: both;
+}
+
+.identity-match-photo button {
+  border: none;
+  padding: 0;
+  margin: 0;
+  background: none;
+  height: 80px;
+  width: 80px;
+}
+
+.selected-identity img {
+  border: 2px solid #ff0000;
+}
+/* poke */
+#poke-desc {
+       margin: 5px 0 10px;
+}
+
+#poke-wrapper  {
+       padding: 10px 0 0px;
+}
+
+#poke-recipient, #poke-action, #poke-privacy-settings {
+       margin: 10px 0 30px;
+}
+
+#poke-recip-label, #poke-action-label, #prvmail-message-label {
+       margin: 10px 0 10px;
+}
index 5b3a6281ebf8af0dbdaf15c25067d05df356e434..d500f04720b276b31ee0d161890366c1ca4d2702 100644 (file)
@@ -1,3 +1,13 @@
+
+{{include file="section_title.tpl"}}
+
+<div class="crepair-error-message">{{$warning}}</div><br>
+<div class="crepair-return">
+       {{$info}}<br>
+       <a href="{{$returnaddr}}">{{$return}}</a>
+</div>
+<br />
+
 <form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
 
 <h4>{{$contact_name}}</h4>
index 80477bc40b3aa956bf0d9d5ea68da3ff089857a0..8a7922d7be3149c357858fdbb13b236ee3ab7fd0 100644 (file)
@@ -2,17 +2,30 @@
 <h3>{{$title}}</h3>
 <div id="identity-manage-desc">{{$desc}}</div>
 <div id="identity-manage-choose">{{$choose}}</div>
+
 <div id="identity-selector-wrapper">
        <form action="manage" method="post" >
-       <select name="identity" size="10" onchange="this.form.submit();" >
 
        {{foreach $identities as $id}}
-               <option {{$id.selected}} value="{{$id.uid}}">{{$id.username}} ({{$id.nickname}})</option>
-       {{/foreach}}
+               <div class="itentity-match-wrapper {{if $id.selected}}selected-identity{{/if}}" id="identity-match-{{$id.uid}}">
+                       <div class="identity-match-photo" id="identity-match-photo-{{$id.uid}}">
+                               <button name="identity" value="{{$id.uid}}" onclick="this.form.submit();" title="{{$id.username}}">
+                                       <img src="{{$id.thumb}}" alt="{{$id.username}}" />
+                               </button>
+                       </div>
 
-       </select>
-       <div id="identity-select-break"></div>
+                       <div class="identity-match-break"></div>
 
-       {{*<!--<input id="identity-submit" type="submit" name="submit" value="{{$submit}}" />-->*}}
-</div></form>
+                       <div class="identity-match-desc">
+                               <div class="identity-match-name" id="identity-match-name-{{$id.uid}}">{{$id.username}}</div>
+                               <div class="identity-match-details" id="identity-match-nick-{{$id.uid}}">({{$id.nickname}})</div>
+                       </div>
+
+                       <div class="identity-match-end"></div>
+               </div>
+       {{/foreach}}
 
+       </form>
+</div>
+       
+       
\ No newline at end of file
index 857dfb2003893c6f7907b6cf677ebfae235202c2..18191de03fc4e633c7265fa644af4729a19a6e97 100644 (file)
@@ -3,31 +3,33 @@
 
 <div id="poke-desc">{{$desc}}</div>
 
-<form action="poke" method="get">
-<br />
-<br />
-
-<div id="poke-recip-label">{{$clabel}}</div>
-<br />
-<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
-<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
-<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
-<br />
-<br />
-<div id="poke-action-label">{{$choice}}</div>
-<br />
-<br />
-<select name="verb" id="poke-verb-select" >
-{{foreach $verbs as $v}}
-<option value="{{$v.0}}">{{$v.1}}</option>
-{{/foreach}}
-</select>
-<br />
-<br />
-<div id="poke-private-desc">{{$prv_desc}}</div>
-<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
-<br />
-<br />
-<input type="submit" name="submit" value="{{$submit|escape:'html'}}" />
-</form>
+
+<div id="poke-wrapper">
+       <form action="poke" method="get">
+
+       <div id="poke-recipient">
+               <div id="poke-recip-label">{{$clabel}}</div>
+               <input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
+               <input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
+               <input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
+       </div>
+
+       <div id="poke-action">
+               <div id="poke-action-label">{{$choice}}</div>
+               <select name="verb" id="poke-verb-select" >
+               {{foreach $verbs as $v}}
+               <option value="{{$v.0}}">{{$v.1}}</option>
+               {{/foreach}}
+               </select>
+       </div>
+
+       <div id="poke-privacy-settings">
+               <div id="poke-private-desc">{{$prv_desc}}</div>
+               <input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
+       </div>
+
+       <input type="submit" name="submit" value="{{$submit|escape:'html'}}" />
+
+       </form>
+</div>
 
diff --git a/view/templates/poke_head.tpl b/view/templates/poke_head.tpl
new file mode 100644 (file)
index 0000000..6e30eb7
--- /dev/null
@@ -0,0 +1,18 @@
+<script src="{{$baseurl}}/library/jquery_ac/friendica.complete.js" ></script>
+
+<script>$(document).ready(function() {
+       var a;
+       a = $("#poke-recip").autocomplete({
+               serviceUrl: '{{$base}}/acl',
+               minChars: 2,
+               width: 350,
+               onSelect: function(value,data) {
+                       $("#poke-recip-complete").val(data);
+               }
+       });
+       a.setOptions({ params: { type: 'a' }});
+
+
+});
+
+</script>
\ No newline at end of file
index 480add44042ea942bb94978048a13d012c6f69e3..76445685d5968e9f653f68098c30fa50d677647e 100644 (file)
@@ -21,6 +21,8 @@
 <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
 <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
 
+{{if $detailled_profile}}
+{{include file="field_yesno.tpl" field=$details}}
 <div id="profile-edit-profile-name-wrapper" >
 <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
 <input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
 </div>
 <div class="profile-edit-submit-end"></div>
 
+{{else}}
+{{if $personal_account}}
+{{include file="field_yesno.tpl" field=$details}}
+{{/if}}
+<div id="profile-edit-profile-name-wrapper" >
+<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
+<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
+</div>
+<div id="profile-edit-profile-name-end"></div>
+
+<div id="profile-edit-name-wrapper" >
+<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
+<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
+</div>
+<div id="profile-edit-name-end"></div>
+
+{{if $personal_account}}
+<div id="profile-edit-gender-wrapper" >
+<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
+{{$gender}}
+</div>
+<div id="profile-edit-gender-end"></div>
+
+<div id="profile-edit-dob-wrapper" >
+<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
+<div id="profile-edit-dob" >
+{{$dob}} {{$age}}
+</div>
+</div>
+<div id="profile-edit-dob-end"></div>
+{{/if}}
+
+<div id="profile-edit-homepage-wrapper" >
+<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
+<input type="url" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage|escape:'html'}}" />
+</div>
+<div id="profile-edit-homepage-end"></div>
+
+{{$hide_friends}}
+
+<div id="profile-edit-address-wrapper" >
+<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
+<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
+</div>
+<div id="profile-edit-address-end"></div>
+
+<div id="profile-edit-locality-wrapper" >
+<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
+<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
+</div>
+<div id="profile-edit-locality-end"></div>
+
+
+<div id="profile-edit-postal-code-wrapper" >
+<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
+<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
+</div>
+<div id="profile-edit-postal-code-end"></div>
+
+<div id="profile-edit-country-name-wrapper" >
+<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
+<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
+<option selected="selected" >{{$country_name}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-country-name-end"></div>
+
+<div id="profile-edit-region-wrapper" >
+<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
+<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
+<option selected="selected" >{{$region}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-region-end"></div>
+
+<div id="profile-edit-pubkeywords-wrapper" >
+<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
+<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
+</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
+<div id="profile-edit-pubkeywords-end"></div>
+
+<div id="profile-edit-prvkeywords-wrapper" >
+<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
+<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
+</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
+<div id="profile-edit-prvkeywords-end"></div>
+
+<div id="about-jot-wrapper" >
+<p id="about-jot-desc" >
+{{$lbl_about}}
+</p>
+
+<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
+
+</div>
+<div id="about-jot-end"></div>
+
+<div class="profile-edit-submit-wrapper" >
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
+</div>
+<div class="profile-edit-submit-end"></div>
 
+        <input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
+        <input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
+        <input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
+        <input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
+        <input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
+        <input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
+        <input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
+        <input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
+        <input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
+        <input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
+        <input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
+        <input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
+        <input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
+        <input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
+        <input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
+        <input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
+        <input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
+
+{{/if}}
 </form>
 </div>
 <script type="text/javascript">Fill_Country('{{$country_name}}');Fill_States('{{$region}}');</script>
index 4db523c5baa921a60680d105fdfedc9a65426109..62b248e8c4e1d93e24fc113f4c4a18b36798d4f3 100644 (file)
@@ -972,7 +972,7 @@ input#dfrn-url {
 }
 
 .wall-item-content-wrapper.comment {
-#      margin-left: 50px;
+       /*margin-left: 50px;*/
        background: #EEEEEE;
 }
 
index 46fe48caf3974f7e12e019fa69fd73ce2684208a..f1901d1a169049fc60e2fc6f98a0a2fa064f410c 100644 (file)
@@ -2512,6 +2512,22 @@ a.mail-list-link {
        clear: both;\r
 }\r
 \r
+#poke-desc {\r
+       margin: 5px 0 10px;\r
+}\r
+\r
+#poke-wrapper  {\r
+       padding: 10px 0 0px;\r
+}\r
+\r
+#poke-recipient, #poke-action, #poke-privacy-settings {\r
+       margin: 10px 0 30px;\r
+}\r
+\r
+#poke-recip-label, #poke-action-label, #prvmail-message-label {\r
+       margin: 10px 0 10px;\r
+}\r
+\r
 #sidebar-group-list ul {\r
        list-style-type: none;\r
 }\r
@@ -3246,17 +3262,49 @@ aside input[type='text'] {
        margin: 10px;\r
 }\r
 \r
-#identity-manage-desc {\r
-       margin-top:15px;\r
-       margin-bottom: 15px;\r
+.itentity-match-wrapper {\r
+       float: left;\r
+       padding: 10px;\r
+       width: 120px;\r
+       height: 140px;\r
+       margin-bottom: 20px;\r
 }\r
 \r
-#identity-manage-choose {\r
-       margin-bottom: 15px;\r
+.identity-match-photo {\r
+       float: left;\r
+       text-align: center;\r
+       width: 120px;\r
 }\r
 \r
-#identity-submit {\r
-       margin-top: 20px;\r
+.identity-match-name {\r
+       text-align: center;\r
+}\r
+\r
+.identity-match-details {\r
+       float: left;\r
+       text-align: center;\r
+       width: 120px;\r
+       overflow: hidden;\r
+       font-size: 10px;\r
+       font-weight: 500;\r
+       color: #999999;\r
+}\r
+\r
+.identity-match-break, .identity-match-end {\r
+       clear: both;\r
+}\r
+\r
+.identity-match-photo button {\r
+       border: none;\r
+       padding: 0;\r
+       margin: 0;\r
+       background: none;\r
+       height: 80px;\r
+       width: 80px;\r
+}\r
+\r
+.selected-identity img {\r
+       border: 2px solid #ff0000;\r
 }\r
 \r
 #photo-nav {\r
@@ -4229,7 +4277,7 @@ ul.notifications-menu-popup {
 #recip {\r
        \r
 }\r
-.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }\r
+.autocomplete-w1 { background: #ffffff no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }\r
 .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden; }\r
 .autocomplete .selected { background:#F0F0F0; }\r
 .autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }\r
index b35c4140535786420ba336a7174f9c270bce070b..74b5dde0b6d94ade777feb4822229b032d0376dc 100644 (file)
@@ -2327,6 +2327,22 @@ a.mail-list-link {
        clear: both;
 }
 
+#poke-desc {
+       margin: 5px 0 10px;
+}
+
+#poke-wrapper  {
+       padding: 10px 0 20px;
+}
+
+#poke-recipient, #poke-action, #poke-privacy-settings {
+       margin: 10px 0 30px;
+}
+
+#poke-recip-label, #poke-action-label, #prvmail-message-label {
+       margin: 10px 0 10px;
+}
+
 #sidebar-group-list ul {
        list-style-type: none;
 }
@@ -3018,17 +3034,49 @@ aside input[type='text'] {
        margin: 10px;
 }
 
-#identity-manage-desc {
-       margin-top:15px;
-       margin-bottom: 15px;
+.itentity-match-wrapper {
+       float: left;
+       padding: 10px;
+       width: 120px;
+       height: 140px;
+       margin-bottom: 20px;
 }
 
-#identity-manage-choose {
-       margin-bottom: 15px;
+.identity-match-photo {
+       float: left;
+       text-align: center;
+       width: 120px;
 }
 
-#identity-submit {
-       margin-top: 20px;
+.identity-match-name {
+       text-align: center;
+}
+
+.identity-match-details {
+       float: left;
+       text-align: center;
+       width: 120px;
+       overflow: hidden;
+       font-size: 10px;
+       font-weight: 500;
+       color: #999999;
+}
+
+.identity-match-break, .identity-match-end {
+       clear: both;
+}
+
+.identity-match-photo button {
+       border: none;
+       padding: 0;
+       margin: 0;
+       background: none;
+       height: 80px;
+       width: 80px;
+}
+
+.selected-identity img {
+       border: 2px solid #ff0000;
 }
 
 #photo-prev-link, #photo-next-link {
index ae670cf3ad8b23c8c03cd43be12e944225121411..2553c57a9ea622c71d3c60ac9a3beb8ab45c3cc7 100644 (file)
@@ -2697,6 +2697,13 @@ margin-left: 0px;
        border: 1px solid #7C7D7B;
 }
 
+/* ========== */
+/* = Poke = */
+/* ========== */
+#poke-recip {
+       float: none;
+}
+
 /* ================= */
 /* = Notifications = */
 /* ================= */
index d494cf459ce7d578745167db2efa5e508ecdd4ca..a4c0420ca454f3338f66074de304b271aaccc8e9 100644 (file)
@@ -2529,6 +2529,7 @@ a.mail-list-link {
        border: none;
 }
 
+
 /* ========== */
 /* = Events = */
 /* ========== */
index db512eb7f9366025fa9d19415eff371eb82aef25..927041056191f7d2f1fc5f48522a3c57d5b3d2a4 100644 (file)
   <input type="hidden" name="profile" value="{{$profile_name}}" />
   
   <!-- Profile picture -->
+{{if $detailled_profile}}
   <div class="toggle-section js-toggle-section">
     <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_picture_section}} &raquo;</a>
     <div class="js-section toggle-section-content hidden">
+{{/if}}
       
       <div id="profile-photo-upload-wrapper">
         <label id="profile-photo-upload-label" for="profile-photo-upload">{{$lbl_profile_photo}}:</label>
       </div>
       <div class="profile-edit-submit-end"></div>
     
+{{if $detailled_profile}}
     </div>
   </div>
-  
+{{/if}}
 </form>
 
 <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
   <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-  
+
+{{if $detailled_profile}}
   <!-- Basic information -->
   <div class="toggle-section js-toggle-section">
     <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_basic_section}} &raquo;</a>
     <div class="js-section toggle-section-content hidden">
       
+      {{include file="field_yesno.tpl" field=$details}}
+
       {{if $multi_profiles}}
         <div id="profile-edit-profile-name-wrapper" >
           <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
       
     </div>
   </div>
+{{else}}
+
+{{if $personal_account}}
+{{include file="field_yesno.tpl" field=$details}}
+{{/if}}
+<div id="profile-edit-profile-name-wrapper" >
+<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
+<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
+</div>
+<div id="profile-edit-profile-name-end"></div>
+
+<div id="profile-edit-name-wrapper" >
+<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
+<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
+</div>
+<div id="profile-edit-name-end"></div>
+
+{{if $personal_account}}
+<div id="profile-edit-gender-wrapper" >
+<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
+{{$gender}}
+</div>
+<div id="profile-edit-gender-end"></div>
+
+<div id="profile-edit-dob-wrapper" >
+<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
+<div id="profile-edit-dob" >
+{{$dob}} {{$age}}
+</div>
+</div>
+<div id="profile-edit-dob-end"></div>
+{{/if}}
+
+      <div id="profile-edit-homepage-wrapper" >
+        <label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
+        <input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" />
+      </div>
+      <div id="profile-edit-homepage-end"></div>
+
+{{$hide_friends}}
+
+<div id="profile-edit-address-wrapper" >
+<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
+<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
+</div>
+<div id="profile-edit-address-end"></div>
+
+<div id="profile-edit-locality-wrapper" >
+<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
+<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
+</div>
+<div id="profile-edit-locality-end"></div>
+
+
+<div id="profile-edit-postal-code-wrapper" >
+<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
+<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
+</div>
+<div id="profile-edit-postal-code-end"></div>
+
+<div id="profile-edit-country-name-wrapper" >
+<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
+<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
+<option selected="selected" >{{$country_name}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-country-name-end"></div>
+<div id="profile-edit-region-wrapper" >
+<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
+<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
+<option selected="selected" >{{$region}}</option>
+<option>temp</option>
+</select>
+</div>
+<div id="profile-edit-region-end"></div>
+
+<div id="profile-edit-pubkeywords-wrapper" >
+<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
+<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
+</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
+<div id="profile-edit-pubkeywords-end"></div>
+
+<div id="profile-edit-prvkeywords-wrapper" >
+<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
+<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
+</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
+<div id="profile-edit-prvkeywords-end"></div>
+
+<div id="about-jot-wrapper" >
+<p id="about-jot-desc" >
+{{$lbl_about}}
+</p>
+
+<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
+
+</div>
+<div id="about-jot-end"></div>
+
+<div class="profile-edit-submit-wrapper" >
+<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
+</div>
+<div class="profile-edit-submit-end"></div>
+
+        <input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
+        <input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
+        <input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
+        <input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
+        <input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
+        <input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
+        <input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
+        <input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
+        <input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
+        <input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
+        <input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
+        <input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
+        <input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
+        <input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
+        <input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
+        <input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
+        <input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
+
+{{/if}}
   
 </form>
 </div>