private function getGraphData($type, $query_ids) { $results = array('cnt' => $type == 'keyword' ? array('facebook' => array(), 'twitter' => array()) : array(), 'min' => 0, 'max' => 0); $search = new Default_Model_DbTable_Search(); foreach ($search->getGraphInfo($query_ids) as $obj) { $darr = getdate($obj['search_published']); $date = mktime(0, 0, 0, $darr['mon'], $darr['mday'], $darr['year']); $campaign = $type == 'keyword' ? $obj['search_source'] : $obj['query_id']; if (isset($results['cnt'][$campaign][$date])) { $results['cnt'][$campaign][$date]++; } else { $results['cnt'][$campaign][$date] = 1; } $results['min'] = $results['min'] && $results['min'] < $date ? $results['min'] : $date; $results['max'] = $results['max'] && $results['max'] > $date ? $results['max'] : $date; } $search_index = new Default_Model_DbTable_SearchIndex(); foreach ($search_index->getGraphInfo($query_ids) as $obj) { $campaign = $type == 'keyword' ? $obj['index_source'] : $obj['query_id']; if (isset($results['cnt'][$campaign][$obj['index_date']])) { $results['cnt'][$campaign][$obj['index_date']] += $obj['index_count']; } else { $results['cnt'][$campaign][$obj['index_date']] = $obj['index_count']; } $results['min'] = $results['min'] && $results['min'] < $obj['index_date'] ? $results['min'] : $obj['index_date']; $results['max'] = $results['max'] && $results['max'] > $obj['index_date'] ? $results['max'] : $obj['index_date']; } return $results; }
private function breakdown_block($campaign_id, $source) { $search = new Default_Model_DbTable_Search(); $res = $search->getDigestData($campaign_id, $source); $ret = '<h2>' . ucfirst($source) . ' Breakdown</h2> <br/>Total mentions in the past 24 hours: ' . count($res) . '<br/><br/>' . (count($res) ? 'Latest entries:' : '') . '<ul>'; $cnt = 0; while ($cnt++ < 10 && (list(, $obj) = each($res))) { $ret .= '<li>' . $obj['search_author_name'] . ': ' . substr(strip_tags($obj['search_content']), 0, 200) . '</li>'; } $ret .= '</ul>'; return $ret; }
public function deleteAction() { if ($this->getRequest()->getParam('id')) { /* Delete keyword itself */ $table = new Default_Model_DbTable_Keyword(); $where = $table->getAdapter()->quoteInto('query_id = ?', $this->getRequest()->getParam('id')); $table->delete($where); /* Delete keyword to campaign relation */ $table = new Default_Model_DbTable_KeywordToCampaign(); $where = $table->getAdapter()->quoteInto(array('query_id = ?' => $this->getRequest()->getParam('id'), 'project_id = ?' => $this->getRequest()->getParam('campaign'))); $table->delete($where); /* Delete search results for this query */ $table = new Default_Model_DbTable_Search(); $where = $table->getAdapter()->quoteInto('query_id = ?', $this->getRequest()->getParam('id')); $table->delete($where); } $this->_helper->redirector('index', 'keyword', 'default', array('campaign' => $this->getRequest()->getParam('campaign'))); }