register(); require_once("../../mysyde/common/common_functions.inc.php"); $envDir = rtrim(dirname(dirname(__DIR__)), '/') . '/config'; if (is_dir($envDir)) { $dotenv = new \Dotenv\Dotenv($envDir); $dotenv->load(); } require_once((local_environment()) ? "../../mysyde/dc.config.php" : "../../mysyde/dc-server.config.php"); db_connect(); function blockReloadTime($seconds){ $modiefied_date = new DateTime(); $modiefied_date->modify('+ '.$seconds.' seconds'); updateReloadTime($modiefied_date->format('d.m.Y H:i:s')); } function updateReloadTime($reload_time){ $update = $GLOBALS['pdo_conn']->prepare("UPDATE main_infopoint_screens SET block_reload_active = :block_reload_active, block_reload_time = :block_reload_time WHERE hash = :hash"); $update->execute(array(':block_reload_active' => '1', ':block_reload_time' => $reload_time, ':hash' => $_GET['hash'])); } function updateReload(){ $update = $GLOBALS['pdo_conn']->prepare("UPDATE main_infopoint_screens SET reload = :reload WHERE hash = :hash"); $update->execute(array(':reload' => '0', ':hash' => $_GET['hash'])); } function getCurrentPreset(){ $select_reload = $GLOBALS['pdo_conn']->prepare("SELECT main_infopoint_preset_id FROM main_infopoint_screens WHERE hash = :hash"); $select_reload->execute(array(':hash' => $_GET['hash'])); $res_reload = $select_reload->fetch(PDO::FETCH_ASSOC); return $res_reload['main_infopoint_preset_id']; } function getCurrentPage(){ $select_reload = $GLOBALS['pdo_conn']->prepare("SELECT current_page FROM main_infopoint_screens WHERE hash = :hash"); $select_reload->execute(array(':hash' => $_GET['hash'])); $res_reload = $select_reload->fetch(PDO::FETCH_ASSOC); return $res_reload['current_page']; } function updateCurrentPage($current_page, $transition_id){ $update_reload = $GLOBALS['pdo_conn']->prepare("UPDATE main_infopoint_screens SET current_page = :current_page, main_infopoint_transition_id = :main_infopoint_transition_id WHERE hash = :hash"); $update_reload->execute(array(':current_page' => $current_page, ':main_infopoint_transition_id' => $transition_id, ':hash' => $_GET['hash'])); } $GLOBALS['main_infopoint_preset_id'] = getCurrentPreset(); $select_presets = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_preset_link LEFT JOIN main_infopoint_pages ON main_infopoint_pages.id = main_infopoint_preset_link.main_infopoint_page_id WHERE main_infopoint_preset_id = :main_infopoint_preset_id AND active = 1 ORDER BY sorting"); $select_presets->execute(array(':main_infopoint_preset_id' => $GLOBALS['main_infopoint_preset_id'])); $res_presets = $select_presets->fetchALL(PDO::FETCH_ASSOC); function selectCurrentPage($sort){ $select_plan = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_pages LEFT JOIN main_infopoint_preset_link ON main_infopoint_pages.id = main_infopoint_preset_link.main_infopoint_page_id WHERE sorting = :sorting AND main_infopoint_preset_id = :main_infopoint_preset_id"); $select_plan->execute(array(':sorting' => $sort, ':main_infopoint_preset_id' => $GLOBALS['main_infopoint_preset_id'])); $res_plan = $select_plan->fetch(PDO::FETCH_ASSOC); return $res_plan; } function selectPageBySorting($sorting){ $select_presets = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_preset_link LEFT JOIN main_infopoint_pages ON main_infopoint_pages.id = main_infopoint_preset_link.main_infopoint_page_id WHERE main_infopoint_preset_id = :main_infopoint_preset_id AND active = 1 ORDER BY sorting"); $select_presets->execute(array(':main_infopoint_preset_id' => $GLOBALS['main_infopoint_preset_id'])); $res_presets = $select_presets->fetchALL(PDO::FETCH_ASSOC); return $res_presets[$sorting-1]['id']; } $count = count($res_presets); $current_page_sort = getCurrentPage(); $current_page = selectCurrentPage($current_page_sort); blockReloadTime($current_page['time']); $next_page = $current_page_sort + 1; if($current_page_sort >= $count){ $next_page = 1; } $next_page_id = selectPageBySorting($next_page); // echo $next_page_id; updateReload(); function getTransitionID(){ $select = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_screens WHERE hash = :hash"); $select->execute(array(':hash' => $_GET['hash'])); $res_select = $select->fetch(PDO::FETCH_ASSOC); return $res_select; } function randomTransition(){ $select = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_transition WHERE type = :type AND active = 1 ORDER BY RAND() LIMIT 1"); $select->execute(array(':type' => 'out')); $res_select = $select->fetch(PDO::FETCH_ASSOC); return $res_select; } function TransitionFromBefore($transition_id){ $select = $GLOBALS['pdo_conn']->prepare("SELECT * FROM main_infopoint_transition WHERE parent = :parent"); $select->execute(array(':parent' => $transition_id)); $res_select = $select->fetch(PDO::FETCH_ASSOC); return $res_select; } $last_transition = getTransitionID(); $current_transition = TransitionFromBefore($last_transition['main_infopoint_transition_id']); $next_transition = randomTransition(); updateCurrentPage($next_page, $next_transition['id']); ?> '>