Ejemplo n.º 1
0
             Comment::Create($res);
         }
         //Comment::disableInitMode();
     }
     async_cache_disconnect(1);
     async_cache_disconnect(2);
     async_cache_disconnect(3);
     $memcached->delete('' . $icrs->cid);
 } else {
     foreach ($procd_descr as $key => $topic) {
         // cid, subject, timestamp
         $procd_descr[$key] = array($topic['id'], $topic['subject']);
     }
 }
 if ($lock_acquired) {
     db_end_transaction('comments', $icrs->cid);
     goto end;
 }
 profiling_end('process description and/or get topics from db');
 profiling_start('deal with tags and procd_descr');
 $_SESSION['loading_screen_count' . $icrs->cid] = 0;
 Error::generate('debug', 'starting deal with tags and procd_descr');
 $search_results = $memcached->get('' . $icrs->cid);
 if (!$search_results) {
     $search_results = array();
     $topics = Comment::ListAll($icrs->cid, 2);
     // topic
     Error::generate('debug', $topics);
     foreach ($topics as $topic) {
         $topicid = $topic['id'];
         $topicsubject = $topic['subject'];
Ejemplo n.º 2
0
function delete_challenge_cascading($id)
{
    if (!is_valid_id($id)) {
        message_error('Invalid ID.');
    }
    try {
        db_begin_transaction();
        db_delete('challenges', array('id' => $id));
        db_delete('submissions', array('challenge' => $id));
        db_delete('hints', array('challenge' => $id));
        $files = db_select_all('files', array('id'), array('challenge' => $id));
        foreach ($files as $file) {
            delete_file($file['id']);
        }
        db_end_transaction();
    } catch (PDOException $e) {
        db_rollback_transaction();
        log_exception($e);
    }
}
 function add_keyword_mappings($ref, $string, $resource_type_field, $partial_index = false, $is_date = false, $optional_column = '', $optional_value = '', $is_html = false)
 {
     # For each instance of a keyword in $string, add a keyword->resource mapping.
     # Create keywords that do not yet exist.
     # Increase the hit count of each keyword that matches.
     # Store the position and field the string was entered against for advanced searching.
     if (trim($string) == "") {
         return false;
     }
     $keywords = split_keywords($string, true, $partial_index, $is_date, $is_html);
     add_verbatim_keywords($keywords, $string, $resource_type_field);
     // add in any verbatim keywords (found using regex).
     db_begin_transaction();
     for ($n = 0; $n < count($keywords); $n++) {
         unset($kwpos);
         if (is_array($keywords[$n])) {
             $kwpos = $keywords[$n]['position'];
             $keywords[$n] = $keywords[$n]['keyword'];
         }
         $kw = $keywords[$n];
         if (!isset($kwpos)) {
             $kwpos = $n;
         }
         add_keyword_to_resource($ref, $kw, $resource_type_field, $kwpos, $optional_column, $optional_value, false);
     }
     db_end_transaction();
 }
Ejemplo n.º 4
0
                 if (!$exists) {
                     $locked = db_start_transaction('primitive_cache', $md5top, $blocking);
                 } else {
                     $locked = false;
                 }
                 if ($locked) {
                     // we've got a lock, we can either start or finish
                     $in_progress[] = array('ch' => $ch, 'top' => $top);
                     curl_multi_add_handle($mch, $ch);
                     $mcr = curl_multi_exec($mch, $active);
                     Error::generate('debug', 'starting');
                 } else {
                     // preempted
                     // lock *was* acquired if blocking
                     if ($blocking) {
                         db_end_transaction('primitive_cache', $md5top);
                     }
                     $n_preempted_reqs++;
                 }
                 profiling_end('start of cycle');
             }
         }
     }
 } else {
     profiling_start('IPC');
     foreach ($r as $s) {
         if ($s == $sock) {
             // new connection
             if (!($newsock = socket_accept($sock))) {
                 Error::generate('debug', "Error in classmate{$argv['1']}: " . socket_strerror(socket_last_error()));
             } else {