summaryrefslogtreecommitdiff
path: root/music.php
diff options
context:
space:
mode:
Diffstat (limited to 'music.php')
-rw-r--r--music.php129
1 files changed, 127 insertions, 2 deletions
diff --git a/music.php b/music.php
index 797f48a..6903fc3 100644
--- a/music.php
+++ b/music.php
@@ -2,6 +2,7 @@
require_once 'config.php';
require_once 'connect.php';
+require_once 'utils.php';
class Tag
{
@@ -13,6 +14,9 @@ class Album
{
public $uid;
public $name;
+ public $cover;
+ public $description;
+ public $array_music_ids; // 包含的音乐id(考虑到效率,这里不存为music结构)
}
class Music
@@ -296,6 +300,70 @@ function get_last_id() {
}
}
+function delete_music($music_id) {
+ $sql = "DELETE FROM ". Config::$tb_music . " WHERE id=" . $music_id;
+ echo $sql;
+ execute_sql($sql);
+ $sql = "DELETE FROM " . Config::$tb_music_tag . " WHERE music_id=" . $music_id;
+ execute_sql($sql);
+ $sql = "DELETE FROM " . Config::$tb_album_music . " WHERE music_id=" . $music_id;
+ execute_sql($sql);
+
+ redirect('admin_music.php');
+}
+
+function delete_tag($tag_id) {
+ $sql = "DELETE FROM " . Config::$tb_tags . " WHERE id=" . $tag_id;
+ execute_sql($sql);
+ $sql = "DELETE FROM " . Config::$tb_music_tag . " WHERE tag_id=" . $tag_id;
+ execute_sql($sql);
+
+ redirect('admin_tags.php');
+}
+
+function delete_album($album_id) {
+ $sql = "DELETE FROM " . Config::$tb_album . " WHERE id=" . $album_id;
+ execute_sql($sql);
+ $sql = "DELETE FROM " . Config::$tb_album_music . " WHERE album_id=" . $album_id;
+ execute_sql($sql);
+
+ redirect('admin_albums.php');
+}
+
+// 返回描述music tag的字符串
+function get_music_tag_string($music) {
+ if($music->array_tags == null || count($music->array_tags) == 0){
+ return "";
+ }
+ $tag_str = $music->array_tags[0]->name;
+ for($i = 1; $i < count($music->array_tags); $i++) {
+ $tag_str = $tag_str . ',' . $music->array_tags[$i]->name;
+ }
+ return $tag_str;
+}
+
+// 返回描述music所属专辑的id字符串
+function get_music_albums_id_string($music) {
+ if($music->array_albums == null || count($music->array_albums) == 0){
+ return "";
+ }
+ $album_str = $music->array_albums[0]->uid;
+ for($i = 1; $i < count($music->array_albums); $i++) {
+ $album_str = $album_str . ',' . $music->array_albums[$i]->uid;
+ }
+ return $album_str;
+}
+
+function delete_music_tag($music) {
+ $sql = "DELETE FROM " . Config::$tb_music_tag . " WHERE music_id=" . $music->uid;
+ execute_sql($sql);
+}
+
+function delete_music_album($music) {
+ $sql = "DELETE FROM " . Config::$tb_album_music . " WHERE music_id=" . $music->uid;
+ execute_sql($sql);
+}
+
// 提交上来的表单中构建music
function get_music_from_post()
{
@@ -311,8 +379,9 @@ function get_music_from_post()
return null;
$music->path = $res_music[1];
}
- else // 必须有音乐文件
+ else // 必须有音乐文件
{
+ echo 'Music file is essential.';
return null;
}
@@ -361,6 +430,10 @@ function get_music_from_post()
$music->uid = -1; // 未插入数据库
+ if($_POST["mid"] != null) {
+ $music->uid = $_POST["mid"];
+ }
+
//println($music);
return $music;
@@ -392,15 +465,67 @@ function write_music_to_db($music) {
foreach($music->array_albums as $album){
add_unique_music_album($id, $album->uid);
}
-
}
else // 更新
{
+ $sql = "UPDATE " . Config::$tb_music . " SET " .
+ "path='" . $music->path ."'," .
+ "title='" . $music->title ."'," .
+ "cover='" . $music->cover ."'," .
+ "project='" . $music->project ."'" .
+ " WHERE id=" . $music->uid;
+ //println($sql);
+ execute_sql($sql);
+
+ delete_music_tag($music);
+ delete_music_album($music);
+ $id = $music->uid;
+ foreach($music->array_tags as $tag){
+ add_unique_music_tag($id, $tag->uid);
+ }
+ foreach($music->array_albums as $album){
+ add_unique_music_album($id, $album->uid);
+ }
}
+}
+
+function get_album_from_post() {
+ $album = new Album;
+
+ $cover_image = $_FILES["coverImage"];
+
+ if(is_upload_notempty($cover_image)) {
+ $res_cover = upload_file(Config::$cover_upload_dir, $cover_image);
+ if($res_cover[0] == 0)
+ return null;
+ $album->cover = $res_cover[1];
+ }
+
+ if($_POST["music_list"] != null && $_POST["music_list"] != "")
+ $music_ids = explode(',', $_POST["music_list"]);
+
+ $album->array_music_ids = array();
+ if($music_ids != null && count($music_ids) > 0) {
+ foreach($music_ids as $music_id){
+ array_push($album->array_music_ids, $music_id);
+ }
+ }
+
+ $album->title = html_escape_string($_POST["title"]);
+ $album->description = html_escape_string($_POST["description"]);
+
+ $album->uid = -1; // 未插入数据库
+
+ if($_POST["aid"] != null) {
+ $album->uid = $_POST["aid"];
+ }
+
+ // println($album);
+ return $album;
}
?> \ No newline at end of file