{\rtf1\ansi\ansicpg1252\cocoartf2865 \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} {\*\expandedcolortbl;;} \paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 \f0\fs24 \cf0 get_charset_collate();\ \ // Nome das tabelas com prefixo do WordPress\ $table_users = $wpdb->prefix . 'pife_users';\ $table_submissions = $wpdb->prefix . 'pife_submissions';\ \ // SQL para criar tabela de utilizadores do ranking\ // Usamos VARCHAR para o ID para corresponder ao ID de utilizador do WP (que \'e9 bigint) ou outros sistemas\ $sql_users = "CREATE TABLE $table_users (\ id VARCHAR(255) NOT NULL,\ name VARCHAR(255) NOT NULL,\ email VARCHAR(255) NOT NULL,\ role VARCHAR(50) NOT NULL DEFAULT 'Colaborador',\ totalPoints INT NOT NULL DEFAULT 0,\ PRIMARY KEY (id)\ ) $charset_collate;";\ \ // SQL para criar tabela de submiss\'f5es\ $sql_submissions = "CREATE TABLE $table_submissions (\ sub_id INT AUTO_INCREMENT NOT NULL,\ userId VARCHAR(255) NOT NULL,\ userName VARCHAR(255) NOT NULL,\ userRole VARCHAR(50) NOT NULL,\ activityType VARCHAR(100) NOT NULL,\ activityLabel VARCHAR(255) NOT NULL,\ description TEXT,\ status VARCHAR(50) NOT NULL DEFAULT 'Pendente',\ pointsAwarded INT NOT NULL DEFAULT 0,\ submittedAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\ PRIMARY KEY (sub_id),\ KEY userId (userId)\ ) $charset_collate;";\ \ require_once(ABSPATH . 'wp-admin/includes/upgrade.php');\ dbDelta($sql_users);\ dbDelta($sql_submissions);\ \}\ \ // ---\ // 2. CRIA\'c7\'c3O DO MENU DE ADMINISTRA\'c7\'c3O\ // ---\ \ add_action('admin_menu', 'pife_360_admin_menu');\ \ /**\ * Adiciona a p\'e1gina de administra\'e7\'e3o ao menu do WordPress.\ */\ function pife_360_admin_menu() \{\ add_menu_page(\ 'Desafio PIFE Admin', // T\'edtulo da P\'e1gina\ 'Desafio PIFE Admin', // T\'edtulo do Menu\ 'manage_options', // Capacidade (s\'f3 admins)\ 'pife-360-admin', // Slug\ 'pife_360_admin_page_html', // Fun\'e7\'e3o que renderiza\ 'dashicons-star-filled', // \'cdcone\ 20 // Posi\'e7\'e3o\ );\ \}\ \ // ---\ // 3. P\'c1GINA DE ADMINISTRA\'c7\'c3O (HTML E L\'d3GICA)\ // ---\ \ /**\ * Renderiza o HTML da p\'e1gina de administra\'e7\'e3o.\ */\ function pife_360_admin_page_html() \{\ global $wpdb;\ $table_users = $wpdb->prefix . 'pife_users';\ $table_submissions = $wpdb->prefix . 'pife_submissions';\ \ // Busca dados para a p\'e1gina\ $users = $wpdb->get_results("SELECT * FROM $table_users ORDER BY name ASC");\ $pending_submissions = $wpdb->get_results("SELECT * FROM $table_submissions WHERE status = 'Pendente' ORDER BY submittedAt ASC");\ \ ?>\ \ \
\

Painel do Administrador - Desafio PIFE 360

\ \
\ \ \
\

Cadastrar Novo Utilizador no Ranking

\

Importante: Voc\'ea precisa de obter o 'ID de Utilizador' (WP User ID) no painel de "Utilizadores" do WordPress. Este formul\'e1rio apenas cria o perfil do utilizador no *ranking*.

\
\