Создание компонента демотиваторов на базе скрипта
В виде эксперимента попробуй написать название и описание только латиницей.
тогда может лучше записывать дэмы в новую папку? С именами сразу проблема отпадет. При нажати на кнопку демотивировать — файл перекидывается в субдерикторию dmНадо еще создать новый файл, а не перезаписать старый: "придумать" ему имя, записать его в базу, сохранить файл с новым именем.
человек визуально попадает на форуму com_photos_add3.tpl, которая будет совмещать 1и 2, после введения формы — файл перезаписуется и сохраняется в базу (будто вновь загруженный)
а имя файла формируется уже наполовину из заголовка
Попытался отредактировать созданные демотиватор — изменил надпись — и после сохранения все надписи кроме логотипа исчезли
Логотип завязан в самом скрипте, а другие данные — назначаются переменным, видимо передача данных сраваетсятили заполняется пустыми значениями.Но был замечен глюк.
Попытался отредактировать созданные демотиватор — изменил надпись — и после сохранения все надписи кроме логотипа исчезли
Но как Вы вернулись назад? Кнапка "отмена"? Тогда, наверное, придется ее в топку. А так нужно посмотреть причину.
Проблема Ваша не совсем ясна — однозначно что-то не подключается. Возможно — шрифт. Тут дело все может быть также и в настройках сервера.Попробовал латиницей, результат тот же, грузится Демотиватор (Картинка на черном фоне), но заголовок и текст выводится как у обычного фото.
отмены нет, есть кнопка редактироватьНо как Вы вернулись назад? Кнапка "отмена"?
Если нажать редактировать и изменить описание и название -то ничего на самом демотиваторе не менятся, надписи остаются прежними, если при этом ещё и выбрать заменить файлом и выбрать другое фото — то фото изменяется, но надписи вообще пропадают. Неудобно сначала придумывать название, а потом загружать фото, поэтому функция редактирование после создания важна.
нужно тогда местами поменять вывод блока, либо же создать отдельный
а вообще-то так весь альбом работает, правда, там есть флеш загрузчик
Аналогичная проблема. Не выводятся заголовок и описание фото. А что может быть не так в настройках сервера?Проблема Ваша не совсем ясна — однозначно что-то не подключается. Возможно — шрифт. Тут дело все может быть также и в настройках сервера.
а это нужно видеть настройки сервера, чтобы понять :)А что может быть не так в настройках сервера?
могут быть просто специфические настройки, не подключать, например, какие-то файлы в целях безопасности
Переписал все как в блоге описано, все заработало… Спасибо за хак!!!
а где блог?
<?php include ("dm.php"); class cms_model_photos{ function __construct(){ $this->inDB = cmsDatabase::getInstance(); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function install(){ return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function getCommentTarget($target, $target_id) { switch($target){ case 'palbum': $album = $this->inDB->get_fields('cms_photo_albums', "id='{$target_id}'", 'title'); if (!$album) { return false; } $result['link'] = '/photos/'.$target_id; $result['title'] = $album['title']; break; case 'photo': $photo = $this->inDB->get_fields('cms_photo_files', "id='{$target_id}'", 'title'); if (!$photo) { return false; } $result['link'] = '/photos/photo'.$target_id.'.html'; $result['title'] = $photo['title']; break; } return ($result ? $result : false); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhoto($id, $file=''){ $inCore = cmsCore::getInstance(); $inCore->loadLib('tags'); cmsCore::callEvent('DELETE_PHOTO', $id); if (!$file){ $file = $this->inDB->get_field('cms_photo_files', "id='{$id}'", 'file'); } if (!$file){ return false; } $this->deletePhotoFile($file, PATH.'/images/photos/'); $inCore->deleteComments('photo', $id); $inCore->deleteRatings('photo', $id); cmsActions::removeObjectLog('add_photo', $id); $sql = "DELETE FROM cms_photo_files WHERE id = '$id'"; $this->inDB->query($sql) ; cmsClearTags('photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function deletePhotos($id_list){ cmsCore::callEvent('DELETE_PHOTOS', $id_list); foreach($id_list as $key=>$id){ $this->deletePhoto($id); } return true; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function updatePhoto($id, $photo){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('UPDATE_PHOTO', $photo); $sql = "UPDATE cms_photo_files SET album_id = '{$photo['album_id']}', title='{$photo['title']}', file='{$photo['filename']}', description='{$photo['description']}', published='{$photo['published']}', showdate='{$photo['showdate']}' WHERE id = '$id' LIMIT 1"; $this->inDB->query($sql); cmsInsertTags($photo['tags'], 'photo', $id); } /* ==================================================================================================== */ /* ==================================================================================================== */ public function addPhoto($photo, $differ = '', $user_id = false){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('ADD_PHOTO', $photo); $user_id = $user_id ? $user_id : $inUser->id; if (!$user_id) { return false; } $sql = "INSERT INTO cms_photo_files (album_id, title, description, pubdate, file, published, showdate, comments, user_id, owner) VALUES ('{$photo['album_id']}', '{$photo['title']}', '{$photo['description']}', NOW(), '{$photo['filename']}', '{$photo['published']}', '{$photo['showdate']}', 1, '{$user_id}', '{$differ}')"; $this->inDB->query($sql); $photo_id = $this->inDB->get_last_id('cms_photo_files'); cmsInsertTags($photo['tags'], 'photo', $photo_id); cmsUser::checkAwards($user_id); $album_title = $this->inDB->get_field('cms_photo_albums', "id='{$photo['album_id']}'", 'title'); if ($photo['published']) { $description = $photo['is_hidden'] ? '' : '<a href="/photos/photo'.$photo_id.'.html" class="act_photo"><img border="0" src="/images/photos/small/'.$photo['filename'].'" /></a>'; 'object' => $photo['title'], 'object_url' => '/photos/photo'.$photo_id.'.html', 'object_id' => $photo_id, 'target' => $album_title, 'target_url' => '/photos/'.$photo['album_id'], 'description' => $description )); } return $photo_id; } /* ==================================================================================================== */ /* ==================================================================================================== */ public function randPhoto($album_id, $is_sub=false){ $catsql = 'AND f.album_id = '.$album_id; if ($is_sub && $album_id != '0') { $rootcat = $this->inDB->get_fields('cms_photo_albums', 'id='.$album_id, 'NSLeft, NSRight, NSDiffer'); if ($rootcat['NSDiffer']){ $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']} AND a.NSDiffer = '{$rootcat['NSDiffer']}'"; } else { $catsql = " AND a.NSLeft >= {$rootcat['NSLeft']} AND a.NSRight <= {$rootcat['NSRight']} AND a.NSDiffer = ''"; } }