source: lliurex-jocomunico/trunk/fuentes/lliurex-jocomunico.install/var/lib/application/models/BoardInterface.php @ 5728

Last change on this file since 5728 was 5728, checked in by joamuran, 3 years ago

Added zero-installed and updated jocomunico

  • Property svn:executable set to *
File size: 26.1 KB
Line 
1<?php
2
3class BoardInterface extends CI_Model {
4
5    function __construct() {
6        // Call the Model constructor
7        parent::__construct();
8
9        $this->load->library('Myword');
10    }
11
12    /*
13     * Load the user config
14     */
15
16    function loadCFG($user) {
17
18        $newdata = array(
19            'cfguser' => 1,
20            'cfgExpansionOnOff' => 1,
21            'cfgPredOnOff' => 1,
22            'cfgPredBarVertHor' => 0,
23            'cfgSentenceBarUpDown' => 1
24        );
25
26        $this->session->set_userdata($newdata);
27    }
28
29    /*
30     * Get the board struct (columns, rows, name...)
31     */
32
33    function getBoardStruct($id) {
34        $output = array();
35
36        $idusu = $this->session->userdata('idusu');
37        $this->db->where('ID_GBUser', $idusu);
38        $this->db->where('ID_Board', $id);
39        $this->db->join('GroupBoards', 'GroupBoards.ID_GB = Boards.ID_GBBoard');
40        $query = $this->db->get('Boards');
41
42        if ($query->num_rows() > 0) {
43            $output = $query->result();
44        } else
45            $output = null;
46
47        return $output;
48    }
49
50    /*
51     * Change the board struct (columns and rows)
52     */
53
54    function updateNumCR($c, $r, $id) {
55        $output = array();
56
57        $this->db->where('ID_Board', $id);
58        $query = $this->db->update('Boards', array('width' => $c, 'height' => $r));
59
60        return $output;
61    }
62
63    /*
64     * Change the name of one board from ID of the board
65     */
66
67    function updateName($Name, $id) {
68        $output = array();
69
70        $this->db->where('ID_Board', $id);
71        $query = $this->db->update('Boards', array('Bname' => $Name));
72
73        return $output;
74    }
75
76    /*
77     * Return all pictograms from board
78     */
79
80    function getCellsBoard($id) {
81        $output = array();
82
83        $idlang = $this->session->userdata('uinterfacelangauge');
84        $lang = $this->session->userdata('ulangabbr');
85
86        $this->db->where('R_BoardCell.ID_RBoard', $id);
87        // $this->db->group_by('R_BoardCell.posInBoard');
88        $this->db->order_by('R_BoardCell.posInBoard', 'asc');
89        $this->db->join('Cell', 'R_BoardCell.ID_RCell = Cell.ID_Cell');
90        //Este tiene que ser left, si pictograms.picto id = null significa que esta vacia
91        $this->db->join('Pictograms', 'Cell.ID_CPicto = Pictograms.pictoid', 'left');
92        $this->db->join('PictogramsLanguage', 'Pictograms.pictoid = PictogramsLanguage.pictoid AND PictogramsLanguage.languageid = "' . $idlang . '"', 'left');
93        $this->db->join('Function', 'Cell.ID_CFunction = Function.ID_Function', 'left');
94        $this->db->join('S_Folder', 'S_Folder.ID_Folder = Cell.sentenceFolder', 'left');
95        $this->db->join('S_Sentence', 'S_Sentence.ID_SSentence = Cell.ID_CSentence', 'left');
96        $this->db->join('Boards', 'Boards.ID_Board = Cell.boardLink', 'left');
97        $this->db->select('*, functName' . $lang . ' as textFunction');
98        $query = $this->db->get('R_BoardCell');
99
100
101        if ($query->num_rows() > 0) {
102            $output = $query->result();
103        } else {
104            $output = null;
105        }
106
107        return $output;
108    }
109
110    /*
111     * Return one pictogram from the board with the given position in this board
112     */
113
114    function getCell($pos, $idboard) {
115        $output = array();
116
117        $idlang = $this->session->userdata('uinterfacelangauge');
118
119        $this->db->where('R_BoardCell.ID_RBoard', $idboard);
120        $this->db->where('R_BoardCell.posInBoard', $pos);
121        $this->db->join('Cell', 'R_BoardCell.ID_RCell = Cell.ID_Cell');
122        //Este tiene que ser left, si pictograms.picto id = null significa que esta vacia
123        $this->db->join('Pictograms', 'Cell.ID_CPicto = Pictograms.pictoid', 'left');
124        $this->db->join('PictogramsLanguage', 'Pictograms.pictoid = PictogramsLanguage.pictoid AND PictogramsLanguage.languageid = "' . $idlang . '"', 'left');
125        $this->db->join('Function', 'Cell.ID_CFunction = Function.ID_Function', 'left');
126        $this->db->group_by('Pictograms.pictoid');
127        $query = $this->db->get('R_BoardCell');
128        if ($query->num_rows() > 0) {
129            $output = $query->result();
130        } else
131            $output = null;
132
133        return $output;
134    }
135
136    /*
137     * Change one pictogram from the board to another position
138     */
139
140    function updatePosCell($oldPos, $newPos, $idBoard) {
141        $output = array();
142
143        $this->db->where('posInBoard', $oldPos);
144        $this->db->where('ID_RBoard', $idBoard);
145        $this->db->update('R_BoardCell', array('posInBoard' => $newPos));
146
147
148        return $output;
149    }
150
151    /*
152     * Change the values of a cell from cell database table
153     */
154
155    function updateMetaCell($id, $visible, $textInCell, $isFixed, $idFunc, $idboard, $idpicto, $idSentence, $idSFolder, $cellType, $color, $imgCell) {
156        $output = array();
157
158        $data = array(
159            'activeCell' => $visible,
160            'textInCell' => $textInCell,
161            'isFixedInGroupBoards' => $isFixed,
162            'ID_CFunction' => $idFunc,
163            'boardLink' => $idboard,
164            'ID_CPicto' => $idpicto,
165            'ID_CSentence' => $idSentence,
166            'sentenceFolder' => $idSFolder,
167            'cellType' => $cellType,
168            'color' => $color,
169            'imgCell' => $imgCell
170        );
171        $this->db->where('ID_Cell', $id);
172        $this->db->update('Cell', $data);
173
174
175        return $output;
176    }
177
178    /*
179     * Change scan values by the output scan values
180     */
181
182    function updateScanCell($id, $num1, $text1, $num2, $text2) {
183        $output = array();
184
185        $data = array('customScanBlock1' => $num1,
186            'customScanBlockText1' => $text1,
187            'customScanBlock2' => $num2,
188            'customScanBlockText2' => $text2);
189        $this->db->where('ID_RCell', $id);
190        $this->db->update('R_BoardCell', $data);
191
192
193        return $output;
194    }
195
196    /*
197     * Change the cell pictogram by another pictogram
198     */
199
200    function updatePictoCell($id, $idPicto) {
201        $output = array();
202
203        $this->db->where('ID_Cell', $id);
204        $this->db->update('Cell', array('ID_CPicto' => $idPicto));
205
206
207        return $output;
208    }
209
210    /*
211     * Create a NULL cell (blank cell) in the position ($Pos)
212     * and add the cell to the board ($idBoard)
213     */
214
215    function newCell($Pos, $idBoard) {
216        $output = array();
217
218        $data = array(
219            'ID_Cell' => 'NULL'
220                /* MODIF: Probar despues del lunes por si acaso falla que no nos pille en la presentacion
221                  ,
222                  'color' => 'fff' */
223        );
224
225        $this->db->insert('Cell', $data);
226
227        $id = $this->db->insert_id();
228
229        $data = array(
230            'ID_RBoard' => $idBoard,
231            'ID_RCell' => $id,
232            'posInBoard' => $Pos
233        );
234
235        $this->db->insert('R_BoardCell', $data);
236    }
237
238    /*
239     * Return the cell ID in position ($Pos) from the board ($idBoard)
240     */
241
242    function getIDCell($Pos, $idBoard) {
243        $output = array();
244
245        $this->db->where('posInBoard', $Pos);
246        $this->db->where('ID_RBoard', $idBoard);
247        $query = $this->db->get('R_BoardCell');
248
249        if ($query->num_rows() > 0) {
250            $output = $query->result();
251        } else
252            $output = null;
253
254        return $output;
255    }
256
257    /*
258     * Change the data of one pictogram ($cell) from the board ($idpicto)   
259     */
260
261    function updateDataCell($idpicto, $cell) {
262        $output = array();
263        $data = array(
264            'imgCell' => NULL,
265            'textInCellTextOnOff' => '1',
266            'textInCell' => NULL,
267            'ID_CFunction' => NULL,
268            'boardLink' => NULL,
269            'ID_CPicto' => $idpicto,
270            'ID_CSentence' => NULL,
271            'sentenceFolder' => NULL,
272            'cellType' => 'picto',
273        );
274        $this->db->where('ID_Cell', $cell);
275        $this->db->update('Cell', $data);
276
277
278        return $output;
279    }
280
281    /*
282     * Remove the data of one pictogram ($cell) from the board ($idpicto)   
283     */
284
285    function removeDataCell($cell) {
286        $output = array();
287        $data = array(
288            'imgCell' => NULL,
289            'activeCell' => '1',
290            'textInCellTextOnOff' => '1',
291            'textInCell' => NULL,
292            'isFixedInGroupBoards' => NULL,
293            'ID_CFunction' => NULL,
294            'boardLink' => NULL,
295            'ID_CPicto' => NULL,
296            'ID_CSentence' => NULL,
297            'sentenceFolder' => NULL,
298            'cellType' => 'other',
299            'color' => 'fff'
300        );
301
302        $this->db->where('ID_Cell', $cell);
303        $this->db->update('Cell', $data);
304
305        $data = array(
306            'isMenu' => 0,
307            'customScanBlock1' => 1,
308            'customScanBlockText1' => NULL,
309            'customScanBlock2' => NULL,
310            'customScanBlockText2' => NULL
311        );
312
313        $this->db->where('ID_RCell', $cell);
314        $this->db->update('R_BoardCell', $data);
315
316
317        return $output;
318    }
319
320    /*
321     * Remove the cell ($id) from the board ($idBoard). Remove the link too
322     */
323
324    function removeCell($id, $idBoard) {
325
326        $this->db->where('ID_RBoard', $idBoard);
327        $this->db->where('ID_RCell', $id);
328        $this->db->delete('R_BoardCell');
329
330        $this->db->where('ID_Cell', $id);
331        $this->db->delete('Cell');
332    }
333
334    /*
335     * Init a DB transaction
336     */
337
338    function initTrans() {
339        $this->db->trans_start();
340    }
341
342    /*
343     * Ends a DB transaction. Commit change if nothing gone worng. Otherwise
344     * makes a rollback
345     */
346
347    function commitTrans() {
348        $this->db->trans_complete();
349    }
350
351    /*
352     * Return true if the last end transaction was a commit, else return false
353     */
354
355    function statusTrans() {
356        return $this->db->trans_status();
357    }
358
359    /*
360     * Return the last word added to the sentence
361     */
362
363    function getLastWord($idusu) {
364        $output = array();
365
366        $this->db->where('ID_RSTPUser', $idusu);
367        $this->db->order_by('ID_RSTPSentencePicto', 'desc');
368
369        $query = $this->db->get('R_S_TempPictograms');
370        if ($query->num_rows() > 0) {
371            $output = $query->result();
372        } else
373            $output = null;
374
375        return $output[0];
376    }
377
378    /*
379     * Remove the sentence from the tabla temp
380     */
381
382    function removeSentence($idusu) {
383        $this->db->where('ID_RSTPUser', $idusu);
384        $this->db->delete('R_S_TempPictograms');
385    }
386
387    /*
388     * Return the function information
389     */
390
391    function getFunction($id) {
392
393        $this->db->where('ID_Function', $id);
394        $query = $this->db->get('Function');
395
396        if ($query->num_rows() > 0) {
397            $output = $query->result();
398        } else
399            $output = null;
400
401        return $output;
402    }
403
404    /*
405     * Return all functions
406     */
407
408    function getFunctions() {
409
410        $language = $this->session->userdata('ulangabbr');
411        $this->db->order_by('name', 'asc');
412        $this->db->select('ID_Function, functName' . $language . ' AS name');
413        $query = $this->db->get('Function');
414
415        if ($query->num_rows() > 0) {
416            $output = $query->result();
417        } else
418            $output = null;
419
420        return $output;
421    }
422
423    /*
424     * Return all user boards in the same group
425     */
426
427    function getIDGroupBoards($idboard) {
428
429        $this->db->where('ID_Board', $idboard);
430        $query = $this->db->get('Boards');
431
432        if ($query->num_rows() > 0) {
433            $output = $query->result();
434        } else
435            $output = "null";
436
437        return $output;
438    }
439
440    /*
441     * Return all user boards in the same group
442     */
443
444    function getBoards($idgroup) {
445
446        $this->db->order_by('primaryBoard', 'desc');
447        $this->db->order_by('Bname', 'asc');
448        $this->db->where('ID_GBBoard', $idgroup);
449        $query = $this->db->get('Boards');
450
451        if ($query->num_rows() > 0) {
452            $output = $query->result();
453        } else
454            $output = null;
455
456        return $output;
457    }
458
459    /*
460     * Return primarygroupboard from a board group
461     */
462
463    function getPrimaryGroupBoard() {
464
465        $idusu = $this->session->userdata('idusu');
466        $this->db->where('primaryGroupBoard', '1');
467        $this->db->where('ID_GBUser', $idusu);
468        $query = $this->db->get('GroupBoards');
469
470        if ($query->num_rows() > 0) {
471            $output = $query->result();
472        } else
473            $output = null;
474
475        return $output;
476    }
477
478    function getInfoGroupBoard($idgroup) {
479
480        $this->db->where('ID_GB', $idgroup);
481        $query = $this->db->get('GroupBoards');
482
483        if ($query->num_rows() > 0) {
484            $output = $query->result();
485        } else
486            $output = null;
487
488        return $output;
489    }
490
491    /*
492     * Return primaryboard from a board group
493     */
494
495    function getPrimaryBoard($idgroup) {
496
497        $this->db->where('primaryBoard', '1');
498        $this->db->where('ID_GBBoard', $idgroup);
499        $query = $this->db->get('Boards');
500
501        if ($query->num_rows() > 0) {
502            $output = $query->result();
503        } else
504            $output = null;
505
506        return $output;
507    }
508
509    /*
510     * Set this board the primry
511     */
512
513    function setPrimaryBoard($id) {
514        $this->db->where('ID_Board', $id);
515        $this->db->update('Boards', array(
516            'primaryBoard' => '1',
517        ));
518    }
519
520    /*
521     * Return all user boards in the same group
522     */
523
524    function getAllBoards() {
525
526        $idusu = $this->session->userdata('idusu');
527        $this->db->where('ID_GBUser', $idusu);
528        $this->db->join('GroupBoards', 'ID_GB = ID_GBBoard');
529        $query = $this->db->get('Boards');
530
531        if ($query->num_rows() > 0) {
532            $output = $query->result();
533        } else
534            $output = null;
535
536        return $output;
537    }
538
539    /*
540     * Return all sentences from user
541     */
542
543    function getSentences($idusu, $idsearch) {
544
545        $this->db->like('sPreRecText', $idsearch);
546        $this->db->where('isPreRec', '1');
547        $this->db->where('ID_SSUser', $idusu);
548        $query = $this->db->get('S_Sentence');
549
550        if ($query->num_rows() > 0) {
551            $output = $query->result();
552        } else
553            $output = null;
554
555        return $output;
556    }
557
558    /*
559     * Return the sentence of the input id sentence
560     */
561
562    function getSentence($id) {
563
564        $this->db->where('ID_SSentence', $id);
565        $query = $this->db->get('S_Sentence');
566
567        if ($query->num_rows() > 0) {
568            $output = $query->result();
569        } else
570            $output = null;
571
572        return $output[0];
573    }
574
575    /*
576     * Return all folders from user
577     */
578
579    function getSFolders($idusu, $idsearch) {
580
581        $this->db->like('folderName', $idsearch);
582        $this->db->where('ID_SFUser', $idusu);
583        $query = $this->db->get('S_Folder');
584
585        if ($query->num_rows() > 0) {
586            $output = $query->result();
587        } else
588            $output = null;
589
590        return $output;
591    }
592
593    /*
594     * Return a folder of input id folder
595     */
596
597    function getSFolder($id) {
598
599        $this->db->where('ID_Folder', $id);
600        $query = $this->db->get('S_Folder');
601
602        if ($query->num_rows() > 0) {
603            $output = $query->result();
604        } else
605            $output = null;
606
607        return $output[0];
608    }
609
610    /*
611     * ADD MODIFIER TO A NOUN THAT WAS JUST ENTERED
612     */
613
614    function afegirModifNom($modif) {
615
616        $idusu = $this->session->userdata('idusu');
617
618        $this->db->where('ID_RSTPUser', $idusu);
619        $query = $this->db->get('R_S_TempPictograms');
620
621        if ($query->num_rows() > 0) {
622            $aux = $query->result();
623            $nrows = $query->num_rows();
624            $identry = $aux[$nrows - 1]->ID_RSTPSentencePicto;
625
626            if ($modif == 'pl') {
627                $data = array(
628                    'isplural' => '1',
629                );
630            }
631            if ($modif == 'fem') {
632                $data = array(
633                    'isfem' => '1',
634                );
635            }
636            if ($modif == 'i') {
637                $data = array(
638                    'coordinated' => '1',
639                );
640            }
641
642            $this->db->where('ID_RSTPSentencePicto', $identry);
643            $this->db->update('R_S_TempPictograms', $data);
644        }
645    }
646
647    /*
648     * Set the board (id) primary in the group (idboard)
649     */
650
651    function changePrimaryBoard($id, $idboard) {
652        $this->db->where('ID_GBBoard', $idboard);
653        $this->db->update('Boards', array(
654            'primaryBoard' => '0',
655        ));
656
657        $this->db->where('ID_Board', $id);
658        $this->db->update('Boards', array(
659            'primaryBoard' => '1',
660        ));
661    }
662
663    /*
664     * Change the value of autoreturn from board
665     */
666
667    function changeAutoReturn($id, $value) {
668        $this->db->where('ID_Board', $id);
669        $this->db->update('Boards', array(
670            'autoReturn' => $value,
671        ));
672    }
673
674    /*
675     * Get autoreturn value
676     */
677
678    function getAutoReturn($id) {
679        $this->db->where('ID_Board', $id);
680        $this->db->get('Boards');
681
682        if ($query->num_rows() > 0) {
683            $output = $query->result();
684        } else
685            $output = null;
686
687        return $output[0];
688    }
689
690    function changeAutoReadSentence($id, $value) {
691        $this->db->where('ID_Board', $id);
692        $this->db->update('Boards', array(
693            'autoReadSentence' => $value,
694        ));
695    }
696
697    function getAutoReadSentence($id) {
698        $this->db->where('ID_Board', $id);
699        $this->db->get('Boards');
700
701        if ($query->num_rows() > 0) {
702            $output = $query->result();
703        } else
704            $output = null;
705
706        return $output[0];
707    }
708
709    function createBoard($IDGboard, $name, $width, $height) {
710        $data = array(
711            'ID_GBBoard' => $IDGboard,
712            'Bname' => $name,
713            'width' => $width,
714            'height' => $height
715        );
716
717        $this->db->insert('Boards', $data);
718
719        $id = $this->db->insert_id();
720
721        return $id;
722    }
723
724    function copyBoard($IDGboard, $name, $width, $height, $autoReturn, $autoReadSentence) {
725        $data = array(
726            'ID_GBBoard' => $IDGboard,
727            'Bname' => $name,
728            'width' => $width,
729            'height' => $height,
730            'autoReturn' => $autoReturn,
731            'autoReadSentence' => $autoReadSentence
732        );
733
734        $this->db->insert('Boards', $data);
735        $id = $this->db->insert_id();
736
737        return $id;
738    }
739
740    function getBoardTables($idSrc) {
741
742        $this->db->where('ID_RBoard', $idSrc);
743        $this->db->join('R_BoardCell', 'R_BoardCell.ID_RCell = Cell.ID_Cell', 'left');
744        $query = $this->db->get('Cell');
745        if ($query->num_rows() > 0) {
746            $output = $query->result();
747        } else
748            $output = null;
749
750        return $output;
751    }
752
753    function copyBoardTables($idDst, $sameGroupBoard, $row) {
754        if ($sameGroupBoard === 0) {
755            $row->boardLink = null;
756        }
757        $data = array(
758            'isFixedInGroupBoards' => $row->isFixedInGroupBoards,
759            'imgCell' => $row->imgCell,
760            'ID_CPicto' => $row->ID_CPicto,
761            'ID_CSentence' => $row->D_CSentence,
762            'sentenceFolder' => $row->sentenceFolder,
763            'boardLink' => $row->boardLink,
764            'color' => $row->color,
765            'ID_CFunction' => $row->ID_CFunction,
766            'textInCell' => $row->textInCell,
767            'textInCellTextOnOff' => $row->textInCellTextOnOff,
768            'cellType' => $row->cellType,
769            'activeCell' => $row->activeCell
770        );
771        $this->db->insert('Cell', $data);
772        $id = $this->db->insert_id();
773        $data2 = array(
774            'ID_RBoard' => $idDst,
775            'ID_RCell' => $id,
776            'posInBoard' => $row->posInBoard,
777            'isMenu' => $row->isMenu,
778            'customScanBlock1' => $row->customScanBlock1,
779            'customScanBlockText1' => $row->customScanBlockText1,
780            'customScanBlock2' => $row->customScanBlock2,
781            'customScanBlockText2' => $row->customScanBlockText2
782        );
783        $this->db->insert('R_BoardCell', $data2);
784    }
785
786    function removeBoard($IDboard) {
787        $this->db->where('ID_Board', $IDboard);
788        $this->db->delete('Boards');
789    }
790
791    function removeGoupBoard($IDGB) {
792        $this->db->where('ID_GB', $IDGB);
793        $this->db->delete('GroupBoards');
794    }
795
796    function removeBoardLinks($IDboard) {
797        $output = array();
798        $data = array(
799            /* 'imgCell' => NULL,
800              'activeCell' => 1,
801              'textInCellTextOnOff' => 1,
802              'textInCell' => NULL,
803              'isFixedInGroupBoards' => NULL,
804              'ID_CFunction' => NULL, */
805            'boardLink' => NULL
806                /* 'ID_CPicto' => NULL,
807                  'ID_CSentence' => NULL,
808                  'sentenceFolder' => NULL,
809                  'cellType' => NULL,
810                  'color' => 'fff' */
811        );
812
813        $this->db->where('boardLink', $IDboard);
814        $this->db->update('Cell', $data);
815    }
816
817    function getMaxScanBlock1($IDboard) {
818        $output = array();
819
820        $this->db->order_by('customScanBlock1', 'desc');
821        $this->db->where('ID_RBoard', $IDboard);
822        $query = $this->db->get('R_BoardCell');
823
824        if ($query->num_rows() > 0) {
825            $output = $query->result()[0]->customScanBlock1;
826        } else
827            $output = null;
828
829        return $output;
830    }
831
832    function getColumns($IDboard) {
833        $output = array();
834
835        $this->db->select('width');
836        $this->db->where('ID_Board', $IDboard);
837        $query = $this->db->get('Boards');
838
839        if ($query->num_rows() > 0) {
840            $output = $query->result()[0]->width;
841        } else
842            $output = null;
843
844        return $output;
845    }
846
847    function getRows($IDboard) {
848        $output = array();
849
850        $this->db->select('height');
851        $this->db->where('ID_Board', $IDboard);
852        $query = $this->db->get('Boards');
853
854        if ($query->num_rows() > 0) {
855            $output = $query->result()[0]->height;
856        } else
857            $output = null;
858
859        return $output;
860    }
861
862    function getMaxScanBlock2($IDboard, $scanGroup) {
863        $output = array();
864
865        $this->db->order_by('customScanBlock2', 'desc');
866        $this->db->where('customScanBlock1', $scanGroup);
867        $this->db->where('ID_RBoard', $IDboard);
868        $query = $this->db->get('R_BoardCell');
869
870        if ($query->num_rows() > 0) {
871            $output = $query->result()[0]->customScanBlock2;
872        } else
873            $output = null;
874
875        return $output;
876    }
877
878    function getScannedCells($IDboard, $csb1, $csb2) {
879        $output = array();
880
881        $this->db->order_by('posInBoard', 'asc');
882        $this->db->where('customScanBlock2', $csb2);
883        $this->db->where('customScanBlock1', $csb1);
884        $this->db->where('ID_RBoard', $IDboard);
885        $query = $this->db->get('R_BoardCell');
886
887        if ($query->num_rows() > 0) {
888            $output = $query->result();
889        } else
890            $output = null;
891
892        return $output;
893    }
894
895    function getAudioSentence($md5) {
896        $output = array();
897
898        $this->db->where('mp3TSMd5Encoded', $md5);
899        $query = $this->db->get('mp3');
900
901        if ($query->num_rows() > 0) {
902            $output = $query->result();
903        } else
904            $output = null;
905
906        return $output;
907    }
908
909    function getIdLastSentence($idusu) {
910        $this->db->where('ID_SHUser', $idusu);
911        $this->db->order_by('ID_SHistoric', 'desc');
912        $query = $this->db->get('S_Historic');
913        if ($query->num_rows() > 0) {
914            $aux = $query->result();
915            return $aux[0]->ID_SHistoric;
916        } else
917            return null;
918    }
919
920    function score($id, $score) {
921        $data = array('userScore' => $score);
922        $this->db->where('ID_SHistoric', $id);
923        $this->db->update('S_Historic', $data);
924    }
925
926    function modifyColorCell($id, $color) {
927        $data = array('color' => $color);
928        $this->db->where('ID_Cell', $id);
929        $this->db->update('Cell', $data);
930    }
931
932    /*
933     * Get the last img asociate to the picto
934     */
935
936    function getImgCell($id) {
937        $idusu = $this->session->userdata('idusu');
938        $this->db->where('P_StatsUserPicto.ID_PSUPUser', $idusu);
939        $this->db->where('P_StatsUserPicto.pictoid', $id);
940        $query = $this->db->get('P_StatsUserPicto');
941        if ($query->num_rows() > 0) {
942            $aux = $query->result();
943            return $aux[0]->imgtemp;
944        } else
945            return null;
946    }
947
948    function updateImgCell($id, $imgCell) {
949        $data = array(
950            'imgCell' => $imgCell
951        );
952        $this->db->where('ID_Cell', $id);
953        $this->db->update('Cell', $data);
954
955        $this->db->where('ID_Cell', $id);
956        $query = $this->db->get('Cell');
957        if ($query->num_rows() > 0) {
958            $aux = $query->result();
959            return $aux[0]->ID_CPicto;
960        } else
961            return null;
962    }
963
964    function getColors() {
965        $idLanguage = $this->session->userdata('uinterfacelangauge');
966        $this->db->select('tagString, content'); // Seleccionar les columnes
967        $this->db->from('Content'); // Seleccionem la taula
968        $this->db->where('section', 'color'); // filtrem per columnes
969        $this->db->where('ID_CLanguage', $idLanguage); // filtrem per columnes
970        $this->db->order_by('Content.content', 'asc');
971        $query = $this->db->get(); // Fem la query i la guardem a la variable query
972
973        return $query->result_array(); // retornem l'array query amb els resultats
974    }
975
976    function get_errorText($errorID) {
977        $idLanguage = $this->session->userdata('uinterfacelangauge');
978        $this->db->select('tagString, content'); // Seleccionar les columnes
979        $this->db->from('Content'); // Seleccionem la taula
980        $this->db->where('tagString', $errorID); // filtrem per columnes
981        $this->db->where('ID_CLanguage', $idLanguage); // filtrem per columnes
982        $query = $this->db->get(); // Fem la query i la guardem a la variable query
983
984        return $query->result_array();
985    }
986   
987    function ErrorAudioToDB($errorCode) {
988        $idUser = $this->session->userdata('idusu');
989        $this->db->set('errorTemp', $errorCode);
990        $this->db->where('ID_User', $idUser);
991        $this->db->update('User');
992    }
993   
994}
Note: See TracBrowser for help on using the repository browser.