protected static function updateDb($seed, $rows) { include_once 'LDao.php'; include_once 'dbutils.php'; if (empty($seed) || empty($rows)) { $err = "Either seed or rows data empty!"; } if (!$err) { $seedKeyword = self::getSeedKeyword($seed); if (empty($seedKeyword)) { $err = "Seed keyword is empty"; } if (!$err) { $res = LDao::addDbSeedKeyword($seedKeyword); $getSuggForTheseKw = array(); $activeKeywords = array(); foreach ($rows as $row) { $keyword = $row[self::KEY_KEYWORD]; $avgMonthSearches = $row[self::KEY_AVG_SEARCHES]; $activeKeywords[] = $keyword; if (empty($keyword)) { continue; } //check if row exists in keyword table $res = LDao::getKeyword($seedKeyword, $keyword); if ($res === false || $res->numRows() == 0) { //if no keyword found $getSuggForTheseKw[] = $row; } else { //check if need to refetch sugg foreach ($res as $dbRow) { $fetchedTs = $dbRow->fetched_ts; if (LDao::dayDiffWithNow($fetchedTs) > self::GET_DATA_AFTER_DAYS) { $getSuggForTheseKw[] = $row; } break; //there should be only one row hence break } } } if (count($activeKeywords) > 0) { LDao::markKeywordsInactive($seedKeyword, $activeKeywords); LDao::markTitlesInactive($seedKeyword); } } } return array($err, $getSuggForTheseKw); }