Компонент демотиваторов

Создание компонента демотиваторов на базе скрипта

#46 16 ноября 2011 в 00:37
Алфей, возможно дело не в шрифтах, если сайт третей строкой пишется на картинке нормально...
В виде эксперимента попробуй написать название и описание только латиницей.
#47 16 ноября 2011 в 00:52
Max, Дело в том, что сейчас и сайт не пишется(((
#48 16 ноября 2011 в 00:57
Max, Попробовал латиницей, результат тот же, грузится Демотиватор (Картинка на черном фоне), но заголовок и текст выводится как у обычного фото.
#49 16 ноября 2011 в 05:23

Надо еще создать новый файл, а не перезаписать старый: "придумать" ему имя, записать его в базу, сохранить файл с новым именем.

Max
тогда может лучше записывать дэмы в новую папку? С именами сразу проблема отпадет. При нажати на кнопку демотивировать — файл перекидывается в субдерикторию dm
человек визуально попадает на форуму com_photos_add3.tpl, которая будет совмещать 1и 2, после введения формы — файл перезаписуется и сохраняется в базу (будто вновь загруженный)
а имя файла формируется уже наполовину из заголовка
#50 16 ноября 2011 в 06:04
вроде работает. Но был замечен глюк.
Попытался отредактировать созданные демотиватор — изменил надпись — и после сохранения все надписи кроме логотипа исчезли
#51 16 ноября 2011 в 12:54

Но был замечен глюк.
Попытался отредактировать созданные демотиватор — изменил надпись — и после сохранения все надписи кроме логотипа исчезли

fact
Логотип завязан в самом скрипте, а другие данные — назначаются переменным, видимо передача данных сраваетсятили заполняется пустыми значениями.
Но как Вы вернулись назад? Кнапка "отмена"? Тогда, наверное, придется ее в топку. А так нужно посмотреть причину.

Попробовал латиницей, результат тот же, грузится Демотиватор (Картинка на черном фоне), но заголовок и текст выводится как у обычного фото.

Алфей
Проблема Ваша не совсем ясна — однозначно что-то не подключается. Возможно — шрифт. Тут дело все может быть также и в настройках сервера.
#52 16 ноября 2011 в 14:28

Но как Вы вернулись назад? Кнапка "отмена"?

catsite
отмены нет, есть кнопка редактировать
Если нажать редактировать и изменить описание и название -то ничего на самом демотиваторе не менятся, надписи остаются прежними, если при этом ещё и выбрать заменить файлом и выбрать другое фото — то фото изменяется, но надписи вообще пропадают. Неудобно сначала придумывать название, а потом загружать фото, поэтому функция редактирование после создания важна.
#53 16 ноября 2011 в 17:17
ну, у меня именно отмена написано...
нужно тогда местами поменять вывод блока, либо же создать отдельный
а вообще-то так весь альбом работает, правда, там есть флеш загрузчик
#54 17 ноября 2011 в 11:08

Проблема Ваша не совсем ясна — однозначно что-то не подключается. Возможно — шрифт. Тут дело все может быть также и в настройках сервера.

catsite
Аналогичная проблема. Не выводятся заголовок и описание фото. А что может быть не так в настройках сервера?
#55 17 ноября 2011 в 11:57
Не работают надписи и на дефолтном шаблоне((
#56 17 ноября 2011 в 12:07
Переписал все как в блоге описано, все заработало… Спасибо за хак!!!
#57 17 ноября 2011 в 14:31

А что может быть не так в настройках сервера?

Rossoman
а это нужно видеть настройки сервера, чтобы понять :)
могут быть просто специфические настройки, не подключать, например, какие-то файлы в целях безопасности
#58 17 ноября 2011 в 15:14


Переписал все как в блоге описано, все заработало… Спасибо за хак!!!

Алфей

а где блог?
#60 18 ноября 2011 в 12:17
Вот файл model.php
  1. <?php
  2.  
  3. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  4. include ("dm.php");
  5.  
  6.  
  7. class cms_model_photos{
  8.  
  9. function __construct(){
  10. $this->inDB = cmsDatabase::getInstance();
  11. }
  12.  
  13. /* ==================================================================================================== */
  14. /* ==================================================================================================== */
  15.  
  16. public function install(){
  17.  
  18. return true;
  19.  
  20. }
  21.  
  22. /* ==================================================================================================== */
  23. /* ==================================================================================================== */
  24.  
  25. public function getCommentTarget($target, $target_id) {
  26.  
  27. $result = array();
  28.  
  29. switch($target){
  30.  
  31. case 'palbum': $album = $this->inDB->get_fields('cms_photo_albums', "id='{$target_id}'", 'title');
  32. if (!$album) { return false; }
  33. $result['link'] = '/photos/'.$target_id;
  34. $result['title'] = $album['title'];
  35. break;
  36.  
  37. case 'photo': $photo = $this->inDB->get_fields('cms_photo_files', "id='{$target_id}'", 'title');
  38. if (!$photo) { return false; }
  39. $result['link'] = '/photos/photo'.$target_id.'.html';
  40. $result['title'] = $photo['title'];
  41. break;
  42.  
  43. }
  44.  
  45. return ($result ? $result : false);
  46.  
  47. }
  48.  
  49. /* ==================================================================================================== */
  50. /* ==================================================================================================== */
  51.  
  52. public function deletePhoto($id, $file=''){
  53.  
  54. $inCore = cmsCore::getInstance();
  55. $inCore->loadLib('tags');
  56.  
  57. cmsCore::callEvent('DELETE_PHOTO', $id);
  58.  
  59. if (!$file){
  60. $file = $this->inDB->get_field('cms_photo_files', "id='{$id}'", 'file');
  61. }
  62. if (!$file){ return false; }
  63.  
  64. $this->deletePhotoFile($file, PATH.'/images/photos/');
  65.  
  66. $inCore->deleteComments('photo', $id);
  67. $inCore->deleteRatings('photo', $id);
  68.  
  69. cmsActions::removeObjectLog('add_photo', $id);
  70.  
  71. $sql = "DELETE FROM cms_photo_files WHERE id = '$id'";
  72. $this->inDB->query($sql) ;
  73.  
  74. cmsClearTags('photo', $id);
  75.  
  76. }
  77.  
  78. /* ==================================================================================================== */
  79. /* ==================================================================================================== */
  80.  
  81. public function deletePhotos($id_list){
  82.  
  83. cmsCore::callEvent('DELETE_PHOTOS', $id_list);
  84.  
  85. foreach($id_list as $key=>$id){
  86. $this->deletePhoto($id);
  87. }
  88.  
  89. return true;
  90.  
  91. }
  92.  
  93. /* ==================================================================================================== */
  94. /* ==================================================================================================== */
  95.  
  96. public function updatePhoto($id, $photo){
  97. $inCore = cmsCore::getInstance();
  98. $inUser = cmsUser::getInstance();
  99.  
  100. $photo = cmsCore::callEvent('UPDATE_PHOTO', $photo);
  101.  
  102. $sql = "UPDATE cms_photo_files
  103. SET album_id = '{$photo['album_id']}',
  104. title='{$photo['title']}',
  105. file='{$photo['filename']}',
  106. description='{$photo['description']}',
  107. published='{$photo['published']}',
  108. showdate='{$photo['showdate']}'
  109. WHERE id = '$id'
  110. LIMIT 1";
  111. $this->inDB->query($sql);
  112.  
  113. cmsInsertTags($photo['tags'], 'photo', $id);
  114. }
  115.  
  116. /* ==================================================================================================== */
  117. /* ==================================================================================================== */
  118.  
  119. public function addPhoto($photo, $differ = '', $user_id = false){
  120.  
  121. $inCore = cmsCore::getInstance();
  122. $inUser = cmsUser::getInstance();
  123.  
  124. $photo = cmsCore::callEvent('ADD_PHOTO', $photo);
  125.  
  126. $user_id = $user_id ? $user_id : $inUser->id;
  127.  
  128. if (!$user_id) { return false; }
  129.  
  130. $sql = "INSERT INTO cms_photo_files (album_id, title, description, pubdate, file, published, showdate, comments, user_id, owner)
  131. VALUES ('{$photo['album_id']}', '{$photo['title']}', '{$photo['description']}', NOW(),
  132. '{$photo['filename']}', '{$photo['published']}', '{$photo['showdate']}', 1, '{$user_id}', '{$differ}')";
  133.  
  134. $this->inDB->query($sql);
  135.  
  136. $photo_id = $this->inDB->get_last_id('cms_photo_files');
  137.  
  138. cmsInsertTags($photo['tags'], 'photo', $photo_id);
  139.  
  140. cmsUser::checkAwards($user_id);
  141.  
  142. $album_title = $this->inDB->get_field('cms_photo_albums', "id='{$photo['album_id']}'", 'title');
  143.  
  144. if ($photo['published']) {
  145. $description = $photo['is_hidden'] ? '' : '<a href="/photos/photo'.$photo_id.'.html" class="act_photo"><img border="0" src="/images/photos/small/'.$photo['filename'].'" /></a>';
  146.  
  147. cmsActions::log('add_photo', array(
  148. 'object' => $photo['title'],
  149. 'object_url' => '/photos/photo'.$photo_id.'.html',
  150. 'object_id' => $photo_id,
  151. 'target' => $album_title,
  152. 'target_url' => '/photos/'.$photo['album_id'],
  153. 'description' => $description
  154. ));
  155. }
  156.  
  157. return $photo_id;
  158. }
  159.  
  160. /* ==================================================================================================== */
  161. /* ==================================================================================================== */
  162.  
  163. public function randPhoto($album_id, $is_sub=false){
  164.  
  165. $catsql = 'AND f.album_id = '.$album_id;
  166.  
  167. if ($is_sub && $album_id != '0') {
  168. $rootcat = $this->inDB->get_fields('cms_photo_albums', 'id='.$album_id, 'NSLeft, NSRight, NSDiffer');
  169. if ($rootcat['NSDiffer']){
  170. $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']} AND a.NSDiffer = '{$rootcat['NSDiffer']}'";
  171. } else {
  172. $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']} AND a.NSDiffer = ''";
  173. }
  174. }
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.