es ist die admin_media_cat.php welche ursprünglich admin_music_cat.php war. Nun ist der Schaden begrenzt darauf das ich meine Categorien im Media Mod nur noch via phpmyadmin editieren kann, was etwas nervig ist! Aber hier mal die Datei, evtl weiss jemand was der Fehler ist, sie ist identisch zur orginalen, nur alle "music" wurde zu "media" ausgetauscht!
Code: Alles auswählen
<?php
/***************************************************************************
* admin_media_cat.php
* -------------------
* begin : Friday, Mar 19, 2004
* copyright : (C) 2004 Cf Manager
* email : cf_manager@yahoo.com
* support : http://cfmanager.net.tf
*
* $Id: admin_media_cat.php,v 2.0 2004/04/19, 23:20:30 cfmanager Exp $
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
define('IN_PHPBB', true);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Media_Online']['Categories'] = $filename;
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = '../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
require($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main_media.' . $phpEx);
require($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin_media.' . $phpEx);
// --------------------------
// This function will sort the order of all categories
//
function reorder_cat()
{
global $db;
$sql = "SELECT cat_id, cat_order
FROM ". MEDIA_CAT_TABLE ."
WHERE cat_id <> 0
ORDER BY cat_order ASC";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not get list of Categories', '', __LINE__, __FILE__, $sql);
}
$i = 10;
while( $row = $db->sql_fetchrow($result) )
{
$sql = "UPDATE ". MEDIA_CAT_TABLE ."
SET cat_order = $i
WHERE cat_id = ". $row['cat_id'];
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update order fields', '', __LINE__, __FILE__, $sql);
}
$i += 10;
}
}
// END
// --------------------------
if( !isset($HTTP_POST_VARS['mode']) )
{
if( !isset($HTTP_GET_VARS['action']) )
{
$template->set_filenames(array(
'body' => 'admin/media_cat_body.tpl')
);
$template->assign_vars(array(
'L_MEDIA_CAT_TITLE' => $lang['Media_Categories_Title'],
'L_MEDIA_CAT_EXPLAIN' => $lang['Media_Categories_Explain'],
'S_MEDIA_ACTION' => append_sid("admin_media_cat.$phpEx"),
'L_MOVE_UP' => $lang['Move_up'],
'L_MOVE_DOWN' => $lang['Move_down'],
'L_EDIT' => $lang['Edit'],
'L_DELETE' => $lang['Delete'],
'S_MODE' => 'new',
'L_CREATE_CATEGORY' => $lang['Create_category'])
);
$sql = "SELECT *
FROM ". MEDIA_CAT_TABLE ."
ORDER BY cat_order ASC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query media Categories information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$catrow[] = $row;
}
for( $i = 0; $i < count($catrow); $i++ )
{
$template->assign_block_vars('catrow', array(
'COLOR' => ($i % 2) ? 'row1' : 'row2',
'TITLE' => $catrow[$i]['cat_title'],
'DESC' => $catrow[$i]['cat_desc'],
'S_MOVE_UP' => append_sid("admin_media_cat.$phpEx?action=move&move=-15&cat_id=" . $catrow[$i]['cat_id']),
'S_MOVE_DOWN' => append_sid("admin_media_cat.$phpEx?action=move&move=15&cat_id=" . $catrow[$i]['cat_id']),
'S_EDIT_ACTION' => append_sid("admin_media_cat.$phpEx?action=edit&cat_id=" . $catrow[$i]['cat_id']),
'S_DELETE_ACTION' => append_sid("admin_media_cat.$phpEx?action=delete&cat_id=" . $catrow[$i]['cat_id'])
)
);
}
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
else
{
if( $HTTP_GET_VARS['action'] == 'edit' )
{
$cat_id = intval($HTTP_GET_VARS['cat_id']);
$sql = "SELECT *
FROM ". MEDIA_CAT_TABLE ."
WHERE cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query media Categories information', '', __LINE__, __FILE__, $sql);
}
if( $db->sql_numrows($result) == 0 )
{
message_die(GENERAL_ERROR, 'The requested category is not existed');
}
$catrow = $db->sql_fetchrow($result);
$template->set_filenames(array(
'body' => 'admin/media_cat_new_body.tpl')
);
$template->assign_vars(array(
'L_MEDIA_CAT_TITLE' => $lang['Media_Categories_Title'],
'L_MEDIA_CAT_EXPLAIN' => $lang['Media_Categories_Explain'],
'S_MEDIA_ACTION' => append_sid("admin_media_cat.$phpEx?cat_id=$cat_id"),
'L_CAT_TITLE' => $lang['Category_Title'],
'L_CAT_DESC' => $lang['Category_Desc'],
'L_CAT_PERMISSIONS' => $lang['Category_Permissions'],
'L_VIEW_LEVEL' => $lang['View_level'],
'L_UPLOAD_LEVEL' => $lang['Upload_level'],
'L_RATE_LEVEL' => $lang['Rate_level'],
'L_COMMENT_LEVEL' => $lang['Comment_level'],
'L_EDIT_LEVEL' => $lang['Edit_level'],
'L_DELETE_LEVEL' => $lang['Delete_level'],
'L_SONGS_APPROVAL' => $lang['Songs_Approval'],
'L_GUEST' => $lang['Forum_ALL'],
'L_REG' => $lang['Forum_REG'],
'L_PRIVATE' => $lang['Forum_PRIVATE'],
'L_MOD' => $lang['Forum_MOD'],
'L_ADMIN' => $lang['Forum_ADMIN'],
'L_DISABLED' => $lang['Disabled'],
'S_CAT_TITLE' => $catrow['cat_title'],
'S_CAT_DESC' => $catrow['cat_desc'],
'VIEW_GUEST' => ($catrow['cat_view_level'] == MEDIA_GUEST) ? 'selected="selected"' : '',
'VIEW_REG' => ($catrow['cat_view_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'VIEW_PRIVATE' => ($catrow['cat_view_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'VIEW_MOD' => ($catrow['cat_view_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'VIEW_ADMIN' => ($catrow['cat_view_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'UPLOAD_GUEST' => ($catrow['cat_upload_level'] == MEDIA_GUEST) ? 'selected="selected"' : '',
'UPLOAD_REG' => ($catrow['cat_upload_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'UPLOAD_PRIVATE' => ($catrow['cat_upload_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'UPLOAD_MOD' => ($catrow['cat_upload_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'UPLOAD_ADMIN' => ($catrow['cat_upload_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'RATE_GUEST' => ($catrow['cat_rate_level'] == MEDIA_GUEST) ? 'selected="selected"' : '',
'RATE_REG' => ($catrow['cat_rate_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'RATE_PRIVATE' => ($catrow['cat_rate_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'RATE_MOD' => ($catrow['cat_rate_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'RATE_ADMIN' => ($catrow['cat_rate_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'COMMENT_GUEST' => ($catrow['cat_comment_level'] == MEDIA_GUEST) ? 'selected="selected"' : '',
'COMMENT_REG' => ($catrow['cat_comment_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'COMMENT_PRIVATE' => ($catrow['cat_comment_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'COMMENT_MOD' => ($catrow['cat_comment_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'COMMENT_ADMIN' => ($catrow['cat_comment_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'EDIT_REG' => ($catrow['cat_edit_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'EDIT_PRIVATE' => ($catrow['cat_edit_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'EDIT_MOD' => ($catrow['cat_edit_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'EDIT_ADMIN' => ($catrow['cat_edit_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'DELETE_REG' => ($catrow['cat_delete_level'] == MEDIA_USER) ? 'selected="selected"' : '',
'DELETE_PRIVATE' => ($catrow['cat_delete_level'] == MEDIA_PRIVATE) ? 'selected="selected"' : '',
'DELETE_MOD' => ($catrow['cat_delete_level'] == MEDIA_MOD) ? 'selected="selected"' : '',
'DELETE_ADMIN' => ($catrow['cat_delete_level'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'APPROVAL_DISABLED' => ($catrow['cat_approval'] == MEDIA_USER) ? 'selected="selected"' : '',
'APPROVAL_MOD' => ($catrow['cat_approval'] == MEDIA_MOD) ? 'selected="selected"' : '',
'APPROVAL_ADMIN' => ($catrow['cat_approval'] == MEDIA_ADMIN) ? 'selected="selected"' : '',
'S_MODE' => 'edit',
'S_GUEST' => MEDIA_GUEST,
'S_USER' => MEDIA_USER,
'S_PRIVATE' => MEDIA_PRIVATE,
'S_MOD' => MEDIA_MOD,
'S_ADMIN' => MEDIA_ADMIN,
'L_PANEL_TITLE' => $lang['Edit_Category'])
);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
else if( $HTTP_GET_VARS['action'] == 'delete' )
{
$cat_id = intval($HTTP_GET_VARS['cat_id']);
$sql = "SELECT cat_id, cat_title, cat_order
FROM ". MEDIA_CAT_TABLE ."
ORDER BY cat_order ASC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query media Categories information', '', __LINE__, __FILE__, $sql);
}
$cat_found = FALSE;
while( $row = $db->sql_fetchrow($result) )
{
if( $row['cat_id'] == $cat_id )
{
$thiscat = $row;
$cat_found = TRUE;
}
else
{
$catrow[] = $row;
}
}
if( $cat_found == FALSE )
{
message_die(GENERAL_ERROR, 'The requested category is not existed');
}
$select_to = '<select name="target"><option value="0">'. $lang['Delete_all_songs'] .'</option>';
for ($i = 0; $i < count($catrow); $i++)
{
$select_to .= '<option value="'. $catrow[$i]['cat_id'] .'">'. $catrow[$i]['cat_title'] .'</option>';
}
$select_to .= '</select>';
$template->set_filenames(array(
'body' => 'admin/media_cat_delete_body.tpl')
);
$template->assign_vars(array(
'S_MEDIA_ACTION' => append_sid("admin_media_cat.$phpEx?cat_id=$cat_id"),
'L_CAT_DELETE' => $lang['Delete_Category'],
'L_CAT_DELETE_EXPLAIN' => $lang['Delete_Category_Explain'],
'L_CAT_TITLE' => $lang['Category_Title'],
'S_CAT_TITLE' => $thiscat['cat_title'],
'L_MOVE_CONTENTS' => $lang['Move_contents'],
'L_MOVE_DELETE' => $lang['Move_and_Delete'],
'S_SELECT_TO' => $select_to)
);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
else if( $HTTP_GET_VARS['action'] == 'move' )
{
$cat_id = intval($HTTP_GET_VARS['cat_id']);
$move = intval($HTTP_GET_VARS['move']);
$sql = "UPDATE ". MEDIA_CAT_TABLE ."
SET cat_order = cat_order + $move
WHERE cat_id = $cat_id";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not change category order', '', __LINE__, __FILE__, $sql);
}
reorder_cat();
// Return a message...
$message = $lang['Category_changed_order'] . "<br /><br />" . sprintf($lang['Click_return_media_category'], "<a href=\"" . append_sid("admin_media_cat.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
}
else
{
if( $HTTP_POST_VARS['mode'] == 'new' )
{
if( !isset($HTTP_POST_VARS['cat_title']) )
{
$template->set_filenames(array(
'body' => 'admin/media_cat_new_body.tpl')
);
$template->assign_vars(array(
'L_MEDIA_CAT_TITLE' => $lang['Media_Categories_Title'],
'L_MEDIA_CAT_EXPLAIN' => $lang['Media_Categories_Explain'],
'S_MEDIA_ACTION' => append_sid("admin_media_cat.$phpEx"),
'L_CAT_TITLE' => $lang['Category_Title'],
'L_CAT_DESC' => $lang['Category_Desc'],
'L_CAT_PERMISSIONS' => $lang['Category_Permissions'],
'L_VIEW_LEVEL' => $lang['View_level'],
'L_UPLOAD_LEVEL' => $lang['Upload_level'],
'L_RATE_LEVEL' => $lang['Rate_level'],
'L_COMMENT_LEVEL' => $lang['Comment_level'],
'L_EDIT_LEVEL' => $lang['Edit_level'],
'L_DELETE_LEVEL' => $lang['Delete_level'],
'L_SONGS_APPROVAL' => $lang['Songs_Approval'],
'L_GUEST' => $lang['Forum_ALL'],
'L_REG' => $lang['Forum_REG'],
'L_PRIVATE' => $lang['Forum_PRIVATE'],
'L_MOD' => $lang['Forum_MOD'],
'L_ADMIN' => $lang['Forum_ADMIN'],
'L_DISABLED' => $lang['Disabled'],
'VIEW_GUEST' => 'selected="selected"',
'UPLOAD_REG' => 'selected="selected"',
'RATE_REG' => 'selected="selected"',
'COMMENT_REG' => 'selected="selected"',
'EDIT_REG' => 'selected="selected"',
'DELETE_MOD' => 'selected="selected"',
'APPROVAL_DISABLED' => 'selected="selected"',
'S_MODE' => 'new',
'S_GUEST' => MEDIA_GUEST,
'S_USER' => MEDIA_USER,
'S_PRIVATE' => MEDIA_PRIVATE,
'S_MOD' => MEDIA_MOD,
'S_ADMIN' => MEDIA_ADMIN,
'L_PANEL_TITLE' => $lang['Create_category'])
);
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
}
else
{
// Get posting variables
$cat_title = str_replace("\'", "''", htmlspecialchars(trim($HTTP_POST_VARS['cat_title'])));
$cat_desc = str_replace("\'", "''", trim($HTTP_POST_VARS['cat_desc']));
$view_level = intval($HTTP_POST_VARS['cat_view_level']);
$upload_level = intval($HTTP_POST_VARS['cat_upload_level']);
$rate_level = intval($HTTP_POST_VARS['cat_rate_level']);
$comment_level = intval($HTTP_POST_VARS['cat_comment_level']);
$edit_level = intval($HTTP_POST_VARS['cat_edit_level']);
$delete_level = intval($HTTP_POST_VARS['cat_delete_level']);
$cat_approval = intval($HTTP_POST_VARS['cat_approval']);
// Get the last ordered category
$sql = "SELECT cat_order FROM ". MEDIA_CAT_TABLE ."
ORDER BY cat_order DESC
LIMIT 1";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query media Categories information', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$last_order = $row['cat_order'];
$cat_order = $last_order + 10;
// Here we insert a new row into the db
$sql = "INSERT INTO ". MEDIA_CAT_TABLE ." (cat_title, cat_desc, cat_order, cat_view_level, cat_upload_level, cat_rate_level, cat_comment_level, cat_edit_level, cat_delete_level, cat_approval)
VALUES ('$cat_title', '$cat_desc', '$cat_order', '$view_level', '$upload_level', '$rate_level', '$comment_level', '$edit_level', '$delete_level', '$cat_approval')";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not create new media Category', '', __LINE__, __FILE__, $sql);
}
// Return a message...
$message = $lang['New_category_created'] . "<br /><br />" . sprintf($lang['Click_return_media_category'], "<a href=\"" . append_sid("admin_media_cat.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
else if( $HTTP_POST_VARS['mode'] == 'edit' )
{
// Get posting variables
$cat_id = intval($HTTP_GET_VARS['cat_id']);
$cat_title = str_replace("\'", "''", htmlspecialchars(trim($HTTP_POST_VARS['cat_title'])));
$cat_desc = str_replace("\'", "''", trim($HTTP_POST_VARS['cat_desc']));
$view_level = intval($HTTP_POST_VARS['cat_view_level']);
$upload_level = intval($HTTP_POST_VARS['cat_upload_level']);
$rate_level = intval($HTTP_POST_VARS['cat_rate_level']);
$comment_level = intval($HTTP_POST_VARS['cat_comment_level']);
$edit_level = intval($HTTP_POST_VARS['cat_edit_level']);
$delete_level = intval($HTTP_POST_VARS['cat_delete_level']);
$cat_approval = intval($HTTP_POST_VARS['cat_approval']);
// Now we update this row
$sql = "UPDATE ". MEDIA_CAT_TABLE ."
SET cat_title = '$cat_title', cat_desc = '$cat_desc', cat_view_level = '$view_level', cat_upload_level = '$upload_level', cat_rate_level = '$rate_level', cat_comment_level = '$comment_level', cat_edit_level = '$edit_level', cat_delete_level = '$delete_level', cat_approval = '$cat_approval'
WHERE cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update this media Category', '', __LINE__, __FILE__, $sql);
}
// Return a message...
$message = $lang['Category_updated'] . "<br /><br />" . sprintf($lang['Click_return_media_category'], "<a href=\"" . append_sid("admin_media_cat.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else if( $HTTP_POST_VARS['mode'] == 'delete' )
{
$cat_id = intval($HTTP_GET_VARS['cat_id']);
$target = intval($HTTP_POST_VARS['target']);
if( $target == 0 ) // Delete All
{
// Get file information of all songs in this category
$sql = "SELECT song_id, song_filename, song_cat_id
FROM ". MEDIA_TABLE ."
WHERE song_cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not query media information', '', __LINE__, __FILE__, $sql);
}
$songrow = array();
while( $row = $db ->sql_fetchrow($result) )
{
$songrow[] = $row;
$song_id_row[] = $row['song_id'];
}
if( count($songrow) != 0 ) // if this category is not empty
{
// Delete all physical song
for ($i = 0; $i < count($songrow); $i++)
{
@unlink('../' . MEDIA_UPLOAD_PATH . $songrow[$i]['song_filename']);
}
$song_id_sql = '(' . implode(',', $song_id_row) . ')';
// Delete all related ratings
$sql = "DELETE FROM ". MEDIA_RATE_TABLE ."
WHERE rate_song_id IN ". $song_id_sql;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete Ratings information', '', __LINE__, __FILE__, $sql);
}
// Delete all related comments
$sql = "DELETE FROM ". MEDIA_COMMENT_TABLE ."
WHERE comment_song_id IN ". $song_id_sql;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete Comments information', '', __LINE__, __FILE__, $sql);
}
// Delete song entries in db
$sql = "DELETE FROM ". MEDIA_TABLE ."
WHERE song_cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete song entries in the DB', '', __LINE__, __FILE__, $sql);
}
}
// This category is now emptied, we can remove it!
$sql = "DELETE FROM ". MEDIA_CAT_TABLE ."
WHERE cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete this Category', '', __LINE__, __FILE__, $sql);
}
// Re-order the rest of categories
reorder_cat();
// Return a message...
$message = $lang['Category_deleted'] . "<br /><br />" . sprintf($lang['Click_return_media_category'], "<a href=\"" . append_sid("admin_media_cat.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
else // Move content...
{
$sql = "UPDATE ". MEDIA_TABLE ."
SET song_cat_id = '$target'
WHERE song_cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not update this Category content', '', __LINE__, __FILE__, $sql);
}
// This category is now emptied, we can remove it!
$sql = "DELETE FROM ". MEDIA_CAT_TABLE ."
WHERE cat_id = '$cat_id'";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could not delete this Category', '', __LINE__, __FILE__, $sql);
}
// Re-order the rest of categories
reorder_cat();
// Return a message...
$message = $lang['Category_deleted'] . "<br /><br />" . sprintf($lang['Click_return_media_category'], "<a href=\"" . append_sid("admin_media_cat.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
}
/* Powered by Media Online 2.0 (c) 2003 Cf Manager */
?>