private static function exeBySetTimes($count, $curl) { $result = curl_exec($curl); if (curl_errno($curl)) { LogUtils::debug("请求错误: " . curl_errno($curl)); if ($count > 0) { $count--; $result = HttpManager::exeBySetTimes($count, $curl); } } return $result; }
/** * @param $count * @param $curl * @return mixed */ private static function exeBySetTimes($count, $curl) { $result = curl_exec($curl); if (curl_errno($curl)) { LogUtils::debug('请求错误: ' . curl_errno($curl)); if ($count > 0) { sleep(3); //Sleep 3 seconds to save cpu power $count--; $result = HttpManager::exeBySetTimes($count, $curl); } } return $result; }
function delete(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $foaf_id = $request->hasParameter('foaf_id') ? $request->getParameter('foaf_id') : ''; $member = $user->getAttribute('member', GLU_NS); LogUtils::debug("Deleted FOAF. account: {$account}, foaf_id: {$foaf_id}"); $foaf = DB_DataObject::factory('foaf'); $foaf->id = $foaf_id; $foaf->member_id = $member->id; $foaf_id = $foaf->delete(); if ($foaf_id === false) { $error =& PEAR::getStaticProperty('DB_DataObject', 'lastError'); if (PEAR::isError($error)) { trigger_error($error->toString(), E_USER_ERROR); } echo 'false'; return VIEW_NONE; } echo 'true'; return VIEW_NONE; }
<?php require_once dirname(dirname(__FILE__)) . '/webapp/config.php'; require_once MOJAVI_FILE; require_once BASE_DIR . 'lib/LogUtils.php'; require_once LIB_DIR . 'Crawler.php'; set_time_limit(0); $crawler =& new Crawler(); $feeds = $crawler->getFeeds(); $cnt = count($feeds); LogUtils::debug('[Crawling start]'); $success = 0; foreach ($feeds as $feed) { $success++; shell_exec('php ' . BIN_DIR . "crawl.php \"{$feed}\""); LogUtils::debug("[Crawling: {$success}/{$cnt}]"); LogUtils::debug("Memory usage: " . number_format(memory_get_usage())); sleep(0.1); } LogUtils::debug("[Crawling finished: {$success}/{$cnt}]");
private static function exeBySetTimes($count, $curl) { $result = curl_exec($curl); $info = curl_getinfo($curl); $code = $info["http_code"]; if (curl_errno($curl) != 0 && $code != 200) { LogUtils::debug("request errno: " . curl_errno($curl) . ",url:" . $info["url"]); $count--; if ($count > 0) { $result = HttpManager::exeBySetTimes($count, $curl); } } return $result; }
function tagsReplace($entryId, $tags) { $sql = 'DELETE FROM entry_to_tag WHERE entry_id = ?'; $res = $this->db->query($sql, array($entryId)); if (DB::isError($res)) { $this->db->rollback(); trigger_error('Crawler::tagsReplace(): Failed to delete. Feed URL:' . $this->uri . ' ' . $res->toString(), E_USER_WARNING); return false; } LogUtils::debug("EntryToTag: Delete at entry_id = {$entryId}"); $date = date("Y-m-d H:i:s"); foreach ($tags as $tag) { $tagId = $this->getTagId($tag); $fields = array('entry_id' => $entryId, 'tag_id' => $tagId); $res = $this->db->autoExecute('entry_to_tag', $fields, DB_AUTOQUERY_INSERT); if (DB::isError($res)) { $this->db->rollback(); trigger_error('Crawler::tagsReplace(): Failed to insert. ' . $res->toString(), E_USER_WARNING); return false; } } }
function execute(&$controller, &$request, &$user) { $member = DB_DataObject::factory('member'); $member->get('id', $request->getParameter('id')); $member->firstname = $request->getParameter('firstname'); $member->familyname = $request->getParameter('familyname'); $member->nickname = $request->getParameter('nickname'); // photo if (is_uploaded_file($_FILES['photo']['tmp_name'])) { $member->photo = file_get_contents($_FILES['photo']['tmp_name']); } $remove_photo = $request->hasParameter('remove_photo') ? $request->getParameter('remove_photo') : null; if ($remove_photo) { $member->photo = ''; } $member->gender = $request->getParameter('gender'); $member->homepage = $request->getParameter('homepage'); // birth_date $year = $request->getParameter('birthdate_year') ? $request->getParameter('birthdate_year') : 0; $month = $request->getParameter('birthdate_month') ? $request->getParameter('birthdate_month') : 0; $day = $request->getParameter('birthdate_day') ? $request->getParameter('birthdate_day') : 0; if (checkdate($month, $day, $year)) { $birthdate = "{$year}-{$month}-{$day}"; } else { $birthdate = 0; } $member->birthdate = $birthdate; // password if (strlen($request->getParameter('password')) > 0) { $member->password = sha1($request->getParameter('password')); } $member->email = $request->getParameter('email'); $member->aim = $request->getParameter('aim'); $member->yahoo = $request->getParameter('yahoo'); $member->skype = $request->getParameter('skype'); $member->msn = $request->getParameter('msn'); $member->googletalk = $request->getParameter('googletalk'); $member->language = $request->getParameter('language'); $member->self_introduction = $request->getParameter('self_introduction'); $member_id = $member->update(); if ($member_id === false) { $error =& PEAR::getStaticProperty('DB_DataObject', 'lastError'); if (PEAR::isError($error)) { trigger_error($error->toString(), E_USER_ERROR); exit; } return VIEW_NONE; } // send ping $site = DB_DataObject::factory('site'); $site->get('member_id', $member->id); if ($site->show_profile) { $pingurl = 'http://pingthesemanticweb.com/rest/?url=' . urlencode(SCRIPT_PATH . $member->account . '/foaf.rdf'); $res = @file($pingurl); LogUtils::debug("Send ping to {$pingurl}. " . var_export($res, true)); if (!$res) { trigger_error("Failed to send ping. url: {$pingurl}", E_USER_NOTICE); } } $user->setAttribute('member', $member, GLU_NS); Controller::redirect(SCRIPT_PATH . 'setting/user/changed'); return VIEW_NONE; }