profile load optimisation
This commit is contained in:
parent
18823fe546
commit
6b5a83b9b8
8 changed files with 73 additions and 56 deletions
71
boot.php
71
boot.php
|
@ -7,6 +7,7 @@ define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
|
||||||
|
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
define ( 'DOWN_ARROW', '⇩' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* log levels
|
* log levels
|
||||||
|
@ -1679,3 +1680,73 @@ function smilies($s) {
|
||||||
'<img src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-O" />'
|
'<img src="' . $a->get_baseurl() . '/images/smiley-surprised.gif" alt="8-O" />'
|
||||||
), $s);
|
), $s);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Function : profile_load
|
||||||
|
* @parameter App $a
|
||||||
|
* @parameter string $nickname
|
||||||
|
* @parameter int $profile
|
||||||
|
*
|
||||||
|
* Summary: Loads a profile into the page sidebar.
|
||||||
|
* The function requires a writeable copy of the main App structure, and the nickname
|
||||||
|
* of a registered local account.
|
||||||
|
*
|
||||||
|
* If the viewer is an authenticated remote viewer, the profile displayed is the
|
||||||
|
* one that has been configured for his/her viewing in the Contact manager.
|
||||||
|
* Passing a non-zero profile ID can also allow a preview of a selected profile
|
||||||
|
* by the owner.
|
||||||
|
*
|
||||||
|
* Profile information is placed in the App structure for later retrieval.
|
||||||
|
* Honours the owner's chosen theme for display.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
if(! function_exists('profile_load')) {
|
||||||
|
function profile_load(&$a, $nickname, $profile = 0) {
|
||||||
|
if(remote_user()) {
|
||||||
|
$r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
|
||||||
|
intval($_SESSION['visitor_id']));
|
||||||
|
if(count($r))
|
||||||
|
$profile = $r[0]['profile-id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = null;
|
||||||
|
|
||||||
|
if($profile) {
|
||||||
|
$profile_int = intval($profile);
|
||||||
|
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
|
||||||
|
LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid`
|
||||||
|
WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d LIMIT 1",
|
||||||
|
dbesc($nickname),
|
||||||
|
intval($profile_int)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if(! count($r)) {
|
||||||
|
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
|
||||||
|
LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid`
|
||||||
|
WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 LIMIT 1",
|
||||||
|
dbesc($nickname)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(($r === false) || (! count($r))) {
|
||||||
|
notice( t('No profile') . EOL );
|
||||||
|
$a->error = 404;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$a->profile = $r[0];
|
||||||
|
|
||||||
|
$a->page['template'] = 'profile';
|
||||||
|
|
||||||
|
$a->page['title'] = $a->profile['name'];
|
||||||
|
$_SESSION['theme'] = $a->profile['theme'];
|
||||||
|
|
||||||
|
if(! (x($a->page,'aside')))
|
||||||
|
$a->page['aside'] = '';
|
||||||
|
$a->page['aside'] .= contact_block();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}}
|
||||||
|
|
|
@ -6,7 +6,6 @@ function dfrn_request_init(&$a) {
|
||||||
if($a->argc > 1)
|
if($a->argc > 1)
|
||||||
$which = $a->argv[1];
|
$which = $a->argv[1];
|
||||||
|
|
||||||
require_once('mod/profile.php');
|
|
||||||
profile_init($a,$which);
|
profile_init($a,$which);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -5,7 +5,6 @@ function display_content(&$a) {
|
||||||
|
|
||||||
$o = '<div id="live-display"></div>' . "\r\n";
|
$o = '<div id="live-display"></div>' . "\r\n";
|
||||||
|
|
||||||
require_once('mod/profile.php');
|
|
||||||
profile_init($a);
|
profile_init($a);
|
||||||
|
|
||||||
$item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
|
$item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0);
|
||||||
|
|
|
@ -1,53 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(! function_exists('profile_load')) {
|
|
||||||
function profile_load(&$a, $username, $profile = 0) {
|
|
||||||
if(remote_user()) {
|
|
||||||
$r = q("SELECT `profile-id` FROM `contact` WHERE `id` = %d LIMIT 1",
|
|
||||||
intval($_SESSION['visitor_id']));
|
|
||||||
if(count($r))
|
|
||||||
$profile = $r[0]['profile-id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$r = null;
|
|
||||||
|
|
||||||
if($profile) {
|
|
||||||
$profile_int = intval($profile);
|
|
||||||
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
|
|
||||||
LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid`
|
|
||||||
WHERE `user`.`nickname` = '%s' AND `profile`.`id` = %d LIMIT 1",
|
|
||||||
dbesc($username),
|
|
||||||
intval($profile_int)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if(! count($r)) {
|
|
||||||
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `user`.* FROM `profile`
|
|
||||||
LEFT JOIN `user` ON `profile`.`uid` = `user`.`uid`
|
|
||||||
WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 LIMIT 1",
|
|
||||||
dbesc($username)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(($r === false) || (! count($r))) {
|
|
||||||
notice( t('No profile') . EOL );
|
|
||||||
$a->error = 404;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$a->profile = $r[0];
|
|
||||||
|
|
||||||
$a->page['template'] = 'profile';
|
|
||||||
|
|
||||||
$a->page['title'] = $a->profile['name'];
|
|
||||||
$_SESSION['theme'] = $a->profile['theme'];
|
|
||||||
|
|
||||||
if(! (x($a->page,'aside')))
|
|
||||||
$a->page['aside'] = '';
|
|
||||||
$a->page['aside'] .= contact_block();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}}
|
|
||||||
|
|
||||||
function profile_init(&$a) {
|
function profile_init(&$a) {
|
||||||
|
|
||||||
if($a->argc > 1)
|
if($a->argc > 1)
|
||||||
|
|
|
@ -8,7 +8,6 @@ function profile_photo_init(&$a) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once("mod/profile.php");
|
|
||||||
profile_load($a,$a->user['nickname']);
|
profile_load($a,$a->user['nickname']);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -327,7 +327,6 @@ function profiles_content(&$a) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once('mod/profile.php');
|
|
||||||
profile_load($a,$a->user['nickname'],$r[0]['id']);
|
profile_load($a,$a->user['nickname'],$r[0]['id']);
|
||||||
|
|
||||||
require_once('include/profile_selectors.php');
|
require_once('include/profile_selectors.php');
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
function settings_init(&$a) {
|
function settings_init(&$a) {
|
||||||
if(local_user()) {
|
if(local_user()) {
|
||||||
require_once("mod/profile.php");
|
|
||||||
profile_load($a,$a->user['nickname']);
|
profile_load($a,$a->user['nickname']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
function viewcontacts_init(&$a) {
|
function viewcontacts_init(&$a) {
|
||||||
|
|
||||||
require_once("mod/profile.php");
|
|
||||||
profile_load($a,$a->argv[1]);
|
profile_load($a,$a->argv[1]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue