session_start();
session_set_cookie_params(86400);
вместо второй строки используйте setcookie(session_name(),session_id(),time()+86400); - если сессия уже существует
в сms много всего готово - но вам оно не надо в этом проекте, а конкретно под вашу задачу придется писать плагин с нуля. поэтому фреймворк - не будет ничего лишнего
много. посмотрите на фрилансим заказы - там клепают админки за неделю. пусть распишет подробно на что потратит время и пусть коммитит каждый час работы. уверен, сделает быстрее раза в 2. вообще, грубая оценка предполагает погрешность процентов 20.