Julio Montoya 10 anni fa
parent
commit
bfafc94c4e

+ 76 - 28
main/inc/lib/usermanager.lib.php

@@ -1770,7 +1770,16 @@ class UserManager
         $fields = array();
         $t_uf = Database :: get_main_table(TABLE_MAIN_USER_FIELD);
         $t_ufo = Database :: get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS);
-        $columns = array('id', 'field_variable', 'field_type', 'field_display_text', 'field_default_value', 'field_order', 'field_filter', 'tms');
+        $columns = array(
+            'id',
+            'field_variable',
+            'field_type',
+            'field_display_text',
+            'field_default_value',
+            'field_order',
+            'field_filter',
+            'tms'
+        );
         $column = intval($column);
         $sort_direction = '';
         if (in_array(strtoupper($direction), array('ASC', 'DESC'))) {
@@ -1809,7 +1818,9 @@ class UserManager
                     10 => '<a name="'.$rowf['id'].'"></a>',
                 );
 
-                $sqlo = "SELECT * FROM $t_ufo WHERE field_id = ".$rowf['id']." ORDER BY option_order ASC";
+                $sqlo = "SELECT * FROM $t_ufo
+                        WHERE field_id = ".$rowf['id']."
+                        ORDER BY option_order ASC";
                 $reso = Database::query($sqlo);
                 if (Database::num_rows($reso) > 0) {
                     while ($rowo = Database::fetch_array($reso)) {
@@ -3771,16 +3782,17 @@ class UserManager
     }
 
     /**
-      * Get extra filtrable user fields (type select)
+      * Get extra filtrable user fields (only type select)
       * @return array
       */
     public static function get_extra_filtrable_fields()
     {
         $extraFieldList = UserManager::get_extra_fields();
+
         $extraFiltrableFields = array();
         if (is_array($extraFieldList)) {
             foreach ($extraFieldList as $extraField) {
-                //if is enabled to filter and is a "<select>" field type
+                // If is enabled to filter and is a "<select>" field type
                 if ($extraField[8] == 1 && $extraField[2] == 4) {
                     $extraFiltrableFields[] = array(
                         'name' => $extraField[3],
@@ -3791,7 +3803,7 @@ class UserManager
             }
         }
 
-        if (is_array($extraFiltrableFields) && count($extraFiltrableFields) > 0 ) {
+        if (is_array($extraFiltrableFields) && count($extraFiltrableFields) > 0) {
             return $extraFiltrableFields;
         }
     }
@@ -3811,7 +3823,10 @@ class UserManager
                 if (UserManager::is_extra_field_available($extraField['variable'])) {
                     if (isset($_GET[$varName]) && $_GET[$varName]!='0') {
                         $useExtraFields = true;
-                        $extraFieldResult[]= UserManager::get_extra_user_data_by_value($extraField['variable'], $_GET[$varName]);
+                        $extraFieldResult[]= UserManager::get_extra_user_data_by_value(
+                            $extraField['variable'],
+                            $_GET[$varName]
+                        );
                     }
                 }
             }
@@ -3847,35 +3862,74 @@ class UserManager
      */
     public static function get_search_form($query)
     {
-        $extraFiltrableFields = UserManager::get_extra_filtrable_fields();
-        $extraFields = null;
-        if (is_array($extraFiltrableFields) && count($extraFiltrableFields)>0 ) {
-            foreach ($extraFiltrableFields as $extraField) {
-                $extraFields .=  '<label class="extra_field">'.$extraField['name'].'</label>';
+        $searchType = isset($_GET['search_type']) ? $_GET['search_type'] : null;
+        $form = new FormValidator(
+            'search_user',
+            'get',
+            api_get_path(WEB_PATH).'main/social/search.php',
+            '',
+            array(),
+            FormValidator::LAYOUT_INLINE
+        );
+
+        $form->addText('q', get_lang('UsersGroups'));
+        $options = array(
+            0 => get_lang('Select'),
+            1 => get_lang('User'),
+            2 => get_lang('Group'),
+        );
+        $form->addSelect(
+            'search_type',
+            get_lang('Type'),
+            $options,
+            array('onchange' => 'javascript: extra_field_toogle();')
+        );
+
+        // Extra fields
+
+        $extraFields = UserManager::get_extra_filtrable_fields();
+        $defaults = [];
+        if (is_array($extraFields) && count($extraFields) > 0) {
+            foreach ($extraFields as $extraField) {
                 $varName = 'field_'.$extraField['variable'];
-                $extraFields .=  '&nbsp;<select name="'.$varName.'" class="extra_field">';
-                $extraFields .=  '<option value="0">--'.get_lang('Select').'--</option>';
+
+                $options = [
+                    0 => get_lang('Select')
+                ];
                 foreach ($extraField['data'] as $option) {
-                    $checked='';
+                    $checked = '';
                     if (isset($_GET[$varName])) {
-                        if ($_GET[$varName]==$option[1]) {
-                            $checked = 'selected="true"';
+                        if ($_GET[$varName] == $option[1]) {
+                            $defaults[$option[1]] = true;
                         }
                     }
-                    $extraFields .=  '<option value="'.$option[1].'" '.$checked.'>'.$option[1].'</option>';
+
+                    $options[$option[1]] = $option[1];
                 }
-                $extraFields .=  '</select>';
-                $extraFields .=  '&nbsp;&nbsp;';
+                $form->addSelect($varName, $extraField['name'], $options);
             }
         }
 
-        $searchType = isset($_GET['search_type']) ? $_GET['search_type'] : null;
+        $defaults['search_type'] = intval($searchType);
+        $defaults['q'] = api_htmlentities(Security::remove_XSS($query));
+        $form->setDefaults($defaults);
+
+        $form->addButtonSearch(get_lang('Search'));
+
+        $js = '<script>
+        extra_field_toogle();
+        function extra_field_toogle() {
+            if (jQuery("select[name=search_type]").val() != "1") { jQuery(".extra_field").hide(); } else { jQuery(".extra_field").show(); }
+        }
+        </script>';
+
+        return $js.$form->returnForm();
 
         return '
         <form method="GET" class="form-search" action="'.api_get_path(WEB_PATH).'main/social/search.php">
                 <input placeholder="'.get_lang('UsersGroups').'" type="text" value="'.api_htmlentities(Security::remove_XSS($query)).'" name="q"/> &nbsp;
                 ' . get_lang('Type') .'
-                <select name="search_type" onchange="javascript: extra_field_toogle();">
+
                 <option value="0">--'.get_lang('Select').'--</option>
                 <option value="1"' . (($searchType=='1')?'selected="selected"':"") . '>--' . get_lang('User') .'--</option>
                 <option value="2"' . (($searchType=='2')?'selected="selected"':"") . '>--' . get_lang('Group') . '--</option>
@@ -3883,13 +3937,7 @@ class UserManager
                 '.$extraFields.'
                 <button class="btn" type="submit" value="search">'.get_lang('Search').'</button>
         </form>
-        <script>
-        extra_field_toogle();
-        function extra_field_toogle()
-        {
-            if (jQuery("select[name=search_type]").val() != "1") { jQuery(".extra_field").hide(); } else { jQuery(".extra_field").show(); }
-        }
-        </script>
+
         ';
     }
 

+ 16 - 16
main/social/search.php

@@ -34,15 +34,18 @@ if (!empty($extra_fields)) {
         }
     }
 }
-$user_info    = UserManager::get_user_info_by_id($user_id);
+$user_info = UserManager::get_user_info_by_id($user_id);
 //Block Social Avatar
 $social_avatar_block = SocialManager::getSocialUserBlock($user_id, 'search');
 //Block Social Menu
 $social_menu_block = SocialManager::show_social_menu('search');
-$social_right_content = '<div class="span9">'.UserManager::get_search_form($query).'</div>';
+$social_right_content = '';
+$searchForm = UserManager::get_search_form($query);
 
 $groups = array();
 $totalGroups = array();
+$users = array();
+$totalUsers = array();
 
 // I'm searching something
 if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) ) {
@@ -54,7 +57,7 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
 
         $from = intval(($page - 1) * $itemPerPage);
         // Get users from tags
-        $users  = UserManager::get_all_user_tags($_GET['q'], 0, $from, $itemPerPage);
+        $users = UserManager::get_all_user_tags($_GET['q'], 0, $from, $itemPerPage);
     }
 
     if ($_GET['search_type']=='0' || $_GET['search_type']=='2') {
@@ -89,7 +92,7 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
                         <button class="btn btn-mini"><i class="fa fa-envelope"></i> '.get_lang('SendMessage').'</button></a>';
             if (empty($user['picture_uri'])) {
                 $picture['file'] = api_get_path(WEB_CODE_PATH).'img/unknown.jpg';
-                $img             = '<img src="'.$picture['file'].'">';
+                $img = '<img src="'.$picture['file'].'">';
             } else {
                 $picture = UserManager::get_picture_user(
                     $user['user_id'],
@@ -110,10 +113,9 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
             $user_info['complete_name'] = Display::url($status_icon.$user_info['complete_name'], $url);
             $invitations = $user['tag'].$send_inv.$send_msg;
 
-            $results .= '<li class="span3">
-                            <div class="">
-                            <div class="row-fluid">
-                                <div class="span12">
+            $results .= '<li class="col-md-3">
+                            <div class="row">
+                                <div class="col-md-12">
                                     '.$user_info['complete_name'].'
                                 </div>
                                 <div class="col-md-4">
@@ -126,7 +128,6 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
                                     '.$invitations.'
                                     </div>
                                 </div>
-                                </div>
                             </div>
                         </li>';
         }
@@ -148,10 +149,9 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
         $totalUsers
     );
 
-
     $grid_groups = array();
     if (is_array($groups) && count($groups) > 0) {
-        $social_right_content .= '<div class="span9">';
+        $social_right_content .= '<div class="col-md-9">';
         $social_right_content .= Display::page_subheader(get_lang('Groups'));
 
         $social_right_content .= '<ul class="thumbnails">';
@@ -178,14 +178,14 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
             $item_1  = Display::tag('h3', $url_open.$name.$url_close).$members;
 
             $social_right_content .= '
-                <li class="span8">
-                    <div class="row-fluid">
-                        <div class="span1">
+                <li class="col-md-8">
+                    <div class="row">
+                        <div class="col-md-1">
                             <div class="media">
                                 '.$item_0.'
                             </div>
                         </div>
-                        <div class="span6">
+                        <div class="col-md-6">
                             '.$item_1.'
                             <p>'.$group['description'].'</p>
                             <p>'.$tags.'</p>
@@ -213,11 +213,11 @@ if ($query != '' || ($query_vars['search_type']=='1' && count($query_vars)>2) )
     );
 }
 
-
 $tpl = new Template($tool_name);
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
+$tpl->assign('search_form', $searchForm);
 
 $formModalTpl =  new Template();
 $formModalTpl->assign('messageForm', MessageManager::generate_message_form('send_message'));

+ 9 - 13
main/template/default/social/search.tpl

@@ -8,26 +8,22 @@
             {{ social_menu_block }}
         </div>
     </div>
-    <div id="wallMessages" class="col-md-5" style="min-height:1px">
+    <div class="col-md-9" style="min-height:1px">
         <div class="row">
             <div class="col-md-12">
                 <div id="message_ajax_reponse" class=""></div>
             </div>
         </div>
         <div class="row">
-            {{ social_right_content}}
-        </div>
-        <div id="display_response_id" class="col-md-12"></div>
-        {{ socialAutoExtendLink }}
-    </div>
-    <div class="col-md-4">
-        <div class="row">
-            {{ socialRightInformation}}
+            <div class="col-md-12">
+                {{ search_form }}
+            </div>
+            {{ social_right_content }}
         </div>
     </div>
 </div>
 
-    {% if formModals is defined %}
-        {{ formModals }}
-    {% endif %}
-{% endblock %}
+{% if formModals is defined %}
+    {{ formModals }}
+{% endif %}
+{% endblock %}