1 | <?php |
---|
2 | |
---|
3 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
4 | load_language('plugin.lang', WFS_PATH); |
---|
5 | |
---|
6 | $wfs_conf = explode(',' , $conf['wired_for_sound']); |
---|
7 | $mp3_path = $wfs_conf[0]; |
---|
8 | |
---|
9 | $cat_id = $_GET['catid']; |
---|
10 | $back_url = $_GET['backurl']; |
---|
11 | $volume = ''; |
---|
12 | |
---|
13 | // Changement de repertoire |
---|
14 | if (isset($_POST['change_path'])) |
---|
15 | { |
---|
16 | $mp3_path = $_POST['mp3_path']; |
---|
17 | if (strrpos($mp3_path , '/') != (strlen($mp3_path) - 1)) |
---|
18 | { |
---|
19 | $mp3_path .= '/'; |
---|
20 | } |
---|
21 | } |
---|
22 | |
---|
23 | // Suppression de l'association |
---|
24 | if (isset($_POST['delete'])) |
---|
25 | { |
---|
26 | pwg_query('DELETE FROM ' . WFS_IMG_CAT_TABLE . ' WHERE image_id IS NULL AND cat_id = ' . $cat_id . ';'); |
---|
27 | } |
---|
28 | |
---|
29 | // Enregistrement de l'association |
---|
30 | if (isset($_POST['submit']) and !empty($_POST['mp3_select'])) |
---|
31 | { |
---|
32 | pwg_query('DELETE FROM ' . WFS_IMG_CAT_TABLE . ' WHERE image_id IS NULL AND cat_id = ' . $cat_id . ';'); |
---|
33 | if (empty($_POST['volume'])) $_POST['volume'] = 'NULL'; |
---|
34 | |
---|
35 | $q = 'SELECT id FROM ' . WFS_SOUNDS_TABLE . ' WHERE file = "' . $_POST['mp3_select'] . '";'; |
---|
36 | $result = mysql_fetch_assoc(pwg_query($q)); |
---|
37 | |
---|
38 | if (empty($result)) |
---|
39 | { |
---|
40 | $q = 'SELECT IF(MAX(id)+1 IS NULL, 1, MAX(id)+1) AS next_element_id FROM ' . WFS_SOUNDS_TABLE . ' ;'; |
---|
41 | list($next_element_id) = mysql_fetch_array(pwg_query($q)); |
---|
42 | $q = 'INSERT INTO ' . WFS_SOUNDS_TABLE . ' ( id , file ) VALUES ( ' . $next_element_id . ' , "' . $_POST['mp3_select'] . '");'; |
---|
43 | pwg_query($q); |
---|
44 | $result['id'] = $next_element_id; |
---|
45 | } |
---|
46 | |
---|
47 | $q = 'INSERT INTO ' . WFS_IMG_CAT_TABLE . ' ( image_id , cat_id , sound_id , volume ) |
---|
48 | VALUES ( NULL , ' . $cat_id . ' , ' . $result['id'] . ' , ' . $_POST['volume'] . ');'; |
---|
49 | pwg_query($q); |
---|
50 | } |
---|
51 | |
---|
52 | // Recupération des données de la table |
---|
53 | $q = 'SELECT sound.file AS sound, ic.volume AS volume |
---|
54 | FROM ' . WFS_SOUNDS_TABLE . ' AS sound |
---|
55 | INNER JOIN ' . WFS_IMG_CAT_TABLE . ' AS ic |
---|
56 | ON sound.id = ic.sound_id |
---|
57 | WHERE ic.cat_id = ' . $cat_id . ' AND ic.image_id IS NULL;'; |
---|
58 | $result = mysql_fetch_assoc(pwg_query($q)); |
---|
59 | |
---|
60 | // Bouton de suppression |
---|
61 | if (!empty($result)) |
---|
62 | { |
---|
63 | $template->assign('delete', true); |
---|
64 | } |
---|
65 | |
---|
66 | // Dossier mp3 |
---|
67 | if (isset($result['sound']) and !isset($_POST['change_path']) and !isset($wfs_param[2])) |
---|
68 | { |
---|
69 | $mp3_path = substr($result['sound'] , 0 , strrpos($result['sound'] , '/') + 1); |
---|
70 | } |
---|
71 | |
---|
72 | // Volume |
---|
73 | if (isset($result['volume'])) |
---|
74 | { |
---|
75 | $volume = $result['volume']; |
---|
76 | } |
---|
77 | |
---|
78 | // Liste des mp3 du dossier spécifié |
---|
79 | if (is_dir('./' . $mp3_path) and $contents = opendir($mp3_path)) |
---|
80 | { |
---|
81 | $options[] = '----------------'; |
---|
82 | $selected = 0; |
---|
83 | while (($node = readdir($contents)) !== false) |
---|
84 | { |
---|
85 | if (is_file('./' . $mp3_path . $node)) |
---|
86 | { |
---|
87 | $extension = strtolower(get_extension($node)); |
---|
88 | if ($extension == 'mp3') |
---|
89 | { |
---|
90 | $value = $mp3_path . $node; |
---|
91 | if (isset($result['sound']) and $result['sound'] == $value) |
---|
92 | { |
---|
93 | $selected = $value; |
---|
94 | } |
---|
95 | $options[$value] = $node; |
---|
96 | } |
---|
97 | } |
---|
98 | } |
---|
99 | closedir($contents); |
---|
100 | // Erreur si pas de mp3 |
---|
101 | if (count($options) == 1) |
---|
102 | { |
---|
103 | array_push($page['errors'], l10n('wfs_no_mp3')); |
---|
104 | } |
---|
105 | else |
---|
106 | { |
---|
107 | $template->assign('mp3_select', array( |
---|
108 | 'OPTIONS' => $options, |
---|
109 | 'SELECTED' => $selected)); |
---|
110 | } |
---|
111 | } |
---|
112 | else |
---|
113 | { |
---|
114 | array_push($page['errors'], l10n('wfs_no_path')); |
---|
115 | } |
---|
116 | |
---|
117 | // Affichage du fichier associé |
---|
118 | if (isset($result['sound'])) |
---|
119 | { |
---|
120 | $template->assign('ACTUAL_FILE', $result['sound']); |
---|
121 | } |
---|
122 | |
---|
123 | $template->assign(array( |
---|
124 | 'MP3_PATH' => $mp3_path, |
---|
125 | 'BACK' => $back_url, |
---|
126 | 'VOLUME' => $volume)); |
---|
127 | |
---|
128 | $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/../template/add_page_on_index.tpl'); |
---|
129 | $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); |
---|
130 | |
---|
131 | ?> |
---|