]> git.mxchange.org Git - friendica.git/commitdiff
mongo checkin, global directory, redir rework, location basics
authorMike Macgirvin <mike@macgirvin.com>
Thu, 19 Aug 2010 11:59:31 +0000 (04:59 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Thu, 19 Aug 2010 11:59:31 +0000 (04:59 -0700)
27 files changed:
boot.php
database.sql
htconfig.php
images/mapicon.gif [new file with mode: 0644]
images/youtube_icon.gif [new file with mode: 0644]
include/directory.php [new file with mode: 0644]
include/main.js
include/nav.php
include/notifier.php
include/poller.php
include/security.php
mod/contacts.php
mod/dfrn_poll.php
mod/directory.php
mod/network.php
mod/photos.php
mod/profile.php
mod/profiles.php
mod/redir.php
view/directory_header.tpl
view/head.tpl
view/htconfig.tpl
view/profile-in-netdir.tpl [new file with mode: 0644]
view/profile_edit.tpl
view/theme/default/style.css
view/wall_item.tpl
view/wallwall_item.tpl

index eae44c672955a9c3c78c892bbf9523e36a567827..17eccd138fb294968bd38c4baf77c83235420910 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -170,6 +170,8 @@ function system_unavailable() {
 if(! function_exists('check_config')) {
 function check_config(&$a) {
 
+       load_config('system');
+
        $build = get_config('system','build');
        if(! x($build))
                $build = set_config('system','build',BUILD_ID);
@@ -560,19 +562,45 @@ function sanitise_acl(&$item) {
                unset($item);
 }}
 
+if(! function_exists('load_config')) {
+function load_config($family) {
+       global $a;
+       $r = q("SELECT * FROM `config` WHERE `cat` = '%s'",
+               dbesc($family)
+       );
+       if(count($r)) {
+               foreach($r as $rr) {
+                       $k = $rr['k'];
+                       $a->config[$family][$k] = $rr['v'];
+               }
+       }
+}}
+
+
+
 if(! function_exists('get_config')) {
 function get_config($family,$key) {
+       global $a;
+       if(isset($a->config[$family][$key]))
+               return $a->config[$family][$key];
+
        $ret = q("SELECT `v` FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1",
                dbesc($family),
                dbesc($key)
        );
-       if(count($ret))
+       if(count($ret)) {
+               $a->config[$family][$key] = $ret[0]['v'];
                return $ret[0]['v'];
+       }
        return false;
 }}
 
 if(! function_exists('set_config')) {
 function set_config($family,$key,$value) {
+
+       global $a;
+       $a->config[$family][$key] = $value;
+
        if(get_config($family,$key) === false) {
                $ret = q("INSERT INTO `config` ( `cat`, `k`, `v` ) VALUES ( '%s', '%s', '%s' ) ",
                        dbesc($family),
index 886c4b3b6df3e671f892bf25166d722c678dbf3d..1809f4703bdc421c99e8195a0d546fc3c3cc9001 100644 (file)
@@ -264,7 +264,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
   `region` char(255) NOT NULL,
   `postal-code` char(32) NOT NULL,
   `country-name` char(255) NOT NULL,
-  `gender` char(8) NOT NULL,
+  `gender` char(32) NOT NULL,
   `marital` char(255) NOT NULL,
   `sexual` char(255) NOT NULL,
   `politic` char(255) NOT NULL,
@@ -284,6 +284,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
   `photo` char(255) NOT NULL,
   `thumb` char(255) NOT NULL,
   `publish` tinyint(1) NOT NULL DEFAULT '0',
+  `net-publish` tinyint(1) NOT NULL DEFAULT '0',
   PRIMARY KEY (`id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
index e9c2db3507f6cc5b5bcd03646a12f2e5c076e1aa..0c365579cbc37d4019a2ef3cbf2d3ed51c740359 100644 (file)
@@ -30,4 +30,12 @@ $a->config['admin_email'] = '';
 
 // Maximum size of an imported message, 0 is unlimited (but our database 'text' element is limited to 65535).
 
-$a->config['max_import_size'] = 10000;
\ No newline at end of file
+$a->config['max_import_size'] = 10000;
+
+// Location of PHP command line processor
+
+$a->config['php_path'] = 'php';
+
+// Location of global directory submission page. 
+
+$a->config['system']['directory_submit_url'] = 'http://dir.dfrn.org/submit';
diff --git a/images/mapicon.gif b/images/mapicon.gif
new file mode 100644 (file)
index 0000000..dd20c20
Binary files /dev/null and b/images/mapicon.gif differ
diff --git a/images/youtube_icon.gif b/images/youtube_icon.gif
new file mode 100644 (file)
index 0000000..987b82b
Binary files /dev/null and b/images/youtube_icon.gif differ
diff --git a/include/directory.php b/include/directory.php
new file mode 100644 (file)
index 0000000..5f835dc
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+
+       require_once("boot.php");
+
+       $a = new App;
+
+       @include(".htconfig.php");
+       require_once("dba.php");
+       $db = new dba($db_host, $db_user, $db_pass, $db_data);
+               unset($db_host, $db_user, $db_pass, $db_data);
+
+
+       if($argc != 2)
+               exit;
+
+       load_config('system');
+
+       $a->set_baseurl(get_config('system','url'));
+
+       $dir = get_config('system','directory_submit_url');
+
+       if(! strlen($dir))
+               exit;
+
+       fetch_url($dir . '?url=' . bin2hex($argv[1]));
+
+       exit;
+
index f1c6cee12e30a027c82736ca63590b4a744820ef..c136488dd49aea1e341aa291d5d947d0ee83f665 100644 (file)
                }
        }
 
+       var src = null;
+       var prev = null;
+       var livetime = null;
+       var msie = false;
+
+       $(document).ready(function() {
+               $.ajaxSetup({cache: false});
+               msie = $.browser.msie ;
+               NavUpdate(); 
+
+
+
+       });
+
+       function NavUpdate() {
+
+               if($('#live-network').length) { src = 'network'; liveUpdate(); }
+               if($('#live-profile').length) { src = 'profile'; liveUpdate(); }
+
+               $.get("ping",function(data) {
+                       $(data).find('result').each(function() {
+                               var net = $(this).find('net').text();
+                               if(net == 0) { net = ''; }
+                               $('#net-update').html(net);
+                               var home = $(this).find('home').text();
+                               if(home == 0) { home = ''; }
+                               $('#home-update').html(home);
+                               var mail = $(this).find('mail').text();
+                               if(mail == 0) { mail = ''; }
+                               $('#mail-update').html(mail);
+                               var intro = $(this).find('intro').text();
+                               if(intro == 0) { intro = ''; }
+                               $('#notify-update').html(intro);
+                       });
+               }) ;
+               setTimeout(NavUpdate,30000);
+
+       }
+
+       function liveUpdate() {
+               if(src == null) { return; }
+               if($('.comment-edit-text-full').length) {
+                       livetime = setTimeout(liveUpdate, 10000);
+                       return;
+               }
+               prev = 'live-' + src;
+
+               $.get('update_' + src + '?msie=' + ((msie) ? 1 : 0),function(data) {
+                       $('.wall-item-outside-wrapper',data).each(function() {
+                               var ident = $(this).attr('id');
+                               if($('#' + ident).length == 0) { 
+                                        $('img',this).each(function() {
+                                                $(this).attr('src',$(this).attr('dst'));
+                                        });
+                                       $('#' + prev).after($(this));
+                               }
+                               else { 
+
+                                       $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago')); 
+                                       $('#' + ident + ' ' + '.wall-item-comment-wrapper').replaceWith($(this).find('.wall-item-comment-wrapper'));
+                                        $('#' + ident + ' ' + '.my-comment-photo').each(function() {
+                                                $(this).attr('src',$(this).attr('dst'));
+                                        });
+
+
+                               }
+                               prev = ident; 
+                       });
+               });
+
+       }
+
+       function confirmDelete() { 
+               return confirm("Delete this item?");
+       }
+
+       function imgbright(node) {
+               $(node).attr("src",$(node).attr("src").replace('hide','show'));
+               $(node).css('width',24);
+               $(node).css('height',24);
+       }
+
+       function imgdull(node) {
+               $(node).attr("src",$(node).attr("src").replace('show','hide'));
+               $(node).css('width',16);
+               $(node).css('height',16);
+       }
index 2e59ad2ac465be0eb8d108265d2cb8f8f82bf2ac..4833ed7db5688bb68aba0793acbb19e58f307c72 100644 (file)
@@ -12,7 +12,7 @@ if(x($_SESSION['uid'])) {
                $a->page['nav'] .= '<a id="nav-register-link" class="nav-commlink" href="register" >' 
                        . t('Register') . "</a>\r\n";
 
-       $a->page['nav'] .= '<a id="nav-directory-link" class="nav-link" href="directory">' . t('Site Directory') . "</a>\r\n";
+       $a->page['nav'] .= '<a id="nav-directory-link" class="nav-link" href="directory">' . t('Directory') . "</a>\r\n";
 
        if(x($_SESSION,'uid')) {
 
index 149ce765cbf12271179c16d8309bb74c25616b76..ff18dd9b4fe0eccd0012497b16d363815ff23655 100644 (file)
@@ -8,7 +8,7 @@
 
        @include(".htconfig.php");
        require_once("dba.php");
-       $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
+       $db = new dba($db_host, $db_user, $db_pass, $db_data);
                unset($db_host, $db_user, $db_pass, $db_data);
 
        require_once("session.php");
index 1a323971f1ce8baa42003206c2e7c7897d5fb4cc..fcd74fd69b17a83281e86c175a15dcb0f0b1560b 100644 (file)
@@ -7,7 +7,7 @@ $a = new App;
 
 @include('.htconfig.php');
 require_once('dba.php');
-$db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
+$db = new dba($db_host, $db_user, $db_pass, $db_data);
        unset($db_host, $db_user, $db_pass, $db_data);
 
 require_once('session.php');
index a71391dbaca30cc20cc44657d40b5199afeaa4ab..29334549b1fa543667091cc4032a5d85cbb94d04 100644 (file)
@@ -6,9 +6,12 @@ function can_write_wall(&$a,$owner) {
         if((local_user()) && ($_SESSION['uid'] == $owner))
                 return true;
 
-        $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d AND `blocked` = 0 AND `pending` = 0 LIMIT 1",
+        $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `id` = %d AND `blocked` = 0 AND `pending` = 0 
+               AND `readonly` = 0  AND `rel` IN ( %d , %d ) LIMIT 1",
                 intval($owner),
-                intval($_SESSION['visitor_id'])
+                intval($_SESSION['visitor_id']),
+               intval(DIRECTION_OUT),
+               intval(DIRECTION_BOTH)
         );
         if(count($r))
                 return true;
index 45c0040c8f8501c1f46ea999f6869a62376b8c59..7baeb3e14e3ca7dbf1daa6141dd219d3843edda6 100644 (file)
@@ -201,7 +201,7 @@ function contacts_content(&$a) {
                        '$name' => $r[0]['name'],
                        '$dir_icon' => $dir_icon,
                        '$alt_text' => $alt_text,
-                       '$url' => (($direction != DIRECTION_IN) ? "redir/{$r[0]['id']}" : $r[0]['url'] )
+                       '$url' => (($direction != DIRECTION_OUT) ? "redir/{$r[0]['id']}" : $r[0]['url'] )
 
                ));
 
@@ -296,7 +296,7 @@ function contacts_content(&$a) {
                                '$dir_icon' => $dir_icon,
                                '$thumb' => $rr['thumb'], 
                                '$name' => $rr['name'],
-                               '$url' => (($direction != DIRECTION_IN) ? "redir/{$rr['id']}" : $rr['url'] )
+                               '$url' => (($direction != DIRECTION_OUT) ? "redir/{$rr['id']}" : $rr['url'] )
                        ));
                }
                $o .= '<div id="contact-edit-end"></div>';
index d0b915acf0a48f76e4247c9d4ef440eb5c33c040..c627c2b41896bb3ed9717a0d3c1a5f17ed896467 100644 (file)
@@ -25,7 +25,7 @@ function dfrn_poll_init(&$a) {
 
                $r = q("SELECT `contact`.*, `user`.`nickname` 
                        FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
-                       WHERE `issued-id` = '%s' LIMIT 1",
+                       WHERE `dfrn-id` = '%s' LIMIT 1",
                        dbesc($dfrn_id));
                if(count($r)) {
                        $s = fetch_url($r[0]['poll'] . '?dfrn_id=' . $dfrn_id . '&type=profile-check');
index 8b7f34c415bf901af1c2866ca9a1cc300c58142d..9cce167605178ef9b7a322edebff0690614faf94 100644 (file)
@@ -9,6 +9,8 @@ function directory_content(&$a) {
 
        $tpl .= file_get_contents('view/directory_header.tpl');
 
+       
+
        $o .= replace_macros($tpl, array(
                '$search' => $search,
                '$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : "")
index 982c381f2b997a250ce5bf129c8744e35b684ecc..027248bdd3efbc45ccb570a4cefe5420b595d615 100644 (file)
@@ -148,7 +148,8 @@ function network_content(&$a, $update = false) {
                                        $template = $wallwall;
                                        $commentww = 'ww';
                                        // If it is our contact, use a friendly redirect link
-                                       if($item['owner-link'] == $item['url'])
+                                       if(($item['owner-link'] == $item['url']) && ($item['rel'] == DIRECTION_IN || $item['rel'] == DIRECTION_BOTH))
+                                               $owner_url = $redirect_url;
                                                $owner_url = $redirect_url;
 
                                }
@@ -179,7 +180,7 @@ function network_content(&$a, $update = false) {
 
 
        
-                       if(($item['contact-uid'] == $_SESSION['uid']) && (strlen($item['dfrn-id'])) && (! $item['self'] ))
+                       if(($item['contact-uid'] == $_SESSION['uid']) && ($item['rel] == DIRECTION_IN || $item['rel'] == DIRECTION_BOTH) && (! $item['self'] ))
                                $profile_url = $redirect_url;
 
                        $photo = $item['photo'];
@@ -211,6 +212,7 @@ function network_content(&$a, $update = false) {
                                '$title' => $item['title'],
                                '$body' => bbcode($item['body']),
                                '$ago' => relative_date($item['created']),
+                               '$location' => (($item['location']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : ''),
                                '$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''),
                                '$owner_url' => $owner_url,
                                '$owner_photo' => $owner_photo,
index 3f860757507d5099bf9ef06a6af3117b603ebe95..81f3614b33407880a34fec9adf9c655fd6f68b8f 100644 (file)
@@ -766,10 +766,9 @@ function photos_content(&$a) {
 
                                        $profile_url = $item['url'];
 
-
-                                       if(local_user() && ($item['contact-uid'] == $_SESSION['uid']) && (strlen($item['dfrn-id'])) && (! $item['self'] ))
+                                       if(local_user() && ($item['contact-uid'] == $_SESSION['uid']) 
+                                               && ($item['rel'] == DIRECTION_IN || $item['rel'] == DIRECTION_BOTH) && (! $item['self'] ))
                                                $profile_url = $redirect_url;
-
  
                                        $profile_name = ((strlen($item['author-name'])) ? $item['author-name'] : $item['name']);
                                        $profile_avatar = ((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']);
index 119b523a68e95c294ead6778b304a4d8d67bbb63..808ceedb8e862a4d5e2e6f689caa4315d352acbe 100644 (file)
@@ -64,9 +64,11 @@ function profile_init(&$a) {
                $profile = $a->argv[1];         
        }
        profile_load($a,$which,$profile);
-        $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />';
+        $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
 
-       $a->page['htmlhead'] .= "<meta name=\"dfrn-template\" content=\"" . $a->get_baseurl() . "/profile/%s" . "\" />\r\n";
+        $a->page['htmlhead'] .= '<meta name="dfrn-template" content="' . $a->get_baseurl() . "/profile/%s" . '" />' . "\r\n" ;
+        $a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ;
+  
        
        $dfrn_pages = array('request', 'confirm', 'notify', 'poll');
        foreach($dfrn_pages as $dfrn)
@@ -99,9 +101,11 @@ function profile_content(&$a, $update = false) {
                if(count($r))
                        $contact = $r[0];
        }
-       if(local_user()) {
-               $contact_id = $_SESSION['cid'];
-               $contact = $a->contact;
+       else {
+               if(local_user()) {
+                       $contact_id = $_SESSION['cid'];
+                       $contact = $a->contact;
+               }
        }
 
        if($update) {
@@ -261,7 +265,8 @@ function profile_content(&$a, $update = false) {
                        // This is my profile but I'm not the author of this post/comment. If it's somebody that's a fan or mutual friend,
                        // I can go directly to their profile as an authenticated guest.
 
-                       if(local_user() && ($item['contact-uid'] == $_SESSION['uid']) && (strlen($item['dfrn-id'])) && (! $item['self'] ))
+                       if(local_user() && ($item['contact-uid'] == $_SESSION['uid']) 
+                               && ($item['rel'] == DIRECTION_IN || $item['rel'] == DIRECTION_BOTH) && (! $item['self'] ))
                                $profile_url = $redirect_url;
 
                        // FIXME tryng to solve the mishmash of profile photos. 
@@ -294,6 +299,7 @@ function profile_content(&$a, $update = false) {
                                '$title' => $item['title'],
                                '$body' => bbcode($item['body']),
                                '$ago' => relative_date($item['created']),
+                               '$location' => (($item['location']) ? '<a target="map" href="http://maps.google.com/?q=' . urlencode($item['location']) . '">' . $item['location'] . '</a>' : ''),
                                '$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''),
                                '$drop' => $drop,
                                '$comment' => $comment
index 850a4b8ce4aa70f9baef5375a65814f53f86ed23..71e037718e7df5552195ea60c04640fcd2bdb63c 100644 (file)
@@ -4,7 +4,7 @@
 function profiles_post(&$a) {
 
        if(! local_user()) {
-               notice( "Permission denied." . EOL);
+               notice( t('Permission denied.') . EOL);
                return;
        }
 
@@ -16,14 +16,14 @@ function profiles_post(&$a) {
                        intval($_SESSION['uid'])
                );
                if(! count($orig)) {
-                       $_SESSION['sysmsg'] .= "Profile not found." . EOL;
+                       notice( t('Profile not found.') . EOL);
                        return;
                }
                $is_default = (($orig[0]['is-default']) ? 1 : 0);
 
                $profile_name = notags(trim($_POST['profile_name']));
                if(! strlen($profile_name)) {
-                       $a->$_SESSION['sysmsg'] .= "Profile Name is required." . EOL;
+                       notify( t('Profile Name is required.') . EOL);
                        return;
                }
        
@@ -74,6 +74,9 @@ function profiles_post(&$a) {
                $education = escape_tags(trim($_POST['education']));
                if(x($_POST,'profile_in_directory'))
                        $publish = (($_POST['profile_in_directory'] == 1) ? 1: 0);
+               if(x($_POST,'profile_in_netdirectory'))
+                       $net_publish = (($_POST['profile_in_netdirectory'] == 1) ? 1: 0);
+
 
                $r = q("UPDATE `profile` 
                        SET `profile-name` = '%s',
@@ -130,14 +133,15 @@ function profiles_post(&$a) {
                );
 
                if($r)
-                       $_SESSION['sysmsg'] .= "Profile updated." . EOL;
+                       notice( t('Profile updated.') . EOL);
 
 
                if($is_default) {
                        $r = q("UPDATE `profile` 
-                       SET `publish` = %d
+                       SET `publish` = %d, `net-publish` = %d
                        WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($publish),
+                       intval($net_publish),
                        intval($a->argv[1]),
                        intval($_SESSION['uid'])
 
@@ -149,11 +153,15 @@ function profiles_post(&$a) {
                                intval($_SESSION['uid'])
                        );
                }
-
+               if($is_default) {
+                       // Update global directory in background
+                       $php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
+                       $url = $_SESSION['my_url'];
+                       if($url && strlen(get_config('system','directory_submit_url')))
+                               proc_close(proc_open("\"$php_path\" \"include/directory.php\" \"$url\" &",
+                                       array(),$foo));
+               }
        }
-
-
-
 }
 
 
@@ -161,7 +169,7 @@ function profiles_post(&$a) {
 
 function profiles_content(&$a) {
        if(! local_user()) {
-               $_SESSION['sysmsg'] .= "Unauthorised." . EOL;
+               notice( t('Permission denied.') . EOL);
                return;
        }
 
@@ -171,7 +179,7 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid'])
                );
                if(! count($r)) {
-                       $_SESSION['sysmsg'] .= "Profile not found." . EOL;
+                       notice( t('Profile not found.') . EOL);
                        goaway($a->get_baseurl() . '/profiles');
                        return; // NOTREACHED
                }
@@ -187,7 +195,7 @@ function profiles_content(&$a) {
                        intval($a->argv[2])
                );
                if($r)
-                       notice("Profile deleted." . EOL);
+                       notice( t('Profile deleted.') . EOL);
 
                goaway($a->get_baseurl() . '/profiles');
                return; // NOTREACHED
@@ -203,7 +211,7 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid']));
                $num_profiles = count($r0);
 
-               $name = "Profile-" . ($num_profiles + 1);
+               $name = t('Profile-') . ($num_profiles + 1);
 
                $r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is-default` = 1 LIMIT 1",
                        intval($_SESSION['uid']));
@@ -221,7 +229,7 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid']),
                        dbesc($name)
                );
-               $_SESSION['sysmsg'] .= "New profile created." . EOL;
+               notice( t('New profile created.') . EOL);
                if(count($r3) == 1)
                        goaway($a->get_baseurl() . '/profiles/' . $r3[0]['id']);
                goaway($a->get_baseurl() . '/profiles');
@@ -233,13 +241,13 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid']));
                $num_profiles = count($r0);
 
-               $name = "Profile-" . ($num_profiles + 1);
+               $name = t('Profile-') . ($num_profiles + 1);
                $r1 = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d LIMIT 1",
                        intval($_SESSION['uid']),
                        intval($a->argv[2])
                );
                if(! count($r1)) {
-                       notice("Profile unavailable to clone." . EOL);
+                       notice( t('Profile unavailable to clone.') . EOL);
                        return;
                }
                unset($r1[0]['id']);
@@ -259,7 +267,7 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid']),
                        dbesc($name)
                );
-               $_SESSION['sysmsg'] .= "New profile created." . EOL;
+               notice( t('New profile created.') . EOL);
                if(count($r3) == 1)
                        goaway($a->get_baseurl() . '/profiles/' . $r3[0]['id']);
        goaway($a->get_baseurl() . '/profiles');
@@ -273,7 +281,7 @@ function profiles_content(&$a) {
                        intval($_SESSION['uid'])
                );
                if(! count($r)) {
-                       $_SESSION['sysmsg'] .= "Profile not found." . EOL;
+                       notice( t('Profile not found.') . EOL);
                        return;
                }
 
@@ -289,6 +297,18 @@ function profiles_content(&$a) {
                        '$no_selected' => (($r[0]['publish'] == 0) ? " checked=\"checked\" " : "")
                ));
 
+               if(strlen(get_config('system','directory_submit_url'))) {
+                       $opt_tpl = file_get_contents("view/profile-in-netdir.tpl");
+
+                       $profile_in_net_dir = replace_macros($opt_tpl,array(
+                               '$yes_selected' => (($r[0]['net-publish']) ? " checked=\"checked\" " : ""),
+                               '$no_selected' => (($r[0]['net-publish'] == 0) ? " checked=\"checked\" " : "")
+                       ));
+               }
+               else
+                       $profile_in_net_dir = '';
+
+
                $opt_tpl = file_get_contents("view/profile-hide-friends.tpl");
                $hide_friends = replace_macros($opt_tpl,array(
                        '$yes_selected' => (($r[0]['hide-friends']) ? " checked=\"checked\" " : ""),
@@ -310,7 +330,7 @@ function profiles_content(&$a) {
                        '$baseurl' => $a->get_baseurl(),
                        '$profile_id' => $r[0]['id'],
                        '$profile_name' => $r[0]['profile-name'],
-                       '$default' => (($is_default) ? "<p id=\"profile-edit-default-desc\">This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.</p>" : ""),
+                       '$default' => (($is_default) ? '<p id="profile-edit-default-desc">' . t('This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet.') . '</p>' : ""),
                        '$name' => $r[0]['name'],
                        '$dob' => dob($r[0]['dob']),
                        '$hide_friends' => $hide_friends,
@@ -319,7 +339,7 @@ function profiles_content(&$a) {
                        '$region' => $r[0]['region'],
                        '$postal_code' => $r[0]['postal-code'],
                        '$country_name' => $r[0]['country-name'],
-                       '$age' => ((intval($r[0]['dob'])) ? '(Age: '. age($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''),
+                       '$age' => ((intval($r[0]['dob'])) ? '(' . t('Age: ') . age($r[0]['dob'],$a->user['timezone'],$a->user['timezone']) . ')' : ''),
                        '$gender' => gender_selector($r[0]['gender']),
                        '$marital' => marital_selector($r[0]['marital']),
                        '$sexual' => sexpref_selector($r[0]['sexual']),
@@ -336,7 +356,8 @@ function profiles_content(&$a) {
                        '$work' => $r[0]['work'],
                        '$education' => $r[0]['education'],
                        '$contact' => $r[0]['contact'],
-                       '$profile_in_dir' => (($is_default) ? $profile_in_dir : '')
+                       '$profile_in_dir' => (($is_default) ? $profile_in_dir : ''),
+                       '$profile_in_net_dir' => (($is_default) ? $profile_in_net_dir : '')
                ));
 
                return $o;
index ee15a18d4b2ae7198aa943b559c0fc22dc349b52..ea1aec6e906a0ed645f9a4393b941800570fade0 100644 (file)
@@ -4,7 +4,7 @@ function redir_init(&$a) {
 
        if((! local_user()) || (! ($a->argc == 2)) || (! intval($a->argv[1])))
                goaway($a->get_baseurl());
-       $r = q("SELECT `dfrn-id`, `poll` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+       $r = q("SELECT `issued-id`, `poll` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($a->argv[1]),
                intval($_SESSION['uid']));
        if(! count($r))
@@ -12,9 +12,9 @@ function redir_init(&$a) {
        q("INSERT INTO `profile_check` ( `uid`, `dfrn_id`, `expire`)
                VALUES( %d, '%s', %d )",
                intval($_SESSION['uid']),
-               dbesc($r[0]['dfrn-id']),
-               intval(time() + 30));
-       goaway ($r[0]['poll'] . '?dfrn_id=' . $r[0]['dfrn-id'] . '&type=profile');
+               dbesc($r[0]['issued-id']),
+               intval(time() + 45));
+       goaway ($r[0]['poll'] . '?dfrn_id=' . $r[0]['issued-id'] . '&type=profile');
 
        
        
index 8fc1d2cfccec51b9da86ec76842a7a62c9e0c824..c4217ac48861ef6a93c7188ed649e5778ead90db 100644 (file)
@@ -1,5 +1,7 @@
 <h1>Site Directory</h1>
 
+<ul><li><div id="global-directory-link"><a href="http://dir.dfrn.org">Global Community Directory</a></div></li></ul>
+
 $finding
 
 <div id="directory-search-wrapper">
index d3c17d9262482caa339686af42452f60fa3e7e6f..dd6162f09efb7afd4c7b695961023ca7d4712453 100644 (file)
@@ -8,100 +8,4 @@
 <script type="text/javascript" src="$baseurl/include/jquery.js" ></script>
 <script type="text/javascript" src="$baseurl/include/main.js" ></script>
 
-<script type="text/javascript">
-
-       var src = null;
-       var prev = null;
-       var livetime = null;
-       var msie = false;
-
-       $(document).ready(function() {
-               $.ajaxSetup({cache: false});
-               msie = $.browser.msie ;
-               NavUpdate(); 
-
-
-
-       });
-
-       function NavUpdate() {
-
-               if($('#live-network').length) { src = 'network'; liveUpdate(); }
-               if($('#live-profile').length) { src = 'profile'; liveUpdate(); }
-
-               $.get("ping",function(data) {
-                       $(data).find('result').each(function() {
-                               var net = $(this).find('net').text();
-                               if(net == 0) { net = ''; }
-                               $('#net-update').html(net);
-                               var home = $(this).find('home').text();
-                               if(home == 0) { home = ''; }
-                               $('#home-update').html(home);
-                               var mail = $(this).find('mail').text();
-                               if(mail == 0) { mail = ''; }
-                               $('#mail-update').html(mail);
-                               var intro = $(this).find('intro').text();
-                               if(intro == 0) { intro = ''; }
-                               $('#notify-update').html(intro);
-                       });
-               }) ;
-               setTimeout(NavUpdate,30000);
-
-       }
-
-       function liveUpdate() {
-               if(src == null) { return; }
-               if($('.comment-edit-text-full').length) {
-                       livetime = setTimeout(liveUpdate, 10000);
-                       return;
-               }
-               prev = 'live-' + src;
-
-               $.get('update_' + src + '?msie=' + ((msie) ? 1 : 0),function(data) {
-                       $('.wall-item-outside-wrapper',data).each(function() {
-                               var ident = $(this).attr('id');
-                               if($('#' + ident).length == 0) { 
-                                        $('img',this).each(function() {
-                                                $(this).attr('src',$(this).attr('dst'));
-                                        });
-                                       $('#' + prev).after($(this));
-                               }
-                               else { 
-
-                                       $('#' + ident + ' ' + '.wall-item-ago').replaceWith($(this).find('.wall-item-ago')); 
-                                       $('#' + ident + ' ' + '.wall-item-comment-wrapper').replaceWith($(this).find('.wall-item-comment-wrapper'));
-                                        $('#' + ident + ' ' + '.my-comment-photo').each(function() {
-                                                $(this).attr('src',$(this).attr('dst'));
-                                        });
-
-
-                               }
-                               prev = ident; 
-                       });
-               });
-
-       }
-
-       function confirmDelete() { 
-               return confirm("Delete this item?");
-       }
-
-       function imgbright(node) {
-               $(node).attr("src",$(node).attr("src").replace('hide','show'));
-               $(node).css('width',24);
-               $(node).css('height',24);
-       }
-
-       function imgdull(node) {
-               $(node).attr("src",$(node).attr("src").replace('show','hide'));
-               $(node).css('width',16);
-               $(node).css('height',16);
-       }
-
-
-
-
-
-
-</script>
 
index f555ace831afac59908c268b1728264c14ef79a6..42c32da2e79a3623a5b4cc6de7f29a6fc123ae70 100644 (file)
@@ -42,3 +42,7 @@ $a->config['max_import_size'] = 65535;
 // Location of PHP command line processor
 
 $a->config['php_path'] = '$phpath';
+
+// Location of global directory submission page.
+
+$a->config['system']['directory_submit_url'] = 'http://dir.dfrn.org/submit';
\ No newline at end of file
diff --git a/view/profile-in-netdir.tpl b/view/profile-in-netdir.tpl
new file mode 100644 (file)
index 0000000..d5a320a
--- /dev/null
@@ -0,0 +1,16 @@
+<p id="profile-in-directory">
+Publish this profile in global social directory? 
+</p>
+
+               <div id="profile-in-netdir-yes-wrapper">
+               <label id="profile-in-netdir-yes-label" for="profile-in-netdir-yes">Yes</label>
+               <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-yes" $yes_selected value="1" />
+
+               <div id="profile-in-netdir-break" ></div>       
+               </div>
+               <div id="profile-in-netdir-no-wrapper">
+               <label id="profile-in-netdir-no-label" for="profile-in-netdir-no">No</label>
+               <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-no" $no_selected value="0"  />
+
+               <div id="profile-in-netdir-end"></div>
+               </div>
index 44ca3922b86cf199b17668f3da63938557c1dac0..a28471325fddb90778a636124ffbf692dc5923e2 100644 (file)
@@ -44,6 +44,8 @@ $dob $age
 
 $profile_in_dir
 
+$profile_in_net_dir
+
 $hide_friends
 
 <div class="profile-edit-submit-wrapper" >
index 59ec1dd1e82a3453b5a7add318714ee54e0cb218..4c386afa61ffe7b399c63fd27a53f3f24e2acbba 100644 (file)
@@ -501,6 +501,8 @@ input#dfrn-url {
 #profile-edit-religion,
 #profile-in-dir-yes,
 #profile-in-dir-no,
+#profile-in-netdir-yes,
+#profile-in-netdir-no,
 #hide-friends-yes,
 #hide-friends-no {
        float: left;
@@ -509,6 +511,8 @@ input#dfrn-url {
 
 #profile-in-dir-yes-label, 
 #profile-in-dir-no-label,
+#profile-in-netdir-yes-label, 
+#profile-in-netdir-no-label,
 #hide-friends-yes-label,
 #hide-friends-no-label {
        margin-left: 125px;
@@ -537,6 +541,8 @@ input#dfrn-url {
 #profile-edit-homepage-end,
 #profile-in-dir-break, 
 #profile-in-dir-end,
+#profile-in-netdir-break, 
+#profile-in-netdir-end,
 #hide-friends-break,
 #hide-friends-end {
        clear: both;
@@ -829,7 +835,7 @@ input#dfrn-url {
 }
 
 #directory-search-wrapper {
-       margin-left: 350px;
+       margin-top: 20px;
        margin-right: 20px;
        margin-bottom: 50px;
 }
index 84d0f287911927d26110498095f5535dc3f82c3c..c646bbee33baf1d905d69a14840e622b0af48efa 100644 (file)
@@ -8,6 +8,7 @@
                <div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
                        <a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-$id" >$name</span></a>
                        <div class="wall-item-ago"  id="wall-item-ago-$id">$ago</div>
+                       <div class="wall-item-location" id="wall-item-location-$id">$location</div>
                </div>
                <div class="wall-item-content" id="wall-item-content-$id" >
                        <div class="wall-item-title" id="wall-item-title-$id">$title</div>
index 4704c0c7c7fb89f4c1c273aa64c455cd07d30815..30970f6aeaef6d38efcba00d446fe5c47cf59973 100644 (file)
@@ -11,6 +11,8 @@
        <div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
                <a href="$profile_url" title="View $name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-$id" >$name</span></a> to <a href="$owner_url" title="View $owner_name's profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-ownername-$id">$owner_name</span></a> via Wall-To-Wall:<br />
                <div class="wall-item-ago"  id="wall-item-ago-$id">$ago</div>
+               <div class="wall-item-location" id="wall-item-location-$id">$location</div>
+
        </div>
        <div class="wall-item-content" id="wall-item-content-$id" >
                <div class="wall-item-title" id="wall-item-title-$id">$title</div>