/** * REST API: WP_REST_Taxonomies_Controller class * * @package WordPress * @subpackage REST_API * @since 4.7.0 */ /** * Core class used to manage taxonomies via the REST API. * * @since 4.7.0 * * @see WP_REST_Controller */ class WP_REST_Taxonomies_Controller extends WP_REST_Controller { /** * Constructor. * * @since 4.7.0 */ public function __construct() { $this->namespace = 'wp/v2'; $this->rest_base = 'taxonomies'; } /** * Registers the routes for taxonomies. * * @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( 'taxonomy' => array( 'description' => __( 'An alphanumeric identifier for the taxonomy.' ), 'type' => 'string', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => array( $this, 'get_item_permissions_check' ), '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 taxonomies. * * @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'] ) { if ( ! empty( $request['type'] ) ) { $taxonomies = get_object_taxonomies( $request['type'], 'objects' ); } else { $taxonomies = get_taxonomies( '', 'objects' ); } foreach ( $taxonomies as $taxonomy ) { if ( ! empty( $taxonomy->show_in_rest ) && current_user_can( $taxonomy->cap->assign_terms ) ) { return true; } } return new WP_Error( 'rest_cannot_view', __( 'Sorry, you are not allowed to manage terms in this taxonomy.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Retrieves all public taxonomies. * * @since 4.7.0 * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Response Response object on success, or WP_Error object on failure. */ public function get_items( $request ) { // Retrieve the list of registered collection query parameters. $registered = $this->get_collection_params(); if ( isset( $registered['type'] ) && ! empty( $request['type'] ) ) { $taxonomies = get_object_taxonomies( $request['type'], 'objects' ); } else { $taxonomies = get_taxonomies( '', 'objects' ); } $data = array(); foreach ( $taxonomies as $tax_type => $value ) { if ( empty( $value->show_in_rest ) || ( 'edit' === $request['context'] && ! current_user_can( $value->cap->assign_terms ) ) ) { continue; } $tax = $this->prepare_item_for_response( $value, $request ); $tax = $this->prepare_response_for_collection( $tax ); $data[ $tax_type ] = $tax; } if ( empty( $data ) ) { // Response should still be returned as a JSON object when it is empty. $data = (object) $data; } return rest_ensure_response( $data ); } /** * Checks if a given request has access to a taxonomy. * * @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 for the item, otherwise false or WP_Error object. */ public function get_item_permissions_check( $request ) { $tax_obj = get_taxonomy( $request['taxonomy'] ); if ( $tax_obj ) { if ( empty( $tax_obj->show_in_rest ) ) { return false; } if ( 'edit' === $request['context'] && ! current_user_can( $tax_obj->cap->assign_terms ) ) { return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to manage terms in this taxonomy.' ), array( 'status' => rest_authorization_required_code() ) ); } } return true; } /** * Retrieves a specific taxonomy. * * @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 ) { $tax_obj = get_taxonomy( $request['taxonomy'] ); if ( empty( $tax_obj ) ) { return new WP_Error( 'rest_taxonomy_invalid', __( 'Invalid taxonomy.' ), array( 'status' => 404 ) ); } $data = $this->prepare_item_for_response( $tax_obj, $request ); return rest_ensure_response( $data ); } /** * Prepares a taxonomy object for serialization. * * @since 4.7.0 * @since 5.9.0 Renamed `$taxonomy` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Taxonomy $item Taxonomy data. * @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. $taxonomy = $item; $base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name; $fields = $this->get_fields_for_response( $request ); $data = array(); if ( in_array( 'name', $fields, true ) ) { $data['name'] = $taxonomy->label; } if ( in_array( 'slug', $fields, true ) ) { $data['slug'] = $taxonomy->name; } if ( in_array( 'capabilities', $fields, true ) ) { $data['capabilities'] = $taxonomy->cap; } if ( in_array( 'description', $fields, true ) ) { $data['description'] = $taxonomy->description; } if ( in_array( 'labels', $fields, true ) ) { $data['labels'] = $taxonomy->labels; } if ( in_array( 'types', $fields, true ) ) { $data['types'] = array_values( $taxonomy->object_type ); } if ( in_array( 'show_cloud', $fields, true ) ) { $data['show_cloud'] = $taxonomy->show_tagcloud; } if ( in_array( 'hierarchical', $fields, true ) ) { $data['hierarchical'] = $taxonomy->hierarchical; } if ( in_array( 'rest_base', $fields, true ) ) { $data['rest_base'] = $base; } if ( in_array( 'rest_namespace', $fields, true ) ) { $data['rest_namespace'] = $taxonomy->rest_namespace; } if ( in_array( 'visibility', $fields, true ) ) { $data['visibility'] = array( 'public' => (bool) $taxonomy->public, 'publicly_queryable' => (bool) $taxonomy->publicly_queryable, 'show_admin_column' => (bool) $taxonomy->show_admin_column, 'show_in_nav_menus' => (bool) $taxonomy->show_in_nav_menus, 'show_in_quick_edit' => (bool) $taxonomy->show_in_quick_edit, 'show_ui' => (bool) $taxonomy->show_ui, ); } $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( $taxonomy ) ); } /** * Filters a taxonomy returned from the REST API. * * Allows modification of the taxonomy data right before it is returned. * * @since 4.7.0 * * @param WP_REST_Response $response The response object. * @param WP_Taxonomy $item The original taxonomy object. * @param WP_REST_Request $request Request used to generate the response. */ return apply_filters( 'rest_prepare_taxonomy', $response, $taxonomy, $request ); } /** * Prepares links for the request. * * @since 6.1.0 * * @param WP_Taxonomy $taxonomy The taxonomy. * @return array Links for the given taxonomy. */ protected function prepare_links( $taxonomy ) { 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_taxonomy_items( $taxonomy->name ) ), ), ); } /** * Retrieves the taxonomy's schema, conforming to JSON Schema. * * @since 4.7.0 * @since 5.0.0 The `visibility` property was added. * @since 5.9.0 The `rest_namespace` 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' => 'taxonomy', 'type' => 'object', 'properties' => array( 'capabilities' => array( 'description' => __( 'All capabilities used by the taxonomy.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'description' => array( 'description' => __( 'A human-readable description of the taxonomy.' ), 'type' => 'string', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'hierarchical' => array( 'description' => __( 'Whether or not the taxonomy should have children.' ), 'type' => 'boolean', 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'labels' => array( 'description' => __( 'Human-readable labels for the taxonomy for various contexts.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, ), 'name' => array( 'description' => __( 'The title for the taxonomy.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'slug' => array( 'description' => __( 'An alphanumeric identifier for the taxonomy.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'show_cloud' => array( 'description' => __( 'Whether or not the term cloud should be displayed.' ), 'type' => 'boolean', 'context' => array( 'edit' ), 'readonly' => true, ), 'types' => array( 'description' => __( 'Types associated with the taxonomy.' ), 'type' => 'array', 'items' => array( 'type' => 'string', ), 'context' => array( 'view', 'edit' ), 'readonly' => true, ), 'rest_base' => array( 'description' => __( 'REST base route for the taxonomy.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'rest_namespace' => array( 'description' => __( 'REST namespace route for the taxonomy.' ), 'type' => 'string', 'context' => array( 'view', 'edit', 'embed' ), 'readonly' => true, ), 'visibility' => array( 'description' => __( 'The visibility settings for the taxonomy.' ), 'type' => 'object', 'context' => array( 'edit' ), 'readonly' => true, 'properties' => array( 'public' => array( 'description' => __( 'Whether a taxonomy is intended for use publicly either via the admin interface or by front-end users.' ), 'type' => 'boolean', ), 'publicly_queryable' => array( 'description' => __( 'Whether the taxonomy is publicly queryable.' ), 'type' => 'boolean', ), 'show_ui' => array( 'description' => __( 'Whether to generate a default UI for managing this taxonomy.' ), 'type' => 'boolean', ), 'show_admin_column' => array( 'description' => __( 'Whether to allow automatic creation of taxonomy columns on associated post-types table.' ), 'type' => 'boolean', ), 'show_in_nav_menus' => array( 'description' => __( 'Whether to make the taxonomy available for selection in navigation menus.' ), 'type' => 'boolean', ), 'show_in_quick_edit' => array( 'description' => __( 'Whether to show the taxonomy in the quick/bulk edit panel.' ), 'type' => 'boolean', ), ), ), ), ); $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() { $new_params = array(); $new_params['context'] = $this->get_context_param( array( 'default' => 'view' ) ); $new_params['type'] = array( 'description' => __( 'Limit results to taxonomies associated with a specific post type.' ), 'type' => 'string', ); return $new_params; } } Rozhovor pro parlamentní listy k ukončení druhé světové války – THOR Tac
Rubriky

Rozhovor pro parlamentní listy k ukončení druhé světové války

Elitní bojovník Němec varovně k Bruselu: Považuji se za vlastence. Některé skupiny lidí se nám ale snaží říct, že už nejsme Češi, ale Evropané

8. 5. 2017 17:36

ROZHOVOR Za zpochybňování historie 2. světové války mohou žvanilové, kteří zhasnou stejně rychle, jako vzpláli, říká v Den vítězství bezpečnostní expert Lumír Němec. Těm, kteří padli při osvobozování naší vlasti, Československa, bychom měli projevovat úctu, tvrdí muž, který opravdu ví, co říká: sám totiž bojoval v Afghánistánu proti nejhorším světovým teroristům. „Žijeme v divné době, ale já se narodil jako Čech, jsem za to rád a na bruselskou diktaturu kašlu,“ říká Němec.

 
Elitní bojovník Němec varovně k Bruselu: Považuji se za vlastence. Některé skupiny lidí se nám ale snaží říct, že už nejsme Češi, ale Evropané
Lumír Němec

 

 

Slavíme 72. výročí porážky Německa a jeho evropských spojenců – Maďarska, Itálie a Rakouska. Jak dnes, s odstupem tří generací, vnímáte jako voják 2. světovou válku a její odkaz?Druhá světová válka byl nejhorší válečný konflikt v dějinách, zahynuly během ní miliony lidí, vojáků i civilistů. Těžko odpovědět na otázku, jak vnímám odkaz druhé světové války: snad jen naději, že se lidstvo poučilo a už nikdy se to nebude opakovat.

 

Myslíte, že se dnes o událostech 2. světové války a o tom, kdo ji zavinil, píše objektivně? Čím dál více historiků a politiků začíná varovat před přepisováním dějin a výměnou viníků za oběti…

Všichni víme, kdo stál na počátku druhé světové války a kdo ji způsobil, to jsou holá fakta a na tom není co zpochybňovat. Vždy se najde nějaká skupina, která se snaží zviditelnit zpochybňováním historie. Většinou jsou to žvanilové, kteří zhasnou stejně rychle, jako vzpláli. Co mě osobně mrzí, je jakési potlačování významu Rudé armády při osvobozování ČSR. Za dob totality se odstraňovaly pomníky americkým vojákům v západních Čechách a tvrdili nám, že nás osvobodila pouze Rudá armáda. Po roce 1989 bohužel nastal opačný směr. Úloha USA při osvobozování naší vlasti je vyzdvihována a úloha Rudé armády je opomíjena. První takový moment jsem zaznamenal, když jeden výtvarník ( a pár poslanců přebarvilo tank, který stál jako pomník na Smíchově, na růžovo a následně tento tank byl odstraněn. Chápu averzi Čechů vůči Rusku, či spíše tehdejšímu SSSR, sám komunisty nesnáším a netajím se tím. Ten tank ale nebyl pomníkem Stalinovi nebo jiné komunistické zrůdě, byl to pomník obyčejným klukům, kteří padli při osvobozování naší vlasti. A těmto lidem bychom měli projevovat úctu, ať přišli ze západu nebo z východu.

V poslední době se kromě snahy o přepis dějin také množí pokusy bagatelizovat tehdejší vlastenectví Čechů a Slováků. Nebo dokonce – i v souvislosti se stále většími problémy v Evropské unii – zaměňovat vlastenectví, tedy cit k rodné zemi a vůli ji bránit- za nacionalismus. Považujete se, coby voják, který za zemi, jejíž vlajku jste nosil na uniformě, bojoval a riskoval život, za vlastence nebo nacionalistu?

Považuji se za vlastence. Žijeme v divném období, globalizace zasahuje všude a některé skupiny lidí se nám snaží říci, že již nejsme Češi, ale Evropani. S tím naprosto nesouhlasím, narodil jsem se jako Čech a jsem za to rád. To, že je v poslední době projev národní hrdosti nazýván nacionalismem, je z velké části důsledek politiky bruselské diktatury, kdy se jaksi zapomíná, že EU byla původně koncipovaná jako hospodářské společenství a ne Svaz spojených evropských republik pod bruselským diktátem, kde malá skupina lidí v Bruselu bude nařizovat, co můžeme a co ne. Samozřejmě tito lidé se snaží potlačovat projevy národní suverenity, které mohou oslabovat jejich vůdčí roli. Takže projevy vlastenectví nazývají nacionalismem, protože se jim to hodí do jejich mocenských plánů.

Ptám se i proto, že třeba předák tzv. sudetských Němců Bernd Posselt v rozhovoru pro DVTV prohlásil, že nacionalismus je podle něho to, co dnes dělá neúspěšná kandidátka na francouzského prezidenta Marine Le Pen. Tu nazval doslova fašistkou a nacistkou a sám sebe za internacionalistu, který proti nacionalismu údajně celý život bojoval. Je podle vás Marine Le Pen, která chce omezit vlny muslimské nelegální migrace, včetně příchodu možných teroristů, opravdu tím, za koho ji vydává předák tzv. sudetských Němců, který mimochodem hlasoval i proti přijetí Čechie do EU?

Marine Le Pen je žena, která vidí situaci reálně a nazývá věci pravými jmény. Vidí souvislost mezi radikálním islamismem, migrací a terorismem, tyto problémy dokáže veřejně pojmenovat a navrhuje řešení. Toto řešení je ovšem v rozporu s Bruselem, jehož chybná politika může za dnešní situaci v Evropě. A protože přiznat chybu v Bruselu neumí, budou úporně potlačovat všechny ty, kteří politiku Bruselu kritizují a jejichž případný úspěch ve volbách by mohl ohrozit jejich posty.

V posledních letech se v Evropě opět rapidně zhoršuje mezinárodně-politická situace. Nedomníváte se, jako by chtěl „starou dámu“ opět někdo vehnat do války? A kdo je tím viníkem?

O tom, že se bezpečnostní situace v Evropě mění k horšímu, není žádných pochyb. Četl jsem pár konspiračních teorií o cílené snaze vehnat Evropu do války, ale nepřikládám jim přílišnou váhu, takže si nemyslím, že někdo chce cíleně vehnat Evropu do války. Zhoršení bezpečnostní situace je důsledek mylných rozhodnutí vládnoucích špiček a dnes jenom sklízíme to, co zasely.

Myslíte si, že jsou Češi vůbec na válku připraveni?

Co to znamená být připraven na válku? Jestli máme dostatečnou armádu, která dokáže ubránit republiku? Jestli máme dostatek krytů pro civilní obyvatelstvo a dostatek potravinových zásob? Když budeme schopni odpovědět na tyto otázky, pak bychom se museli zeptat, na jaký druh války jsme připraveni. Je to hybridní válka nebo nukleární válka? Na tuto otázku v současné době těžko zná někdo adekvátní odpověď. Jedni budou tvrdit, že jsme, druzí, že nejsme. Já tuto odpověď neznám. Mohu pouze doufat, že k žádné válce nedojde.

zdroj http://www.parlamentnilisty.cz/arena/rozhovory/Elitni-bojovnik-Nemec-varovne-k-Bruselu-Povazuji-se-za-vlastence-Nektere-skupiny-lidi-se-nam-ale-snazi-rict-ze-uz-nejsme-Cesi-ale-Evropane-486887