/** * REST API: WP_REST_Post_Types_Controller class * * @package WordPress * @subpackage REST_API * @since 4.7.0 */ /** * Core class to access post types via the REST API. * * @since 4.7.0 * * @see WP_REST_Controller */ class WP_REST_Post_Types_Controller extends WP_REST_Controller { /** * Constructor. * * @since 4.7.0 */ public function __construct() { $this->namespace = 'wp/v2'; $this->rest_base = 'types'; } /** * Registers the routes for post types. * * @since 4.7.0 * * @see register_rest_route() */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base, array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ), 'args' => $this->get_collection_params(), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P[\w-]+)', array( 'args' => array( 'type' => array( 'description' => __( 'An alphanumeric identifier for the post type.' ), 'type' => 'string', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => '__return_true', 'args' => array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Checks whether a given request has permission to read types. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_items_permissions_check( $request ) { if ( 'edit' === $request['context'] ) { $types = get_post_types( array( 'show_in_rest' => true ), 'objects' ); foreach ( $types as $type ) { if ( current_user_can( $type->cap->edit_posts ) ) { return true; } } return new WP_Error( 'rest_cannot_view', __( 'Sorry, you are not allowed to edit posts in this post type.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Retrieves all public post types. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function get_items( $request ) { if ( $request->is_method( 'HEAD' ) ) { // Return early as this handler doesn't add any response headers. return new WP_REST_Response( array() ); } $data = array(); $types = get_post_types( array( 'show_in_rest' => true ), 'objects' ); foreach ( $types as $type ) { if ( 'edit' === $request['context'] && ! current_user_can( $type->cap->edit_posts ) ) { continue; } $post_type = $this->prepare_item_for_response( $type, $request ); $data[ $type->name ] = $this->prepare_response_for_collection( $post_type ); } return rest_ensure_response( $data ); } /** * Retrieves a specific post type. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. */ public function get_item( $request ) { $obj = get_post_type_object( $request['type'] ); if ( empty( $obj ) ) { return new WP_Error( 'rest_type_invalid', __( 'Invalid post type.' ), array( 'status' => 404 ) ); } if ( empty( $obj->show_in_rest ) ) { return new WP_Error( 'rest_cannot_read_type', __( 'Cannot view post type.' ), array( 'status' => rest_authorization_required_code() ) ); } if ( 'edit' === $request['context'] && ! current_user_can( $obj->cap->edit_posts ) ) { return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit posts in this post type.' ), array( 'status' => rest_authorization_required_code() ) ); } $data = $this->prepare_item_for_response( $obj, $request ); return rest_ensure_response( $data ); } /** * Prepares a post type object for serialization. * * @since 4.7.0 * @since 5.9.0 Renamed `$post_type` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post_Type $item Post type object. * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response Response object. */ public function prepare_item_for_response( $item, $request ) { // Restores the more descriptive, specific name for use within this method. $post_type = $item; // Don't prepare the response body for HEAD requests. if ( $request->is_method( 'HEAD' ) ) { /** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php */ return apply_filters( 'rest_prepare_post_type', new WP_REST_Response( array() ), $post_type, $request ); } $taxonomies = wp_list_filter( get_object_taxonomies( $post_type->name, 'objects' ), array( 'show_in_rest' => true ) ); $taxonomies = wp_list_pluck( $taxonomies, 'name' ); $base = ! empty( $post_type->rest_base ) ? $post_type->rest_base : $post_type->name; $namespace = ! empty( $post_type->rest_namespace ) ? $post_type->rest_namespace : 'wp/v2'; $supports = get_all_post_type_supports( $post_type->name ); $fields = $this->get_fields_for_response( $request ); $data = array(); if ( rest_is_field_included( 'capabilities', $fields ) ) { $data['capabilities'] = $post_type->cap; } if ( rest_is_field_included( 'description', $fields ) ) { $data['description'] = $post_type->description; } if ( rest_is_field_included( 'hierarchical', $fields ) ) { $data['hierarchical'] = $post_type->hierarchical; } if ( rest_is_field_included( 'has_archive', $fields ) ) { $data['has_archive'] = $post_type->has_archive; } if ( rest_is_field_included( 'visibility', $fields ) ) { $data['visibility'] = array( 'show_in_nav_menus' => (bool) $post_type->show_in_nav_menus, 'show_ui' => (bool) $post_type->show_ui, ); } if ( rest_is_field_included( 'viewable', $fields ) ) { $data['viewable'] = is_post_type_viewable( $post_type ); } if ( rest_is_field_included( 'labels', $fields ) ) { $data['labels'] = $post_type->labels; } if ( rest_is_field_included( 'name', $fields ) ) { $data['name'] = $post_type->label; } if ( rest_is_field_included( 'slug', $fields ) ) { $data['slug'] = $post_type->name; } if ( rest_is_field_included( 'icon', $fields ) ) { $data['icon'] = $post_type->menu_icon; } if ( rest_is_field_included( 'supports', $fields ) ) { $data['supports'] = $supports; } if ( rest_is_field_included( 'taxonomies', $fields ) ) { $data['taxonomies'] = array_values( $taxonomies ); } if ( rest_is_field_included( 'rest_base', $fields ) ) { $data['rest_base'] = $base; } if ( rest_is_field_included( 'rest_namespace', $fields ) ) { $data['rest_namespace'] = $namespace; } if ( rest_is_field_included( 'template', $fields ) ) { $data['template'] = $post_type->template ?? array(); } if ( rest_is_field_included( 'template_lock', $fields ) ) { $data['template_lock'] = ! empty( $post_type->template_lock ) ? $post_type->template_lock : false; } $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); // Wrap the data in a response object. $response = rest_ensure_response( $data ); if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) { $response->add_links( $this->prepare_links( $post_type ) ); } /** * Filters a post type returned from the REST API. * * Allows modification of the post type data right before it is returned. * * @since 4.7.0 * * @param WP_REST_Response $response The response object. * @param WP_Post_Type $post_type The original post type object. * @param WP_REST_Request $request Request used to generate the response. */ return apply_filters( 'rest_prepare_post_type', $response, $post_type, $request ); } /** * Prepares links for the request. * * @since 6.1.0 * * @param WP_Post_Type $post_type The post type. * @return array Links for the given post type. */ protected function prepare_links( $post_type ) { return array( 'collection' => array( 'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ), ), 'https://api.w.org/items' => array( 'href' => rest_url( rest_get_route_for_post_type_items( $post_type->name ) ), ), ); } /** * Retrieves the post type's schema, conforming to JSON Schema. * * @since 4.7.0 * @since 4.8.0 The `supports` property was added. * @since 5.9.0 The `visibility` and `rest_namespace` properties were added. * @since 6.1.0 The `icon` property was added. * * @return array Item schema data. */ public function get_item_schema() { if ( $this->schema ) { return $this->add_additional_fields_schema( $this->schema ); } $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'type', 'type' => 'object', 'properties' => array( 'capabilities' => array( 'description' => __( 'All capabilities used by the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'description' => array( 'description' => __( 'A human-readable description of the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'hierarchical' => array( 'description' => __( 'Whether or not the post type should have children.' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'viewable' => array( 'description' => __( 'Whether or not the post type can be viewed.' ), 'type' => 'boolean', 'context' => array( 'edit' ), 'readonly' => true, ), 'labels' => array( 'description' => __( 'Human-readable labels for the post type for various contexts.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'The title for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'slug' => array( 'description' => __( 'An alphanumeric identifier for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'supports' => array( 'description' => __( 'All features, supported by the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'has_archive' => array( 'description' => __( 'If the value is a string, the value will be used as the archive slug. If the value is false the post type has no archive.' ), 'type' => array( 'string', 'boolean' ), 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'taxonomies' => array( 'description' => __( 'Taxonomies associated with post type.' ), 'type' => 'array', 'items' => array( 'type' => 'string', ), 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'rest_base' => array( 'description' => __( 'REST base route for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'rest_namespace' => array( 'description' => __( 'REST route\'s namespace for the post type.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'visibility' => array( 'description' => __( 'The visibility settings for the post type.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, 'properties' => array( 'show_ui' => array( 'description' => __( 'Whether to generate a default UI for managing this post type.' ), 'type' => 'boolean', ), 'show_in_nav_menus' => array( 'description' => __( 'Whether to make the post type available for selection in navigation menus.' ), 'type' => 'boolean', ), ), ), 'icon' => array( 'description' => __( 'The icon for the post type.' ), 'type' => array( 'string', 'null' ), 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'template' => array( 'type' => array( 'array' ), 'description' => __( 'The block template associated with the post type.' ), 'readonly' => true, 'context' => array( 'view', 'edit', 'embed' ), ), 'template_lock' => array( 'type' => array( 'string', 'boolean' ), 'enum' => array( 'all', 'insert', 'contentOnly', false ), 'description' => __( 'The template_lock associated with the post type, or false if none.' ), 'readonly' => true, 'context' => array( 'view', 'edit', 'embed' ), ), ), ); $this->schema = $schema; return $this->add_additional_fields_schema( $this->schema ); } /** * Retrieves the query params for collections. * * @since 4.7.0 * * @return array Collection parameters. */ public function get_collection_params() { return array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), ); } } Captain Jack – Chambers Of Vikramaditya

Captain Jack

Überblick über das Online Casino

Captain Jack ist ein renommierter Anbieter von Online-Spielcasinos, der seit 2008 auf dem Markt tätig ist. Das Unternehmen hat sich in den vergangenen Jahren zu einem der beliebtesten Online-Casino-Angebote entwickelt und bietet seinen Kunden eine riesige Auswahl an Spielen, lukrative Boni und erstklassigen Services. Im Folgenden wird ein umfassender Überblick über das Anbieterangebot gegeben.

Anmeldung und Registrierungsprozess

Um bei Captain Jack zu spielen, muss sich der Spieler zunächst auf der Website des Online Casinos anmelden und eine registrierte Userkonto erstellen. Der Registrierungsprozess ist simpel und schnell durchführbar: Ein captain-jacks.de Klick auf den Button "Registriere dich jetzt" führt zu einer einfachen Anmeldemaske, in welcher die erforderlichen Daten eingetragen werden können. Hierzu gehören der Vornamen- und Nachname des Spielers sowie seine E-Mailadresse und ein Passwort.

Nach erfolgreichem Abschluss der Registrierung erhält der Spieler eine Bestätigungs-E-Mail von Captain Jack an seine registrierte E-Mail-Adresse. Um das Konto zu aktivieren, muss diese E-Mail geöffnet werden und der entsprechende Link im Nachrichtentext geklickt werden. Im Anschluss ist die Anmeldung auf der Website möglich.

Kontenfunktionen

Mit erfolgreichem Abschluss des Registrierungsprozesses erhält der Spieler Zugriff auf ein breites Spektrum von Funktionen und Services, mit denen er seine Online-Spielzeit noch angenehmlicher gestalten kann. Zu diesen Features gehören:

  • Benutzername : Der Benutzername ist eine individuelle Identifikationsmarke für jeden Spieler.
  • Passwort : Das Passwort dient dazu sicherzustellen, dass nur der ursprüngliche Eigentümer des Kontos Zugriff auf sein Konto erhält.

    Durch das Speichern einer oder mehrerer Bankkarten und/oder E-Wallets kann der Spieler leichter Bezahltransaktionen durchführen. Alle persönlichen Daten werden bei Captain Jack vertraulich behandelt.

  • Guthaben : Der Guthabens-Betrag spiegelt die Summe des Geldes, das auf dem Konto eines Spielers verfügbar ist, wider. Mit jedem Eingang von Zahlungen erhöht sich der Betrag im Konto.
  • Bonusangebot : Die Bonus- Angebote sind verschiedene Vergünstigungen für neue Spieler oder bestehende Kunden und helfen dabei, die Erfahrung auf dem Casino zu optimieren.

    Der Guthabenbetrag kann auf das Spielkonto gesetzt werden oder aber auch abgebucht werden. Im Falle eines Auszahlungsantrags muss der Kontoinhaber seine Personalausweis sowie ein Lichtbild von sich selbst zur Kontenprüfung bereitstellen, damit Captain Jack diese Dokumente validieren und sicherstellen kann.

Boni

Die Boni sind eine der Hauptattraktionen von Captain Jack. Hier gibt es sowohl neue Spieler als auch bestehende Kunden. Im Falle neuer Kundschaft erhält dieser jeweils nach einer Registrierung einen kostenlosen Willkommensbonus, bei dem er mit einem Geldbetrag seines Kontos starten kann.

Im Gegenzug zu den vielen neuen Spielern, hat Captain Jack auch bestehende Kunden im Auge. Im Falle eines kontinuierlichen Einsatzes und der damit verbundenen Einsätze erhält man einen Bonus des Casinos als Erwiderung für die Treue. Dieser ist in Form einer kostenlosen Runde mit hohem Geldbetrag gegeben.

Zahlungen und Auszahlungen

Captain Jack unterstützt eine Vielzahl von Bezahlmethoden, darunter auch Kreditkarten (Visa/Mastercard), E-Wallets wie Skrill bzw. Neteller und auch Banküberweisungen, welche aus allen Ländern ermöglicht werden können.

Um einen Zahlungstransfer zu tätigen oder den Auszahlungsantrag einzuleiten, müssen sich Kunden zunächst auf der Website anmelden, um ihr Online-Spielkonto abzurufen. Dies kann als Eingabe von Benutzernamen und Passwort erfolgen.

Durch Klicken auf "Zahlung" können Zahlungen vorbereitet werden. Der ausgewählte Betrag wird vom Kontoinhaber verifiziert, damit die Bestätigung des Bankgeschäfts erfolgt. Das erhaltene Geld ist dann innerhalb von 3 Tagen im Spielerkonto und kann nach Abschluss einer Einzahlung jederzeit auf das Spielkonto umgesetzt werden.

Zusätzlich zu den Zahlungen ermöglicht es Captain Jack seine Kunden auch bei Auszahlungsanträgen, diese unter Beachtung der Regelungen in dem verfügbaren Geldbetrag des Kredits vorzunehmen. Beide Vorgänge können im Zuge einer Ein- oder Abhebung über das Casino-Akonto erfolgen.

Spielangebote

Im Bereich Spielangebot bietet Captain Jack eine Vielzahl von Spielen verschiedener Art an, die in vier Gruppen eingeteilt sind:

  1. Jackpot-Spiele : Diese Spiele gewähren den Spieler In Anspruch genommenen Geldern im Falle eines Gewinns.

  2. Tischspiele : Hier unterliegen das Roulette- und Black Jack – Spiel.

  3. Automatenspiele : Die automatischen Slot-Spiel- Maschinen mit unterschiedlichen Themen und deren Kombination.

  4. Video-Poker-Spiele : Diese Spiele sind die Erweiterung des klassischen Kartenspiels Poker.

Eigentlich ist das gesamte Online Spielkonto nur für dieses Casino verfügbar und der Spieler muss sich nicht auf die verschiedenen Seiten registrieren lassen, da diese von einem einzigen Anbieter bereitgestellt werden. Einige der bekanntesten Automatenspiele wie " Book of Ra" oder aber auch " Lord of the Ocean" bieten den Spielern eine großartige Chance einiges Geld zu gewinnen.

Softwarelieferanten

Captain Jack hat sich im Laufe von mehreren Jahren zu einem sehr guten Casino-Anbieter entwickelt, der die beste Unterstützung durch eine Vielzahl an Softwareherstellern erhalten kann. Dies sind:

  • NetEnt: Ein führender Anbieter, der nicht nur Slot-Spiele bereitstellt.
  • Microgaming: Auch dieser ist bekannt für seine Automaten mit Highroller- und den Multiway-Optionen.
  • NextGen Gaming: Diese bietet auch eine breite Palette an Slots.

Durch die gute Zusammenarbeit von Captain Jack und diesen Herstellern erhöht sich nicht nur der Spaßgehalt, sondern auch kann ein gewisses Gewinnrisiko gering gehalten werden.

Mobiles Casino

Auch das Spielen auf einem Mobilgerät ist möglich. Diese Funktion ermöglicht den Zugriff sowohl im eigenen als aber auch öffentlichen Bereich mit allen Geräten von Mobiltelefonen bis hin zu Notebooks, Tablet- oder Smartphones.

Durch diesen Vorteil bietet Captain Jack seinen Kunden eine maximale Flexibilität bei der Nutzung seiner Angebote. Ein großer Vorteil ist die Möglichkeit sich sowohl im eigenen als aber auch öffentlichen Bereich anzumelden und ein Spiel zu spielen und dies kann man mit einem Smartphone, Tablet oder auch Laptop tun.

Sicherheit

Captain Jack setzt alles daran, um Sicherheit bei seinen Kunden sicherzustellen. Die Webseite wird durch einen SSL-Verschlüsselungscode geschützt, der alle gesendeten Daten in verschlüsselter Form überträgt und die Privatsphäre jedes Spielers schützt.

Ebenfalls sichert Captain Jack, dass für den Betrieb von Online-Spielautomaten eine sorgfältige Prüfung durchführen wird. Diese erfolgt um sicherzustellen, dass es zu keinem Ausfall oder aber auch Störungen bei der Verwendung kommt. Der Spieler kann mit einer guten Sicherheit auf die Ein- und Auszahlung seiner Konten verlassen.

Lizenzierung

Captain Jack ist lizenziert von Malta Gaming Authority (MGA) , einer Organisation, welche in Europa als sicherster Online-Casino-Lieferant bekannt wird. Die Lizenz bestätigt den Spieler über eine sichere und faire Praxis der Unternehmen bei Eingabe oder Auszahlung.

Kunden-Support

Captain Jack bietet seinen Kunden einen rund um die Uhr verfügbaren Support durch verschiedenen Kommunikations- Kanäle wie Telefon, e-Mail, Live Chat (im Spielbereich) sowie in den Webseiten zu finden ist auch eine FAQ-Seite. In dieser gibt es Antworten auf häufige Fragen von neuen oder bestehenden Kunden.

Im Falle eines Anrufs an das Call Center von Captain Jack kann der Spieler mit einem erfahrenen Mitarbeiter sprechen, der die Bedürfnisse jedes Spielers direkt erledigen und jede Frage schnell und freundlich beantwortet. Dieser kann außerdem auch in mehreren Sprachen wie Englisch oder aber auch Spanien sprechen.

Zusammenfassende Analyse

Captain Jack ist ein herausragendes Online Casino, das seit 2008 auf dem Markt existiert und seinen Klienten mit einer Vielzahl von Spielen, exklusiven Boni und erstklassiger Kundenbetreuung eine umfassende Unterhaltung anbietet. Die Webseite wird durch einen SSL-Verschlüsselungscode geschützt und die Prüfung der automatischen Spiele erfolgt regelmäßig.

Die Zusammenarbeit zwischen Captain Jack und renommierten Software-Anbietern wie NetEnt, Microgaming oder aber auch NextGen Gaming ermöglicht es den Kunden eine breite Palette an Slot-Spielen auszuwählen. Das Spielen mit einem Mobilgerät ist ebenfalls möglich, was die Flexibilität erhöht.

Die rundum verfügbare Support- Funktion von Captain Jack beinhaltet verschiedene Kommunikations-Kanäle wie Live Chat im Spielbereich oder aber auch einen 24-Stunden-Telefon-Support in verschiedenen Sprachen. Durch die Lizenzierung durch Malta Gaming Authority wird sichergestellt, dass das Unternehmen eine faire und sichere Praxis einhält.

Die hohe Sicherheit bei der Zahlungspflicht sowie die Prüfung aller automatischen Spielmaschinen von Captain Jack stellen sicher, dass jeder Spieler mit einer guten Abwägung zu einem Casino im Internet sein Geld vertrauen kann.