public function handler_licenses_reason($page) { $softwares = License::getSoftwares(); if (Post::has('disagree') || !Post::has('agree') || !Post::has('software') || !in_array(Post::s('software'), array_keys($softwares))) { $this->handler_licenses($page); } else { $already_has = License::givenKeys(Post::s('software'), S::user()->id()); $software_rare = in_array(Post::v('software'), License::getRareSoftwares()); if (License::hasRights(S::user()) && !$already_has && !$software_rare) { $this->handler_licenses_final($page, true); } else { $page->changeTpl('licenses/licenses_reason.tpl'); $page->assign('title', "Demande de licence pour {$softwares[Post::v('software')]} : raison"); $page->assign('software', Post::v('software')); $page->assign('software_name', $softwares[Post::v('software')]); $page->assign('software_rare', $software_rare); $page->assign('already_has', $already_has); } } }