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'];
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(); }
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 {