$key = sprintf('vf_gallery:%s', $_POST['_token']); $get_params = function () use($key) { return mem($key); }; // try to fetch mem_key 3 times for ($i = 0; $i < 3; $i++) { $params = $get_params(); if ($params) { break; } } if (!$params) { $error = sprintf('Invalid gallery token: <strong>%s</strong>. Could not get params to generate gallery.', $_POST['_token']); throw new Exception($error); } $gallery = vf::gallery($params); $folder = $gallery->initFolder(true); $items = $folder->items; } else { $items = $gallery->folder->items; if (!$items) { $items = $gallery->items; } } if ($gallery->db_field && $gallery->db_row_id) { $items = array(array('_id' => aql::value($gallery->db_field, $gallery->db_row_id))); if (!$items[0]['_id']) { $items = array(); } } $empty = count($items) == 0;
<?php // gallery $_GET['curl_timeout'] = 20; if (!$_POST['_token']) { return; } $token = $_POST['_token']; $pars = $_SESSION['VF']['gallery'][$token]; if (!$pars) { throw new \Exception('Invalid token to generate gallery.'); } $pars = (array) $pars; $pars['folder'] = $pars['folder']->path; echo vf::gallery($pars)->html;