// includes/class-lottery-types.php
if (!defined('ABSPATH')) {
exit;
}
class Lottery_Types {
private static $types = [
'1' => [
'name' => 'Mega-sena',
'numbers' => 6,
'max_number' => 60
],
'2' => [
'name' => 'Lotofácil',
'numbers' => 15,
'max_number' => 25
],
'3' => [
'name' => 'Quina',
'numbers' => 5,
'max_number' => 80
],
'4' => [
'name' => 'Lotomania',
'numbers' => 20,
'max_number' => 100
],
'5' => [
'name' => 'Timemania',
'numbers' => 7,
'max_number' => 80,
'additional_fields' => [
'time_coracao' => [
'type' => 'text',
'label' => 'Time do Coração'
]
]
],
'6' => [
'name' => 'Dupla Sena',
'numbers' => 6,
'max_number' => 50,
'second_draw' => true
],
'7' => [
'name' => 'Super Sete',
'columns' => 7,
'max_number' => 9
],
'8' => [
'name' => '+Milionária',
'numbers' => 6,
'max_number' => 50,
'additional_fields' => [
'trevo1' => [
'type' => 'number',
'label' => 'Trevo 1',
'max' => 6
],
'trevo2' => [
'type' => 'number',
'label' => 'Trevo 2',
'max' => 6
]
]
],
'9' => [
'name' => 'Dia de Sorte',
'numbers' => 7,
'max_number' => 31,
'additional_fields' => [
'mes_sorte' => [
'type' => 'select',
'label' => 'Mês da Sorte',
'options' => [
'Janeiro', 'Fevereiro', 'Março', 'Abril',
'Maio', 'Junho', 'Julho', 'Agosto',
'Setembro', 'Outubro', 'Novembro', 'Dezembro'
]
]
]
]
];
public static function get_type($id) {
return isset(self::$types[$id]) ? self::$types[$id] : null;
}
public static function get_all_types() {
return self::$types;
}
public static function validate_numbers($type_id, $numbers) {
$type = self::get_type($type_id);
if (!$type) return false;
// Validação específica para Super Sete
if ($type_id === '7') {
if (count($numbers) !== 7) return false;
foreach ($numbers as $num) {
if ($num < 0 || $num > 9) return false;
}
return true;
}
// Validação para outros jogos
if (count($numbers) !== $type['numbers']) return false;
foreach ($numbers as $num) {
if ($num < 1 || $num > $type['max_number']) return false;
}
return true;
}
public static function validate_additional_fields($type_id, $data) {
$type = self::get_type($type_id);
if (!$type || !isset($type['additional_fields'])) return true;
foreach ($type['additional_fields'] as $field => $config) {
if (!isset($data[$field])) return false;
switch ($config['type']) {
case 'number':
if (!is_numeric($data[$field]) ||
$data[$field] < 1 ||
$data[$field] > $config['max']) {
return false;
}
break;
case 'select':
if (!in_array($data[$field], $config['options'])) {
return false;
}
break;
case 'text':
if (empty($data[$field])) {
return false;
}
break;
}
}
return true;
}
}
Warning: Cannot modify header information - headers already sent by (output started at /home/agenciaandare/htdocs/publicidadeja.com.br/wp-content/plugins/loteria-resultados/includes/class-lottery-types.php:1) in /home/agenciaandare/htdocs/publicidadeja.com.br/wp-content/plugins/royal-elementor-addons/plugin.php on line 439