source: pmb4.2/trunk/fuentes/pmb/catalog/explnum/explnum_ajax.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 5.2 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: explnum_ajax.inc.php,v 1.7 2015-04-03 11:16:28 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once($class_path.'/explnum_associate_svg.class.php');
10
11switch($quoifaire){
12       
13        case 'exist_file':
14                existing_file($id,$id_repertoire);     
15                break;
16        case 'get_associate_svg':
17                get_associate_svg($explnum_id);
18                break;
19        case 'get_associate_js':
20                get_associate_js($explnum_id);
21                break;
22        case 'update_associate_author':
23                update_associate_author($speaker_id, $author_id);
24                break;
25        case 'update_associate_speaker':
26                update_associate_speaker($segment_id, $speaker_id);
27                break;
28        case 'add_new_speaker':
29                add_new_speaker($explnum_id);
30                break;
31        case 'delete_associate_speaker':
32                delete_associate_speaker($speaker_id);
33                break;
34        case 'add_new_segment':
35                add_new_segment($explnum_id, $speaker_id, $start, $end);
36                break;
37        case 'delete_segments':
38                delete_segments($segments_ids);
39                break;
40        case 'update_segment_time':
41                update_segment_time($segment_id, $start, $end);
42                break;
43}
44
45function existing_file($id,$id_repertoire){
46       
47        global $dbh,$fichier;
48       
49        if(!$id){
50                $rqt = "select repertoire_path, explnum_path, repertoire_utf8, explnum_nomfichier as nom, explnum_extfichier as ext from explnum join upload_repertoire on explnum_repertoire=repertoire_id  where explnum_repertoire='$id_repertoire' and explnum_nomfichier ='$fichier'";
51                $res = pmb_mysql_query($rqt,$dbh);
52               
53                if(pmb_mysql_num_rows($res)){
54                        $expl = pmb_mysql_fetch_object($res);
55                        $path = str_replace('//','/',$expl->repertoire_path.$expl->explnum_path);
56                        if($expl->repertoire_utf8)
57                                $path = utf8_encode($path);
58                                       
59                        if($expl->ext)
60                                $file = substr($expl->nom,0,strpos($expl->nom,"."));
61                        else $file = $expl->nom;
62                        $exist = false;
63                        $i=0;
64                        while(!$exist){
65                                $i++;
66                                $filename = ($i ? $file."_".$i : $file).($expl->ext ? ".".$expl->ext : "");
67                                if(!file_exists($path.$filename)){
68                                        print $filename;
69                                        $exist = true;
70                                }
71                        }
72                } else print "0";
73        } else print "0";
74}
75
76function get_associate_svg($explnum_id) {
77        $explnum_associate_svg = new explnum_associate_svg($explnum_id);
78        $svg = $explnum_associate_svg->getSvg(true);
79        ajax_http_send_response($svg,"text/xml");
80}
81
82function get_associate_js($explnum_id) {
83        $explnum_associate_svg = new explnum_associate_svg($explnum_id);
84        $js = $explnum_associate_svg->getJs(true);
85        ajax_http_send_response($js,"text/xml");
86}
87
88function update_associate_author($speaker_id, $author_id) {
89        global $dbh;
90        $query = 'update explnum_speakers set explnum_speaker_author = '.$author_id.' where explnum_speaker_id = '.$speaker_id;
91        pmb_mysql_query($query, $dbh);
92}
93
94function update_associate_speaker($segment_id, $speaker_id) {
95        global $dbh;
96        $query = 'update explnum_segments set explnum_segment_speaker_num = '.$speaker_id.' where explnum_segment_id = '.$segment_id;
97        pmb_mysql_query($query, $dbh);
98}
99
100function add_new_speaker($explnum_id) {
101        global $dbh;
102        $query = 'insert into explnum_speakers (explnum_speaker_explnum_num, explnum_speaker_speaker_num) values ('.$explnum_id.', "PMB")';
103        pmb_mysql_query($query, $dbh);
104}
105
106function delete_associate_speaker($speaker_id) {
107        global $dbh;
108        $query = 'delete from explnum_speakers where explnum_speaker_id = '.$speaker_id;
109        pmb_mysql_query($query, $dbh);
110}
111
112function add_new_segment($explnum_id, $speaker_id, $start, $end) {
113        global $dbh;
114        if (!$speaker_id) {
115                $query = 'insert into explnum_speakers (explnum_speaker_explnum_num, explnum_speaker_speaker_num) values ('.$explnum_id.', "PMB")';
116                pmb_mysql_query($query, $dbh);
117                $speaker_id = pmb_mysql_insert_id();
118        }
119        $duration = $end - $start;
120        $query = 'insert into explnum_segments (explnum_segment_explnum_num, explnum_segment_speaker_num, explnum_segment_start, explnum_segment_duration, explnum_segment_end) value ('.$explnum_id.', '.$speaker_id.', '.$start.', '.$duration.', '.$end.')';
121        pmb_mysql_query($query, $dbh);
122}
123
124function delete_segments($segments_ids) {
125        global $dbh;
126        $query = 'delete from explnum_segments where explnum_segment_id in ('.$segments_ids.')';
127        pmb_mysql_query($query, $dbh);
128}
129
130function update_segment_time($segment_id, $start, $end) {
131        global $dbh;
132       
133        $query = 'update explnum_segments set ';
134       
135        if ($start) {
136                $query .= 'explnum_segment_start = '.$start.', ';
137        } else {
138                $select = 'select explnum_segment_start from explnum_segments where explnum_segment_id = '.$segment_id;
139                $result = pmb_mysql_query($select, $dbh);
140                if ($result && pmb_mysql_num_rows($result)) {
141                        if ($row = pmb_mysql_fetch_object($result)) {
142                                $start = $row->explnum_segment_start;
143                        }
144                }
145        }
146       
147        if ($end) {
148                $query .= 'explnum_segment_end = '.$end.', ';
149        } else {
150                $select = 'select explnum_segment_end from explnum_segments where explnum_segment_id = '.$segment_id;
151                $result = pmb_mysql_query($select, $dbh);
152                if ($result && pmb_mysql_num_rows($result)) {
153                        if ($row = pmb_mysql_fetch_object($result)) {
154                                $end = $row->explnum_segment_end;
155                        }
156                }
157        }
158       
159        $duration = $end - $start;
160       
161        $query .= 'explnum_segment_duration = '.$duration.' where explnum_segment_id = '.$segment_id;
162        pmb_mysql_query($query, $dbh);
163}
164
165?>
Note: See TracBrowser for help on using the repository browser.