$projectLinks = array(); foreach ($dws as $ws) { $projectLinks[] = $ws->getId(); echo '<span style="padding-right:5px"><span class="project-replace">' . implode(',', $projectLinks) . '</span></span>'; } } if ($search_result["manager"] == 'Projects') { ?> <span class="project-replace" onclick="Ext.getCmp('tabs-panel').setActiveTab('overview-panel')"><?php echo $object->getId(); ?> </span> <?php } else { $object_name = $object->getObjectName(); $context_on_name = SearchableObjects::getContext($object_name, $search_string); if ($context_on_name != '') { $object_name = $context_on_name; } else { $object_name = clean($object_name); } if ($object instanceof MailContent && $object->getHasAttachments()) { $linkIcon = 'link-ico ico-attachment'; } else { $linkIcon = ''; } ?> <a class="<?php echo $linkIcon; ?> " href="<?php
/** * Do the search * * @param string $conditions * @param integer $limit * @param integer $offset * @return array */ function doSearch($conditions, $limit = null, $offset = null, $search_for = '') { $table_name = SearchableObjects::instance()->getTableName(true); //$tags_table_name = Tags::instance()->getTableName(); $limit_string = ''; if ((int) $limit > 0) { $offset = (int) $offset > 0 ? (int) $offset : 0; $limit_string = " LIMIT {$offset}, {$limit}"; } // if $where = ''; if (trim($conditions) != '') { $where = "WHERE {$conditions}"; } $sql = "SELECT distinct `rel_object_manager`, `rel_object_id` FROM {$table_name} {$where} ORDER BY `rel_object_id` DESC {$limit_string}"; $result = DB::executeAll($sql); if (!is_array($result)) { return null; } $new_where = "'1' = '2' "; foreach ($result as $row) { $manager_class = array_var($row, 'rel_object_manager'); $object_id = array_var($row, 'rel_object_id'); $new_where .= " OR (rel_object_manager = '" . $manager_class . "' AND rel_object_id = '" . $object_id . "')"; } $new_where = " AND (" . $new_where . ')'; $sql = "SELECT `rel_object_manager`, `rel_object_id`, `column_name`, `content` FROM {$table_name} {$where} {$new_where} ORDER BY `rel_object_id`"; $result = DB::executeAll($sql); if (!is_array($result)) { return null; } $loaded = array(); $objects = array(); foreach ($result as $row) { $manager_class = array_var($row, 'rel_object_manager'); $object_id = array_var($row, 'rel_object_id'); if (!isset($loaded[$manager_class . '-' . $object_id])) { if (class_exists($manager_class)) { $object = get_object_by_manager_and_id($object_id, $manager_class); if ($object instanceof ApplicationDataObject) { $objects[] = array('object' => $object, 'context' => array(array('context' => SearchableObjects::getContext(array_var($row, 'content'), $search_for), 'column_name' => array_var($row, 'column_name')))); $loaded[$manager_class . '-' . $object_id] = count($objects) - 1; } // if } // if } else { $objects[$loaded[$manager_class . '-' . $object_id]]['context'][] = array('context' => SearchableObjects::getContext(array_var($row, 'content'), $search_for), 'column_name' => array_var($row, 'column_name')); } // if } // foreach return count($objects) ? $objects : null; }