доброго времени суток уважаемое сообщество.
немного приболел и появилось время нечем незаниматься по учёбе, решил поковыряться с движком
представляю вашему вниманию хак фотогалереи — а именно мой старый хак альбомов клубов, о котором я писал в своём блоге, и наконец, как и обещал в админку вынес списки альбомов и фотографий пользователей
проблема заключалась в том, что они не относятся к фотогалерее и живут отдельной жизнью от фотографий и альбомов фотогалереи, в отличии от альбомов клубов, которые привязаны к фотогалерее.
и так для начала функционал:
приступим к самому хаку
будем редактировать три файла
открываем фаил \admin\components\photos\backend.php
находим
заменяем на
находим
заменяем на
в самом конце перед
вставляем следующий код
(кто ставил хак альбомов клубов то часть с клубом пропустить)
с этим файлом всё
далее открываем фаил \admin\includes\cp.php
находим
вставляем после (можно и в другом месте файла)
если ставили хак альбомов клубов раздел клуб по id не прописывать
с этим файлом всё
далее открываем \components\photos\model.php
и в самом конце
после
перед
вставляем
скидываем иконки в соответствии иерархии папок с прикреплённого архива (в корень сайта)
сохраняем всё это и пользуемся
архив с иконками и описанием instantcms.ru/users/files/download2105.html
ну и как обычно — от поощрений не откажусь (инфа на стене и в подписе на форуме), а так же приветствуется плюс в карму
немного приболел и появилось время нечем незаниматься по учёбе, решил поковыряться с движком
представляю вашему вниманию хак фотогалереи — а именно мой старый хак альбомов клубов, о котором я писал в своём блоге, и наконец, как и обещал в админку вынес списки альбомов и фотографий пользователей
проблема заключалась в том, что они не относятся к фотогалерее и живут отдельной жизнью от фотографий и альбомов фотогалереи, в отличии от альбомов клубов, которые привязаны к фотогалерее.
и так для начала функционал:
вывод списка альбомов клубов вывод списка альбомов пользователей вывод списка фотографий пользователей есть возможность редактирования фотографий и альбомов есть возможность удаления фотографий и альбомов при удалении фотографии удаляется как запись в базе, так и фаил. при удалении альбома удаляется запись из базы об альбоме, записи из базы о фото с альбома и сами файлы
будем редактировать три файла
открываем фаил \admin\components\photos\backend.php
находим
//=================================================================================================// if ($opt=='list_photos' || $opt=='list_albums'){ $toolmenu[0]['icon'] = 'newfolder.gif'; $toolmenu[0]['title'] = 'Новый альбом'; $toolmenu[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_album'; $toolmenu[1]['icon'] = 'newphoto.gif'; $toolmenu[1]['title'] = 'Новая фотография'; $toolmenu[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_photo'; $toolmenu[2]['icon'] = 'newphotomulti.gif'; $toolmenu[2]['title'] = 'Массовая загрузка фото'; $toolmenu[2]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_photo_multi'; $toolmenu[3]['icon'] = 'folders.gif'; $toolmenu[3]['title'] = 'Фотоальбомы'; $toolmenu[3]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_albums'; $toolmenu[4]['icon'] = 'listphoto.gif'; $toolmenu[4]['title'] = 'Все фотографии'; $toolmenu[4]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_photos'; $toolmenu[5]['icon'] = 'config.gif'; $toolmenu[5]['title'] = 'Настройки'; $toolmenu[5]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=config'; } //=================================================================================================//
//=================================================================================================// if ($opt=='list_photos' || $opt=='list_albums' || $opt=='list_albums_clubs' || $opt=='list_user_albums' || $opt=='list_user_photos'){ $toolmenu[0]['icon'] = 'newfolder.gif'; $toolmenu[0]['title'] = 'Новый альбом'; $toolmenu[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_album'; $toolmenu[1]['icon'] = 'newphoto.gif'; $toolmenu[1]['title'] = 'Новая фотография'; $toolmenu[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_photo'; $toolmenu[2]['icon'] = 'newphotomulti.gif'; $toolmenu[2]['title'] = 'Массовая загрузка фото'; $toolmenu[2]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=add_photo_multi'; $toolmenu[3]['icon'] = 'folders.gif'; $toolmenu[3]['title'] = 'Фотоальбомы'; $toolmenu[3]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_albums'; $toolmenu[4]['icon'] = 'clubs_album.png'; $toolmenu[4]['title'] = 'Фотоальбомы клубов'; $toolmenu[4]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_albums_clubs'; $toolmenu[7]['icon'] = 'user_photos.png'; $toolmenu[7]['title'] = 'Фотографии пользователей'; $toolmenu[7]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_photos'; $toolmenu[8]['icon'] = 'user_albums.png'; $toolmenu[8]['title'] = 'Фотоальбомы пользователей'; $toolmenu[8]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_albums'; $toolmenu[5]['icon'] = 'listphoto.gif'; $toolmenu[5]['title'] = 'Все фотографии'; $toolmenu[5]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_photos'; $toolmenu[6]['icon'] = 'config.gif'; $toolmenu[6]['title'] = 'Настройки'; $toolmenu[6]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=config'; } //=================================================================================================//
//=================================================================================================// if ($opt=='list_photos' || $opt=='list_albums'){ } else { $toolmenu[20]['icon'] = 'save.gif'; $toolmenu[20]['title'] = 'Сохранить'; $toolmenu[20]['link'] = 'javascript:document.addform.submit();'; $toolmenu[21]['icon'] = 'cancel.gif'; $toolmenu[21]['title'] = 'Отмена'; $toolmenu[21]['link'] = '?view=components&do=config&id='.$_REQUEST['id']; } cpToolMenu($toolmenu); //=================================================================================================//
//=================================================================================================// if ($opt=='list_photos' || $opt=='list_albums' || $opt=='list_albums_clubs' || $opt=='list_user_albums' || $opt=='list_user_photos'){ } else { $toolmenu[20]['icon'] = 'save.gif'; $toolmenu[20]['title'] = 'Сохранить'; $toolmenu[20]['link'] = 'javascript:document.addform.submit();'; $toolmenu[21]['icon'] = 'cancel.gif'; $toolmenu[21]['title'] = 'Отмена'; $toolmenu[21]['link'] = '?view=components&do=config&id='.$_REQUEST['id']; } cpToolMenu($toolmenu); //=================================================================================================//
?>
(кто ставил хак альбомов клубов то часть с клубом пропустить)
//============================ хак альбомов клубов и пользователей ==============================// //================================= Фотоальбомы и фотографии пользователей=========================// //=================================== Список фотографий пользователей =========================// if ($opt == 'list_user_photos'){ cpAddPathway('Фотографии пользователей', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_photos'); echo '<h3>Фотографии пользователей</h3>'; //TABLE COLUMNS $fields = array(); $fields[0]['title'] = 'id'; $fields[0]['field'] = 'id'; $fields[0]['width'] = '30'; $fields[1]['title'] = 'Дата'; $fields[1]['field'] = 'pubdate'; $fields[1]['width'] = '80'; $fields[1]['filter'] = 15; $fields[1]['fdate'] = '%d/%m/%Y'; $fields[2]['title'] = 'Название'; $fields[2]['field'] = 'title'; $fields[2]['width'] = ''; $fields[2]['filter'] = 15; $fields[2]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_photo&item_id=%id%'; $fields[3]['title'] = 'Показ'; $fields[3]['field'] = 'allow_who'; $fields[3]['width'] = '100'; $fields[3]['prc'] = 'cpUserPhotoAlbumView'; $fields[4]['title'] = 'Просмотров'; $fields[4]['field'] = 'hits'; $fields[4]['width'] = '90'; $fields[5]['title'] = 'Альбом'; $fields[5]['field'] = 'album_id'; $fields[5]['width'] = '200'; $fields[5]['prc'] = 'cpUserPhotoAlbumById'; $fields[5]['filter'] = 1; $fields[5]['filterlist'] = cpGetList('cms_user_albums'); $fields[6]['title'] = 'Хозяин фотографии'; $fields[6]['field'] = 'user_id'; $fields[6]['width'] = '200'; $fields[6]['prc'] = 'cpUserNick'; //ACTIONS $actions = array(); $actions[0]['title'] = 'Редактировать'; $actions[0]['icon'] = 'edit.gif'; $actions[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_photo&item_id=%id%'; $actions[1]['title'] = 'Удалить'; $actions[1]['icon'] = 'delete.gif'; $actions[1]['confirm'] = 'Удалить фотографию?'; $actions[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=delete_user_photo&item_id=%id%'; //Print table cpListTable('cms_user_photos', $fields, $actions, '', 'id DESC'); } //=================================================================================================// //=========================== Фотоальбомы пользователей (список) ==================================// if ($opt == 'list_user_albums'){ cpAddPathway('Фотоальбомы пользователей', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_albums'); echo '<h3>Фотоальбомы пользователей</h3>'; //TABLE COLUMNS $fields = array(); $fields[0]['title'] = 'id'; $fields[0]['field'] = 'id'; $fields[0]['width'] = '30'; $fields[1]['title'] = 'Дата'; $fields[1]['field'] = 'pubdate'; $fields[1]['width'] = '80'; $fields[1]['filter'] = 15; $fields[1]['fdate'] = '%d/%m/%Y'; $fields[2]['title'] = 'Название'; $fields[2]['field'] = 'title'; $fields[2]['width'] = ''; $fields[2]['filter'] = 15; $fields[2]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_album&item_id=%id%'; $fields[3]['title'] = 'Показ'; $fields[3]['field'] = 'allow_who'; $fields[3]['width'] = '100'; $fields[3]['prc'] = 'cpUserPhotoAlbumView'; $fields[4]['title'] = 'Хозяин альбома'; $fields[4]['field'] = 'user_id'; $fields[4]['width'] = '200'; $fields[4]['prc'] = 'cpUserNick'; //ACTIONS $actions = array(); $actions[0]['title'] = 'Редактировать'; $actions[0]['icon'] = 'edit.gif'; $actions[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_album&item_id=%id%'; $actions[1]['title'] = 'Удалить'; $actions[1]['icon'] = 'delete.gif'; $actions[1]['confirm'] = 'Вместе с альбомом будут удалены все фотографии. Удалить фотоальбом?'; $actions[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=delete_user_album&item_id=%id%'; //Print table cpListTable('cms_user_albums', $fields, $actions, '', 'id DESC'); } //=================================================================================================// //============================== Страница редактирования фотографии пользователя ==================// if ($opt == 'edit_user_photo'){ $id = $_REQUEST['item_id']; $sql = "SELECT f.*, a.title as album FROM cms_user_photos f, cms_user_albums a WHERE f.id = $id AND f.album_id = a.id LIMIT 1"; $result = dbQuery($sql) ; if (mysql_num_rows($result)){ $mod = mysql_fetch_assoc($result); echo '<h3>'.$mod['title'].' '.$ostatok.'</h3>'; cpAddPathway('Фотографии пользователей', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_photos'); cpAddPathway($mod['title'], '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_photo&item_id='.$id); } ?> <?php cpCheckWritable('/images/users/photos', 'folder'); ?> <?php cpCheckWritable('/images/users/photos/medium', 'folder'); ?> <?php cpCheckWritable('/images/users/photos/small', 'folder'); ?> <form action="index.php?view=components&do=config&id=<?php echo $_REQUEST['id'];?>" method="post" enctype="multipart/form-data" name="addform" id="addform"> <table width="600" cellspacing="5" class="proptable"> <tr> <td width="177">Название фотографии: </td> <td width="311"><input name="title" type="text" id="title" size="30" value="<?php echo htmlspecialchars($mod['title']);?>"/></td> </tr> <tr> <td valign="top">Фотоальбом:</td> <td valign="top"> <?php $user_nik['id'] = $mod['user_id']; $user_nik['nik'] = $inDB->get_field('cms_users', "id={$user_nik['id']}", 'nickname'); $user_nik['login'] = $inDB->get_field('cms_users', "id={$user_nik['id']}", 'login'); ?><input type="hidden" name="album_id" value="<?php echo $mod['album_id']; ?>" /> <?php echo $user_nik['nik'] .'('.$user_nik['login'].')';?> → <?php echo $mod['album']; ?> </td> </tr> <tr> <td>Файл фотографии: </td> <td><?php if (@$mod['imageurl']) { echo '<div><img src="/images/users/photos/small/'.$mod['imageurl'].'" border="1" /></div>'; echo '<div><a href="/images/users/photos/medium/'.$mod['imageurl'].'" title="Посмотреть фото">'.$mod['title'].'</a></div>'; } else { ?> <input name="picture" type="file" id="picture" size="30" /> <?php } ?></td> </tr> <tr> <td height="30">Показывать:</td> <td> <select name="allow"> <option value="all" <?php if (@$mod['allow_who']=='all') {echo 'selected="selected"';} ?> >Всем</option> <option value="registered" <?php if ($mod['allow_who']=='registered') {echo 'selected="selected"';} ?> >Зарегестрированным</option> <option value="friends" <?php if ($mod['allow_who']=='friends') {echo 'selected="selected"';} ?> >Друзьям</option> </select> </td> </tr> </table> <table width="100%" > <tr> <?php echo '<td width="52%" valign="top">'; echo 'Описание фотографии:<br/>'; $inCore->insertEditor('description', $mod['description'], '260', '605'); echo '</td>'; } ?> </tr> </table> <p> <input name="add_mod" type="submit" id="add_mod" value="Сохранить фото" /> <input name="back3" type="button" id="back3" value="Отмена" onclick="window.location.href='index.php?view=components&do=config&id=<?php echo $_REQUEST['id']; ?>&opt=list_user_photos';"/> <input name="opt" type="hidden" id="opt" value="update_user_photo" /> <?php echo '<input name="item_id" type="hidden" value="'.$mod['id'].'" />'; ?> </p> </form> <?php } //=================================================================================================// //================================ Обновление фотографии пользователя =============================// if ($opt == 'update_user_photo'){ if($inCore->inRequest('item_id')) { $id = $inCore->request('item_id', 'int'); $photo['title'] = $inCore->request('title', 'str'); $photo['description'] = $inCore->request('description', 'html'); $photo['description'] = $inDB->escape_string($photo['description']); $photo['allow'] = $inCore->request('allow', 'str'); $model->updateUserPhoto($id, $photo); } $inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_photos'); } else { $inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_photo'); } } //=================================================================================================// //================================ Удаление фотографии пользователя ===============================// if($opt == 'delete_user_photo'){ $id = (int)$_REQUEST['item_id']; if ($id >= 0){ $model->deleteUserPhoto($id); } } else { $model->deleteUserPhotos($_REQUEST['item']); } $inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_photos'); } //=================================================================================================// //============================== Страница редактирования альбома пользователя =====================// if ($opt == 'edit_user_album'){ $id = $_REQUEST['item_id']; $sql = "SELECT * FROM cms_user_albums WHERE id = $id LIMIT 1"; $result = dbQuery($sql) ; } cpAddPathway('Фотоальбомы пользователей', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_albums'); cpAddPathway('Редактировать фотоальбом пользователя', '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_user_album'); echo '<h3>Редактировать фотоальбом пользователя</h3>'; } ?> <form id="addform" name="addform" method="post" action="index.php?view=components&do=config&id=<?php echo $_REQUEST['id'];?>"> <table width="610" cellspacing="5" class="proptable"> <tr> <td width="300">Название альбома:</td> <td><input name="title" type="text" id="title" size="30" value="<?php echo htmlspecialchars($mod['title']); ?>"/></td> </tr> <tr> <td valign="top">Хозяин фотоальбома:</td> <td valign="top"> <?php $user_nik['id'] = $mod['user_id']; $user_nik['nik'] = $inDB->get_field('cms_users', "id={$user_nik['id']}", 'nickname'); $user_nik['login'] = $inDB->get_field('cms_users', "id={$user_nik['id']}", 'login'); ?><input type="hidden" name="album_id" value="<?php echo $mod['album_id']; ?>" /> <?php echo $user_nik['nik'] .' ('.$user_nik['login'].')';?> </td> </tr> <tr> <td height="30">Показывать:</td> <td> <select name="allow"> <option value="all" <?php if (@$mod['allow_who']=='all') {echo 'selected="selected"';} ?> >Всем</option> <option value="registered" <?php if ($mod['allow_who']=='registered') {echo 'selected="selected"';} ?> >Зарегестрированным</option> <option value="friends" <?php if ($mod['allow_who']=='friends') {echo 'selected="selected"';} ?> >Друзьям</option> </select> </td> </tr> </table> <table width="100%" > <tr> <div style="margin:5px 0px 5px 0px">Описание альбома:</div> <textarea name="description" style="width:580px" rows="4"><?php echo @$mod['description']?></textarea> </tr> </table> <p> <input name="opt" type="hidden" id="opt" value="update_user_album" /> <input name="add_mod" type="submit" id="add_mod" value="Сохранить альбом" /> <input name="back2" type="button" id="back2" value="Отмена" onclick="window.location.href='index.php?view=components&do=config&id=<?php echo $_REQUEST['id']; ?>';"/> <?php echo '<input name="item_id" type="hidden" value="'.$mod['id'].'" />'; ?> </p> </form> <?php } //=================================================================================================// //================================ Обновление альбома пользователя ================================// if ($opt == 'update_user_album'){ if($inCore->inRequest('item_id')) { $id = $inCore->request('item_id', 'int'); $album['title'] = $inCore->request('title', 'str'); $album['description'] = $inCore->request('description', 'html'); $album['description'] = $inDB->escape_string($album['description']); $album['allow'] = $inCore->request('allow', 'str'); $model->updateUserAlbum($id, $album); $inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_albums'); } } //=================================================================================================// //=================================== удаление альбома пользователя ===============================// if($opt == 'delete_user_album'){ if($inCore->inRequest('item_id')) { $id = $inCore->request('item_id', 'int'); $model->deleteUserAlbum($id); } $inCore->redirect('?view=components&do=config&id='.$_REQUEST['id'].'&opt=list_user_albums'); } //=================================================================================================// //===================================== Хак альбомов клубов ======================================// //=================================== Список альбомов клубов =====================================// if ($opt == 'list_albums_clubs'){ echo '<h3>Фотоальбомы клубов</h3>'; //TABLE COLUMNS $fields[0]['title'] = 'Lt'; $fields[0]['field'] = 'NSLeft'; $fields[0]['width'] = '30'; $fields[1]['title'] = 'Название'; $fields[1]['field'] = 'title'; $fields[1]['width'] = ''; $fields[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_album&item_id=%id%'; $fields[2]['title'] = 'Клуб'; $fields[2]['field'] = 'user_id'; $fields[2]['width'] = '250'; $fields[2]['prc'] = 'cpClubsById'; $fields[3]['title'] = 'Показ'; $fields[3]['field'] = 'published'; $fields[3]['width'] = '100'; $fields[3]['do'] = 'opt'; $fields[3]['do_suffix'] = '_album'; //ACTIONS $actions[0]['title'] = 'Редактировать'; $actions[0]['icon'] = 'edit.gif'; $actions[0]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_album&item_id=%id%'; $actions[1]['title'] = 'Удалить'; $actions[1]['icon'] = 'delete.gif'; $actions[1]['confirm'] = 'Вместе с альбомом будут удалены все фотографии. Удалить фотоальбом?'; $actions[1]['link'] = '?view=components&do=config&id='.$_REQUEST['id'].'&opt=delete_album&item_id=%id%'; //Print table cpListTable('cms_photo_albums', $fields, $actions, 'parent_id>0 AND (NSDiffer LIKE "club%")', 'NSDiffer'); } //=================================================================================================//
далее открываем фаил \admin\includes\cp.php
находим
function cpPhotoAlbumById($id){ $result = dbQuery("SELECT title FROM cms_photo_albums WHERE id = $id") ; return '<a href="index.php?view=components&do=config&id='.$_REQUEST['id'].'&opt=edit_album&item_id='.$id.'">'.$cat['title'].'</a> ('.$id.')'; } else { return '--'; } }
если ставили хак альбомов клубов раздел клуб по id не прописывать
// клуб по id function cpClubsById($id){ $result = dbQuery("SELECT title FROM cms_clubs WHERE id = $id") ; return 'Клуб "'.$cat['title'].'" ('.$id.')'; } else { return '--'; } } // альбом пользователя по id function cpUserPhotoAlbumById($id){ $result = dbQuery("SELECT title FROM cms_user_albums WHERE id = $id") ; return '"'.$cat['title'].'" ('.$id.')'; } else { return '--'; } } // кому показывать фото и альбомы пользователей function cpUserPhotoAlbumView($who){ if ($who=="all") { return 'Всем'; } if ($who=="friends") { return 'Друзьям'; } if ($who=="registered") { return 'Зарегистрированным'; } }
далее открываем \components\photos\model.php
и в самом конце
после
/* ==================================================================================================== */ /* ==================================================================================================== */
}
/* ======================== обновление данных фотографии пользователя ================================= */ public function updateUserPhoto($id, $photo){ $inCore = cmsCore::getInstance(); $inUser = cmsUser::getInstance(); $photo = cmsCore::callEvent('UPDATE_PHOTO', $photo); $sql = "UPDATE cms_user_photos SET title='{$photo['title']}', description='{$photo['description']}', allow_who='{$photo['allow']}' WHERE id = '{$id}' LIMIT 1"; $this->inDB->query($sql); } /* ==================================================================================================== */ /* ================================== удаление фотографии пользователя ================================ */ public function deleteUserPhoto($id, $file=''){ $inCore = cmsCore::getInstance(); cmsCore::callEvent('DELETE_PHOTO', $id); if (!$file){ $file = $this->inDB->get_field('cms_user_photos', "id='{$id}'", 'imageurl'); } if (!$file){ return false; } $this->deletePhotoFile($file, PATH.'/images/users/photos/'); $inCore->deleteComments('userphoto', $id); $inCore->deleteRatings('userphoto', $id); cmsActions::removeObjectLog('add_user_photo', $id); $sql = "DELETE FROM cms_user_photos WHERE id = '$id'"; $this->inDB->query($sql) ; cmsClearTags('userphoto', $id); } /* ==================================================================================================== */ /* ================================== удаление фотографий пользователя ================================ */ public function deleteUserPhotos($id_list){ cmsCore::callEvent('DELETE_PHOTOS', $id_list); foreach($id_list as $key=>$id){ $this->deleteUserPhoto($id); } return true; } /* ==================================================================================================== */ /* ============================ Обновление информации об альбоме пользователя ========================= */ public function updateUserAlbum($id, $album){ $album = cmsCore::callEvent('UPDATE_ALBUM', $album); $sql = "UPDATE cms_user_albums SET title='{$album['title']}', description='{$album['description']}', allow_who='{$album['allow']}' WHERE id = '$id'"; $this->inDB->query($sql); } /* ==================================================================================================== */ /* =================================== Удаление альбома пользователя ================================== */ public function deleteUserAlbum($id, $differ = ''){ $inCore = cmsCore::getInstance(); cmsCore::callEvent('DELETE_ALBUM', $id); $sql = "SELECT f.id as id, f.imageurl as imageurl FROM cms_user_photos f, cms_user_albums a WHERE f.album_id = $id"; $result = $this->inDB->query($sql); if ($this->inDB->num_rows($result)){ while($photo = $this->inDB->fetch_assoc($result)){ $this->deleteUserPhoto($photo['id'], $photo['imageurl']); } } $sql_del = "DELETE FROM cms_user_albums WHERE id = '$id'"; $this->inDB->query($sql_del) ; } /* ==================================================================================================== */
сохраняем всё это и пользуемся
архив с иконками и описанием instantcms.ru/users/files/download2105.html
ну и как обычно — от поощрений не откажусь (инфа на стене и в подписе на форуме), а так же приветствуется плюс в карму
Реклама #
Алексей Гаврилов 12 лет назад #
Sergey Platonov 12 лет назад #
Soul 12 лет назад #
Очень бы хотелось видеть комментарии администрации по всем предлагаемым на сайте изменениям исходников (да и разработок в целом) - лучше Вас движок не знает ни кто и хотелось бы знать Ваше мнение.
Sergey Platonov, + в блог и карму.
Sergey Platonov 12 лет назад #
Soul 12 лет назад #
Тонко ухватили мою мысль +.
По поводу разработок (хаков, модулей и т.д.), публикуемых здесь, многое можно было бы включить в функционал движка - здесь дело скорее в том плане, что некоторые вещи разработчики считают не нужными, не безопасными и т.д., да и чревато использовать чужие разработки (автор может и претензию предъявить, хотя изначально возможно сам просил о безвозмездном использовании его трудов - таков уж человек по своей сущности)..
Вот по этому и сеть желание хотя бы время от времени видеть комментарии разработчиков.
Sergey Platonov 12 лет назад #
а по поводу
st.Puh 12 лет назад #
Олег 12 лет назад #
Ставим+
VopisUVD 12 лет назад #
А возможно его оформить как модифицированный компонент фотогалереи? Чтоб с инсталяшкой было...
Блицкриг 10 лет назад #
Aryuts 10 лет назад #
Андрей 4 года назад #