require_once('include/ForumManager.php');
require_once('include/bbcode.php');
require_once("mod/proxy.php");
+require_once('include/cache.php');
/**
*
* @param int $profile
* @param array $profiledata
*/
-function profile_load(&$a, $nickname, $profile = 0, $profiledata = array()) {
+function profile_load(App $a, $nickname, $profile = 0, $profiledata = array()) {
$user = q("SELECT `uid` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
dbesc($nickname)
/**
* @brief Get all profil data of a local user
- *
+ *
* 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
- *
+ *
* @param string $nickname
* @param int $uid
* @param int $profile
/**
* @brief Formats a profile for display in the sidebar.
- *
+ *
* It is very difficult to templatise the HTML completely
* because of all the conditional logic.
- *
+ *
* @param array $profile
* @param int $block
- *
+ *
* @return HTML string stuitable for sidebar inclusion
- *
+ *
* @note Returns empty string if passed $profile is wrong type or not populated
- *
+ *
* @hooks 'profile_sidebar_enter'
* array $profile - profile data
* @hooks 'profile_sidebar'
if ($connect AND local_user()) {
if (isset($profile["url"])) {
$profile_url = normalise_link($profile["url"]);
- }
- else {
+ } else {
$profile_url = normalise_link(App::get_baseurl()."/profile/".$profile["nickname"]);
}
if (dbm::is_result($r)) {
- foreach($r as $rr) {
+ foreach ($r as $rr) {
$profile['menu']['entries'][] = array(
'photo' => $rr['thumb'],
'id' => $rr['id'],
if (dbm::is_result($r))
$updated = date("c", strtotime($r[0]['updated']));
- $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `hidden` AND NOT `archive`
+ $r = q("SELECT COUNT(*) AS `total` FROM `contact`
+ WHERE `uid` = %d
+ AND NOT `self` AND NOT `blocked` AND NOT `pending`
+ AND NOT `hidden` AND NOT `archive`
AND `network` IN ('%s', '%s', '%s', '')",
intval($profile['uid']),
dbesc(NETWORK_DFRN),
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
$bd_short = t('F d');
- $r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event`
- INNER JOIN `contact` ON `contact`.`id` = `event`.`cid`
- WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s'
- ORDER BY `start` ASC ",
- intval(local_user()),
- dbesc(datetime_convert('UTC','UTC','now + 6 days')),
- dbesc(datetime_convert('UTC','UTC','now'))
- );
-
+ $cachekey = "get_birthdays:".local_user();
+ $r = Cache::get($cachekey);
+ if (is_null($r)) {
+ $r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event`
+ INNER JOIN `contact` ON `contact`.`id` = `event`.`cid`
+ WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s'
+ ORDER BY `start` ASC ",
+ intval(local_user()),
+ dbesc(datetime_convert('UTC','UTC','now + 6 days')),
+ dbesc(datetime_convert('UTC','UTC','now'))
+ );
+ if (dbm::is_result($r)) {
+ Cache::set($cachekey, $r, CACHE_HOUR);
+ }
+ }
if (dbm::is_result($r)) {
$total = 0;
$now = strtotime('now');
$cids = array();
$istoday = false;
- foreach($r as $rr) {
+ foreach ($r as $rr) {
if(strlen($rr['name']))
$total ++;
if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
if (dbm::is_result($r)) {
$now = strtotime('now');
$istoday = false;
- foreach($r as $rr) {
+ foreach ($r as $rr) {
if(strlen($rr['name']))
$total ++;
));
}
-function advanced_profile(App &$a) {
+function advanced_profile(App $a) {
$o = '';
$uid = $a->profile['uid'];
if($a->profile['gender']) $profile['gender'] = array( t('Gender:'), $a->profile['gender'] );
- if(($a->profile['dob']) && ($a->profile['dob'] != '0000-00-00')) {
+ if(($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) {
$year_bd_format = t('j F, Y');
$short_bd_format = t('j F');
if($a->profile['marital']) $profile['marital'] = array( t('Status:'), $a->profile['marital']);
+ /// @TODO Maybe use x() here, plus below?
+ if ($a->profile['with']) {
+ $profile['marital']['with'] = $a->profile['with'];
+ }
- if($a->profile['with']) $profile['marital']['with'] = $a->profile['with'];
-
- if(strlen($a->profile['howlong']) && $a->profile['howlong'] !== '0000-00-00 00:00:00') {
- $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s'));
+ if (strlen($a->profile['howlong']) && $a->profile['howlong'] >= NULL_DATE) {
+ $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s'));
}
- if($a->profile['sexual']) $profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] );
+ if ($a->profile['sexual']) {
+ $profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] );
+ }
- if($a->profile['homepage']) $profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) );
+ if ($a->profile['homepage']) {
+ $profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) );
+ }
- if($a->profile['hometown']) $profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) );
+ if ($a->profile['hometown']) {
+ $profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) );
+ }
- if($a->profile['pub_keywords']) $profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']);
+ if ($a->profile['pub_keywords']) {
+ $profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']);
+ }
- if($a->profile['politic']) $profile['politic'] = array( t('Political Views:'), $a->profile['politic']);
+ if ($a->profile['politic']) {
+ $profile['politic'] = array( t('Political Views:'), $a->profile['politic']);
+ }
- if($a->profile['religion']) $profile['religion'] = array( t('Religion:'), $a->profile['religion']);
+ if ($a->profile['religion']) {
+ $profile['religion'] = array( t('Religion:'), $a->profile['religion']);
+ }
- if($txt = prepare_text($a->profile['about'])) $profile['about'] = array( t('About:'), $txt );
+ if ($txt = prepare_text($a->profile['about'])) {
+ $profile['about'] = array( t('About:'), $txt );
+ }
- if($txt = prepare_text($a->profile['interest'])) $profile['interest'] = array( t('Hobbies/Interests:'), $txt);
+ if ($txt = prepare_text($a->profile['interest'])) {
+ $profile['interest'] = array( t('Hobbies/Interests:'), $txt);
+ }
- if($txt = prepare_text($a->profile['likes'])) $profile['likes'] = array( t('Likes:'), $txt);
+ if ($txt = prepare_text($a->profile['likes'])) {
+ $profile['likes'] = array( t('Likes:'), $txt);
+ }
- if($txt = prepare_text($a->profile['dislikes'])) $profile['dislikes'] = array( t('Dislikes:'), $txt);
+ if ($txt = prepare_text($a->profile['dislikes'])) {
+ $profile['dislikes'] = array( t('Dislikes:'), $txt);
+ }
+ if ($txt = prepare_text($a->profile['contact'])) {
+ $profile['contact'] = array( t('Contact information and Social Networks:'), $txt);
+ }
- if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt);
+ if ($txt = prepare_text($a->profile['music'])) {
+ $profile['music'] = array( t('Musical interests:'), $txt);
+ }
- if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt);
+ if ($txt = prepare_text($a->profile['book'])) {
+ $profile['book'] = array( t('Books, literature:'), $txt);
+ }
- if($txt = prepare_text($a->profile['book'])) $profile['book'] = array( t('Books, literature:'), $txt);
+ if ($txt = prepare_text($a->profile['tv'])) {
+ $profile['tv'] = array( t('Television:'), $txt);
+ }
- if($txt = prepare_text($a->profile['tv'])) $profile['tv'] = array( t('Television:'), $txt);
+ if ($txt = prepare_text($a->profile['film'])) {
+ $profile['film'] = array( t('Film/dance/culture/entertainment:'), $txt);
+ }
- if($txt = prepare_text($a->profile['film'])) $profile['film'] = array( t('Film/dance/culture/entertainment:'), $txt);
+ if ($txt = prepare_text($a->profile['romance'])) {
+ $profile['romance'] = array( t('Love/Romance:'), $txt);
+ }
- if($txt = prepare_text($a->profile['romance'])) $profile['romance'] = array( t('Love/Romance:'), $txt);
+ if ($txt = prepare_text($a->profile['work'])) {
+ $profile['work'] = array( t('Work/employment:'), $txt);
+ }
- if($txt = prepare_text($a->profile['work'])) $profile['work'] = array( t('Work/employment:'), $txt);
+ if ($txt = prepare_text($a->profile['education'])) {
+ $profile['education'] = array( t('School/education:'), $txt );
+ }
- if($txt = prepare_text($a->profile['education'])) $profile['education'] = array( t('School/education:'), $txt );
-
//show subcribed forum if it is enabled in the usersettings
if (feature_enabled($uid,'forumlist_profile')) {
$profile['forumlist'] = array( t('Forums:'), ForumManager::profile_advanced($uid));
function profile_tabs($a, $is_owner=False, $nickname=Null){
//echo "<pre>"; var_dump($a->user); killme();
- if (is_null($nickname))
+ if (is_null($nickname)) {
$nickname = $a->user['nickname'];
+ }
- if(x($_GET,'tab'))
+ if (x($_GET,'tab')) {
$tab = notags(trim($_GET['tab']));
+ }
$url = App::get_baseurl() . '/profile/' . $nickname;
array(
'label'=>t('Status'),
'url' => $url,
- 'sel' => ((!isset($tab)&&$a->argv[0]=='profile')?'active':''),
+ 'sel' => ((!isset($tab) && $a->argv[0]=='profile')?'active':''),
'title' => t('Status Messages and Posts'),
'id' => 'status-tab',
'accesskey' => 'm',
array(
'label' => t('Photos'),
'url' => App::get_baseurl() . '/photos/' . $nickname,
- 'sel' => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''),
+ 'sel' => ((!isset($tab) && $a->argv[0]=='photos')?'active':''),
'title' => t('Photo Albums'),
'id' => 'photo-tab',
'accesskey' => 'h',
array(
'label' => t('Videos'),
'url' => App::get_baseurl() . '/videos/' . $nickname,
- 'sel' => ((!isset($tab)&&$a->argv[0]=='videos')?'active':''),
+ 'sel' => ((!isset($tab) && $a->argv[0]=='videos')?'active':''),
'title' => t('Videos'),
'id' => 'video-tab',
'accesskey' => 'v',
$tabs[] = array(
'label' => t('Events'),
'url' => App::get_baseurl() . '/events',
- 'sel' =>((!isset($tab)&&$a->argv[0]=='events')?'active':''),
+ 'sel' =>((!isset($tab) && $a->argv[0]=='events')?'active':''),
'title' => t('Events and Calendar'),
'id' => 'events-tab',
'accesskey' => 'e',
$tabs[] = array(
'label' => t('Events'),
'url' => App::get_baseurl() . '/cal/' . $nickname,
- 'sel' =>((!isset($tab)&&$a->argv[0]=='cal')?'active':''),
+ 'sel' =>((!isset($tab) && $a->argv[0]=='cal')?'active':''),
'title' => t('Events and Calendar'),
'id' => 'events-tab',
'accesskey' => 'e',
$tabs[] = array(
'label' => t('Personal Notes'),
'url' => App::get_baseurl() . '/notes',
- 'sel' =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''),
+ 'sel' =>((!isset($tab) && $a->argv[0]=='notes')?'active':''),
'title' => t('Only You Can See This'),
'id' => 'notes-tab',
'accesskey' => 't',
$tabs[] = array(
'label' => t('Contacts'),
'url' => App::get_baseurl() . '/viewcontacts/' . $nickname,
- 'sel' => ((!isset($tab)&&$a->argv[0]=='viewcontacts')?'active':''),
+ 'sel' => ((!isset($tab) && $a->argv[0]=='viewcontacts')?'active':''),
'title' => t('Contacts'),
'id' => 'viewcontacts-tab',
'accesskey' => 'k',
return false;
}
-function zrl_init(App &$a) {
+function zrl_init(App $a) {
$tmp_str = get_my_url();
if(validate_url($tmp_str)) {
* settings except their own while on this site.
*
* @return int user ID
- *
+ *
* @note Returns local_user instead of user ID if "always_my_theme"
* is set to true
*/