Kurs Divemaster PADI – Przewodnik Nurkowy

divemaster_11x

Kurs Divemaster PADI jest pierwszym stopniem zawodowym w PADI. W momencie ukończenia tego kursu stajesz się członkiem PADI. Kurs ten ma za zadanie rozwinąć umiejętności przewodnika podwodnego, pomocnika instruktora i jednocześnie osoby zorientowanej w specyfice rynku nurkowego.

Terminy kursu:

  • 06.02-09.02.2024 – numer 1/PD/24
  • 20.02-23.02.2024 – numer 2/PD/24
  • 06.03-09.03.2024 – numer 3/PD/24
  • 20.03-23.03.2024 – numer 4/PD/24
  • 03.04-06.04.2024 – numer 5/PD/24
  • 17.04-20.04.2024 – numer 6/PD/24
  • 08.05-11.05.2024 – numer 7/PD/24
  • 22.05-25.05.2024 – numer 8/PD/24

Cena w zł (realizacja kursu w Polsce):

✔ Cena kursu: 1950 zł
✔ Materiały: 850 zł zł
✔ Certyfikacja: 450 zł zł

✔ Wyżywienie i zakwaterowanie: we własnym zakresie

 

Cena w € (realizacja kursu na Majorce):

✔ Cena kursu: 675 €
✔ Materiały: 250 €
✔ Certyfikacja: 100 €

✔ Wyżywienie i zakwaterowanie: we własnym zakresie

 

Uwaga !!!

Istnieje możliwość płatności ratalnej (ilość rat ustalana indywidualnie).
Istnieje możliwość odpracowania należności po ukończeniu szkolenia w Instytucie lub podmiocie partnerskim.

Dla kogo dedykowany jest kurs ?

Kurs Divemaster PADI dostępny dla nurków po kursie płetwonurek ratownik oraz pierwsza pomoc przedmedyczna (ukończonym w przeciągu 24 miesięcy), którzy ukończyli 18 rok życia. Kursanci muszą mieć zalogowane minimum 60 nurkowań oraz posiadać ważne zaświadczenie lekarskie o braku przeciwwskazań do nurkowania.

Podczas programu Divemaster PADI, uczysz się umiejętności przywódczych nurkowania zarówno w klasie jak i w systemie samodzielnej nauki.

Będziesz uczestniczył w ćwiczeniach podwodnych, wytrzymałościowych oraz szkoleniowych, które rozwiną Twoją zdolność rozwiązywania problemów, a także pomocy innym nurkom.

Wymagania:

  • Minimalny wiek: 18 lat,
  • Być certyfikowanym nurkiem PADI Rescue Diver lub posiadać równoważny certyfikat innej organizacji,
  • Być przeszkolony z Pierwszej Pomocy Przedmedycznej i Resuscytacji w ciągu ostatnich dwóch lat,
  • Posiadać 40 zalogowanych nurkowań by rozpocząć kurs i 60 by ukończyć.

Uprawnienia po ukończeniu kursu:

  • Nadzorowania certyfikowanych nurków,
  • Planowania, organizowania nurkowania oraz kierowania nurkowaniem,
  • Przeprowadzenia programu PADI Discover Local Diving,
  • Możliwość przystąpienia do kursu PADI Open Water Scuba Instructor (PADI OWSI) lub do kursu na stopień PADI Asystent Instruktora

Procedura Zapisów
Aby zostać wpisanym na listę kursantów, na dany termin należy:

  1. Wpłacić pełną kwotę za kurs z góry lub przedpłatę w wysokości 50% kwoty kursu na konto bankowe: mBank nr 43 1140 2004 0000 3202 7828 5313 pozostałą część wpłaty należy uregulować najpóźniej w dniu rozpoczęcia kursu. W tytule przelewu podajemy Imię i Nazwisko oraz numer kursu.
  2. Wysłać e-mail z danymi imię i nazwisko, data urodzenia, termin i numer kursu oraz potwierdzenie dokonania przelewu na e-mail: biuro@pirkfis.pl.

W razie dodatkowych pytań, proszę o kontakt: tel. + 48 17 200 00 11+48 881 848 881.

 

Faktura VAT

Uprzejmie informujemy, że zgodnie z obowiązującą od 01 stycznia 2020 r. ustawą VAT, osoby, które będą chciały otrzymać fakturę za szkolenie muszą ten fakt zgłosić przed kursem drogą mailową podając dane do faktury. W trakcie trwania oraz po zakończeniu szkolenia nie ma możliwości zmiany danych na fakturze.

 

LICZBA MIEJSC OGRANICZONA!!!

Istnieje możliwość uzyskania do 10% rabatu za każdego zgłoszonego kursanta. Dotyczy to osób indywidualnych jak i grup zorganizowanych.

ADWORDS

kurs nurkowania, kurs nurkowania p1, podstawowy kurs nurkowania, kurs na płetwonurka, kurs na płetwonurka p1, szkolenie na płetwonurka, szkolenie płetwonurek p1, kurs owd, szkolenie owd, podstawowy kurs nurkowania, szkolenie z nurkowania p1, kurs nurkowania p1, szkolenie owd p1, kurs owd p1,

Zobacz inne kursy

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