set_time_limit(0);
-define ( 'BUILD_ID', 1028 );
+define ( 'BUILD_ID', 1030 );
define ( 'DFRN_PROTOCOL_VERSION', '2.0' );
define ( 'EOL', "<br />\r\n" );
if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=")
$this->query_string = substr($_SERVER['QUERY_STRING'],2);
if(x($_GET,'q'))
- $this->cmd = trim($_GET['q'],'/');
+ $this->cmd = trim($_GET['q'],'/\\');
/**
* Figure out if we are running at the top of a domain
* or in a sub-directory and adjust accordingly
*/
- $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/');
+ $path = trim(dirname($_SERVER['SCRIPT_NAME']),'/\\');
if(isset($path) && strlen($path) && ($path != $this->path))
$this->path = $path;
}}
+if(! function_exists('load_pconfig')) {
+function load_pconfig($uid,$family) {
+ global $a;
+ $r = q("SELECT * FROM `pconfig` WHERE `cat` = '%s' AND `uid` = %d",
+ dbesc($family),
+ intval($uid)
+ );
+ if(count($r)) {
+ foreach($r as $rr) {
+ $k = $rr['k'];
+ $a->config[$uid][$family][$k] = $rr['v'];
+ }
+ }
+}}
+
+
+
if(! function_exists('get_pconfig')) {
function get_pconfig($uid,$family, $key, $instore = false) {
return $ret;
}
$ret = q("UPDATE `pconfig` SET `v` = '%s' WHERE `uid` = %d AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
- intval($uid),
dbesc($value),
+ intval($uid),
dbesc($family),
dbesc($key)
);
+
if($ret)
return $value;
return $ret;
function contact_block() {
$o = '';
$a = get_app();
+
+ $shown = get_pconfig($a->profile['uid'],'system','display_friend_count');
+ if(! $shown)
+ $shown = 24;
+
if((! is_array($a->profile)) || ($a->profile['hide-friends']))
return $o;
$r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0",
$o .= '<h4 class="contact-h4">' . t('No contacts') . '</h4>';
return $o;
}
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT 24",
- intval($a->profile['uid'])
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT %d",
+ intval($a->profile['uid']),
+ intval($shown)
);
if(count($r)) {
$o .= '<h4 class="contact-h4">' . $total . ' ' . t('Contacts') . '</h4><div id="contact-block">';
$o .= '<div id="viewcontacts"><a id="viewcontacts-link" href="viewcontacts/' . $a->profile['nickname'] . '">' . t('View Contacts') . '</a></div>';
}
+
+ $arr = array('contacts' => $r, 'output' => $o);
+
+ call_hooks('contact_block_end', $arr);
return $o;
}}
'$homepage' => $homepage
));
+ call_hooks('profile_sidebar', $o);
+
return $o;
}}
if(! function_exists('register_hook')) {
function register_hook($hook,$file,$function) {
+ $r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
+ dbesc($hook),
+ dbesc($file),
+ dbesc($function)
+ );
+ if(count($r))
+ return true;
+
$r = q("INSERT INTO `hook` (`hook`, `file`, `function`) VALUES ( '%s', '%s', '%s' ) ",
dbesc($hook),
dbesc($file),
if(! function_exists('call_hooks')) {
-function call_hooks($name, $data = null) {
+function call_hooks($name, &$data = null) {
$a = get_app();
if(count($a->hooks)) {