From 1a1f9b296c163af850d68babfb844e617f154875 Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Tue, 17 Aug 2010 18:44:13 -0700 Subject: [PATCH] contact search + sync to personal edition, installer db check + curl proxy --- boot.php | 16 ++++++++++++++++ include/dba.php | 2 +- include/notifier.php | 22 +++++++++++----------- mod/contacts.php | 25 +++++++++++++++++++++---- mod/directory.php | 2 +- mod/install.php | 2 +- view/contacts-top.tpl | 12 ++++++++++++ view/{ => theme/default}/dfrn.gif | Bin view/theme/default/style.css | 1 + 9 files changed, 64 insertions(+), 18 deletions(-) rename view/{ => theme/default}/dfrn.gif (100%) diff --git a/boot.php b/boot.php index 5d476649d8..eae44c6729 100644 --- a/boot.php +++ b/boot.php @@ -241,6 +241,14 @@ function fetch_url($url,$binary = false) { curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true); curl_setopt($ch, CURLOPT_MAXREDIRS,8); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); + $prx = get_config('system','proxy'); + if(strlen($prx)) { + curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); + curl_setopt($ch, CURLOPT_PROXY, $prx); + $prxusr = get_config('system','proxyuser'); + if(strlen($prxusr)) + curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr); + } if($binary) curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); @@ -261,6 +269,14 @@ function post_url($url,$params) { curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS,$params); + $prx = get_config('system','proxy'); + if(strlen($prx)) { + curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); + curl_setopt($ch, CURLOPT_PROXY, $prx); + $prxusr = get_config('system','proxyuser'); + if(strlen($prxusr)) + curl_setopt($ch, CURLOPT_PROXYUSERPWD, $prxusr); + } $s = curl_exec($ch); curl_close($ch); diff --git a/include/dba.php b/include/dba.php index 0500682306..9e44db5fbb 100644 --- a/include/dba.php +++ b/include/dba.php @@ -46,7 +46,7 @@ class dba { else $mesg = $result->num_rows.' results' . EOL; - $str = 'SQL = ' . $sql . EOL . 'SQL returned ' . $mesg . EOL; + $str = 'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg . EOL; switch($this->debug) { case 3: diff --git a/include/notifier.php b/include/notifier.php index dcc7724547..149ce765cb 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -1,21 +1,21 @@ set_baseurl(get_config('system',url')); diff --git a/mod/contacts.php b/mod/contacts.php index 2a767102fa..45c0040c8f 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -209,17 +209,31 @@ function contacts_content(&$a) { } + if(($a->argc == 2) && ($a->argv[1] == 'all')) $sql_extra = ''; else $sql_extra = " AND `blocked` = 0 "; + $search = ((x($_GET,'search')) ? notags(trim($_GET['search'])) : ''); + $tpl = file_get_contents("view/contacts-top.tpl"); $o .= replace_macros($tpl,array( '$hide_url' => ((strlen($sql_extra)) ? 'contacts/all' : 'contacts' ), - '$hide_text' => ((strlen($sql_extra)) ? t('Show Blocked Connections') : t('Hide Blocked Connections')) + '$hide_text' => ((strlen($sql_extra)) ? t('Show Blocked Connections') : t('Hide Blocked Connections')), + '$search' => $search, + '$finding' => (strlen($search) ? '

' . t('Finding: ') . "'" . $search . "'" . '

' : ""), + '$submit' => t('Find'), + '$cmd' => $a->cmd + + )); + if($search) + $search = dbesc($search.'*'); + $sql_extra .= ((strlen($search)) ? " AND MATCH `name` AGAINST ('$search' IN BOOLEAN MODE) " : ""); + + switch($sort_type) { case DIRECTION_BOTH : $sql_extra2 = " AND `dfrn-id` != '' AND `issued-id` != '' "; @@ -242,8 +256,11 @@ function contacts_content(&$a) { if(count($r)) $a->set_pager_total($r[0]['total']); - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ", - intval($_SESSION['uid'])); + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ", + intval($_SESSION['uid']), + intval($a->pager['start']), + intval($a->pager['itemspage']) + ); if(count($r)) { @@ -283,8 +300,8 @@ function contacts_content(&$a) { )); } $o .= '
'; - $o .= paginate($a); } + $o .= paginate($a); return $o; } \ No newline at end of file diff --git a/mod/directory.php b/mod/directory.php index dd80ef2b8a..8b7f34c415 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -11,7 +11,7 @@ function directory_content(&$a) { $o .= replace_macros($tpl, array( '$search' => $search, - '$finding' => (strlen($search) ? "

Finding: '$search'

" : "") + '$finding' => (strlen($search) ? '

' . t('Finding: ') . "'" . $search . "'" . '

' : "") )); if($search) diff --git a/mod/install.php b/mod/install.php index cb23b31ed5..dafc86ee69 100644 --- a/mod/install.php +++ b/mod/install.php @@ -16,7 +16,7 @@ function install_post(&$a) { $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, $true); - if(! $db->getdb()) { + if(mysqli_connect_errno()) { notice( t('Could not connect to database.') . EOL); return; } diff --git a/view/contacts-top.tpl b/view/contacts-top.tpl index 20740ad87a..2e56fa2ead 100644 --- a/view/contacts-top.tpl +++ b/view/contacts-top.tpl @@ -1,5 +1,17 @@

Contacts

+$finding + +
+
+ + +
+
+
+ + +
$hide_text
diff --git a/view/dfrn.gif b/view/theme/default/dfrn.gif similarity index 100% rename from view/dfrn.gif rename to view/theme/default/dfrn.gif diff --git a/view/theme/default/style.css b/view/theme/default/style.css index 456465a744..59ec1dd1e8 100644 --- a/view/theme/default/style.css +++ b/view/theme/default/style.css @@ -556,6 +556,7 @@ input#dfrn-url { } #contacts-main { + margin-top: 20px; margin-bottom: 20px; }