get("ID свежезагруженной фотографии"))!==false){ //Удаляем сообщение $status->remove("ID свежезагруженной фотографии"); //Создаем и аутентифицируем пользователя Яндекс.Фоток $photo = new yandex_fotki("MojoElephant"); //Получили коллекцию фотографий пользователя $photo->user()->add_photo_collection("Слонофотки"); //Получаем свежезагруженную фотографию по ее id $new_photo = $photo->user()->photo_collection("Слонофотки")->get_photo_by_id($photo_id); if(!$new_photo){ throw new Exception("Не удалось найти загруженную фотографию.",E_ERROR); } //Создаем блок, который будет показан пользователю и содержит ссылки на фотографии в разном размере $link_block = new template_class("Ссылки","../../templates/link_block.html"); $link_block->point("Точки ввода"); $link_block->plug("Точки ввода","Оригинальная","Ссылка",$new_photo->get_orig()); $link_block->plug("Точки ввода","XL","Ссылка",$new_photo->get_XL()); $link_block->plug("Точки ввода","L","Ссылка",$new_photo->get_L()); $link_block->plug("Точки ввода","M","Ссылка",$new_photo->get_M()); $link_block->plug("Точки ввода","S","Ссылка",$new_photo->get_S()); $link_block->plug("Точки ввода","XS","Ссылка",$new_photo->get_XS()); $link_block->plug("Точки ввода","XXS","Ссылка",$new_photo->get_XXS()); $link_block->plug("Точки ввода","XXXS","Ссылка",$new_photo->get_XXXS()); } //Если галерея кэширована, то берем из кеша. Зачем нам задержка, которая образуется при обмене сообщений с Яндексом? Если нет, то получаем данные от Яндекса try{ $page = $cache->get("Галерея"); }catch(DataNotFoundError $error){ if(!isset($photo)){ //Создаем и аутентифицируем пользователя Яндекс.Фоток $photo = new yandex_fotki("MojoElephant"); //Получили коллекцию фотографий пользователя $photo->user()->add_photo_collection("Слонофотки"); } //Получили коллекцию фотографий пользователя ограниченную 25 $photo->user()->photo_collection("Слонофотки")->se(array("limit"=>25)); //Формируем галерею из 25 последних загруженных фотографий $gallery = new template_class("Галерея","../../templates/gallery.html"); $gallery->point("Точки ввода"); foreach($photo->user()->photo_collection("Слонофотки")->photo_list(0) as $index=>$photo_element){ $photo_block = new template_class("Фото","../../templates/photo.html"); $photo_block->point("Точки ввода"); $photo_block->plug("Точки ввода","Увеличенное","Увеличенное",$photo_element->get_L()); $photo_block->plug("Точки ввода","Предпросмотр","Предпросмотр",$photo_element->get_XXS()); $gallery->plug("Точки ввода","Фотография",$index,$photo_block->render()); } $template_controller = new template_class("Пример","../../templates/example.html"); $template_controller->point("Точки ввода"); if(isset($link_block)){ $template_controller->plug("Точки ввода","Ссылки на изображения","Ссылки на изображения",$link_block->render()); } $template_controller->plug("Точки ввода","Галерея","Галерея",$gallery->render()); $page = $template_controller->render(); if(!isset($link_block)){ $cache->set("Галерея",$page,array("gallery"),60*60*12); } } die($page); function err_overwork($error){ $template_controller = new template_class("Ошибка","../../templates/error.html"); $template_controller->point("Точки ввода"); $template_controller->plug("Точки ввода","Имя файла","Имя файла",$error->getFile()); $template_controller->plug("Точки ввода","Строка","Строка",$error->getLine()); $template_controller->plug("Точки ввода","Текст ошибки","Текст ошибки",htmlspecialchars($error->getMessage(),ENT_COMPAT,"UTF-8")); die($template_controller->render()); }