コード例 #1
0
ファイル: HttpManager.php プロジェクト: Emon0526/zhuoying-wx
 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;
 }
コード例 #2
0
 /**
  * @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;
 }
コード例 #3
0
ファイル: FoafAction.class.php プロジェクト: komagata/plnet
 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;
 }
コード例 #4
0
ファイル: crawl_all.php プロジェクト: komagata/plnet
<?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}]");
コード例 #5
0
ファイル: HttpManager.php プロジェクト: xiaoxianlink/weixin
 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;
 }
コード例 #6
0
ファイル: Crawler.php プロジェクト: komagata/plnet
 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;
         }
     }
 }
コード例 #7
0
ファイル: UpdateAction.class.php プロジェクト: komagata/plnet
 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;
 }