Exemplo n.º 1
0
     $attach_ids = $db->sql_fetchrowset($result);
     $num_attach_ids = $db->sql_numrows($result);
     $db->sql_freeresult($result);
     if ($num_attach_ids == 0) {
         message_die(GENERAL_MESSAGE, 'For some reason no Attachments are assigned to the User "' . $username . '".');
     }
     $total_rows = $num_attach_ids;
     $attach_id = array();
     for ($j = 0; $j < $num_attach_ids; $j++) {
         $attach_id[] = intval($attach_ids[$j]['attach_id']);
     }
     $sql = "SELECT a.*\n\t\t\tFROM " . ATTACHMENTS_DESC_TABLE . " a\n\t\t\tWHERE a.attach_id IN (" . implode(', ', $attach_id) . ") " . $order_by;
 } else {
     if ($search_based) {
         // we are called from search
         $attachments = search_attachments($order_by, $total_rows);
     } else {
         $sql = "SELECT a.*\n\t\t\tFROM " . ATTACHMENTS_DESC_TABLE . " a " . $order_by;
     }
 }
 if (!$search_based) {
     if (!($result = $db->sql_query($sql))) {
         message_die(GENERAL_ERROR, 'Couldn\'t query attachments', '', __LINE__, __FILE__, $sql);
     }
     $attachments = $db->sql_fetchrowset($result);
     $num_attach = $db->sql_numrows($result);
     $db->sql_freeresult($result);
 }
 if (sizeof($attachments) > 0) {
     for ($i = 0; $i < sizeof($attachments); $i++) {
         $delete_box = '<input type="checkbox" name="delete_id_list[]" value="' . intval($attachments[$i]['attach_id']) . '" />';
 /**
  * Render and process quick search dialog
  *
  * @param void
  * @return null
  */
 function quick_search()
 {
     if (!$this->request->isAsyncCall()) {
         $this->redirectTo('search');
     }
     // if
     //BOF:mod 20110629 search
     if (trim($this->request->post('search_for')) != '') {
         //$_SESSION['search_string'] = trim($this->request->post('search_for'));
     }
     //$this->smarty->assign('search_string', $_SESSION['search_string']);
     //EOF:mod 20110629 search
     /*$object_types = array();
       $object_types[] = array('id' => '', 'text' => '');
       $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
       mysql_select_db(DB_NAME, $link);
       $query = "select distinct type from healingcrystals_project_objects order by type";
       $result = mysql_query($query);
       while($type = mysql_fetch_assoc($result)){
       	$object_types[] = array('id' => $type['type'], 'text' => $type['type']);
       }
       mysql_close($link);*/
     $search_projects = array();
     $link = mysql_connect(DB_HOST, DB_USER, DB_PASS);
     mysql_select_db(DB_NAME, $link);
     $query = "select distinct a.project_id from healingcrystals_project_users a inner join healingcrystals_projects b on a.project_id=b.id where a.user_id='" . $this->logged_user->getId() . "' order by b.name";
     $result = mysql_query($query);
     while ($entry = mysql_fetch_assoc($result)) {
         $search_projects[] = new Project($entry['project_id']);
     }
     mysql_close($link);
     $object_types = $this->get_object_types();
     if ($this->request->isSubmitted()) {
         $search_for = trim($this->request->post('search_for'));
         $search_type = $this->request->post('search_type');
         $search_object_type = $this->request->post('search_object_type');
         $search_project_id = $this->request->post('search_project_id');
         if ($search_for == '') {
             die(lang('Nothing to search for'));
         }
         // if
         $this->smarty->assign(array('search_for' => $search_for, 'search_type' => $search_type, 'search_object_type' => $search_object_type, 'object_types' => $object_types, 'search_project_id' => $search_project_id, 'search_projects' => $search_projects));
         $per_page = 5;
         // Search inside the project
         if ($search_type == 'in_projects') {
             //BOF:mod 20120822
             if ($search_object_type == 'Attachment') {
                 $template = get_template_path('_quick_search_project_objects', null, SYSTEM_MODULE);
                 list($results, $pagination) = search_attachments($search_for, $this->logged_user, 1, $per_page, $search_object_type, $search_project_id);
             } else {
                 //EOF:mod 20120822
                 $template = get_template_path('_quick_search_project_objects', null, SYSTEM_MODULE);
                 list($results, $pagination) = search_index_search($search_for, 'ProjectObject', $this->logged_user, 1, $per_page, $search_object_type, $search_project_id);
                 //BOF:mod 20120822
             }
             //EOF:mod 20120822
             // Search for people
         } elseif ($search_type == 'for_people') {
             $template = get_template_path('_quick_search_users', null, SYSTEM_MODULE);
             list($results, $pagination) = search_index_search($search_for, 'User', $this->logged_user, 1, $per_page);
             // Search for projects
         } elseif ($search_type == 'for_projects') {
             $template = get_template_path('_quick_search_projects', null, SYSTEM_MODULE);
             list($results, $pagination) = search_index_search($search_for, 'Project', $this->logged_user, 1, $per_page);
             // Unknown type
         } else {
             die(lang('Unknown search type: :type', array('type' => $search_type)));
         }
         // if
         $this->smarty->assign(array('results' => $results, 'pagination' => $pagination));
         $this->smarty->display($template);
         die;
     } else {
         $this->smarty->assign('object_types', $object_types);
         $this->smarty->assign('search_projects', $search_projects);
     }
 }