11DELIMITER ;;
2-
32CREATE PROCEDURE ` CheckLogin` (login_username VARCHAR (250 ))
43BEGIN
54 SELECT
1312 u .username = login_username;
1413END ;;
1514
15+ CREATE PROCEDURE ` CreateUserWidget` (
16+ widget_position INT ,
17+ widget_id_html VARCHAR (250 ),
18+ wid INT ,
19+ user_sid VARCHAR (250 )
20+ )
21+ BEGIN
22+ INSERT INTO
23+ user_widget (id_html, position, id_user, id_widget, enabled, visible, version)
24+ VALUES (widget_id_html, widget_position, (
25+ SELECT
26+ s .id_user
27+ FROM
28+ session s
29+ WHERE
30+ sid = user_sid
31+ ), wid, 1 , 1 , 1 );
32+ END ;;
33+
34+ CREATE PROCEDURE ` CreateWidget` (
35+ widget_columns INT ,
36+ widget_updatetime INT ,
37+ widget_title VARCHAR (250 ),
38+ widget_phpfile VARCHAR (250 ),
39+ widget_templatefile VARCHAR (250 ),
40+ widget_folder VARCHAR (250 ),
41+ widget_class_name VARCHAR (250 ),
42+ widget_version INT ,
43+ widget_require_admin BIT
44+ )
45+ BEGIN
46+ INSERT INTO
47+ widget (
48+ ` columns` ,
49+ updatetime,
50+ title,
51+ phpfile,
52+ templatefile,
53+ requireadmin,
54+ folder,
55+ class_name,
56+ version
57+ )
58+ VALUES (
59+ widget_columns,
60+ widget_updatetime,
61+ widget_title,
62+ widget_phpfile,
63+ widget_templatefile,
64+ widget_require_admin,
65+ widget_folder,
66+ widget_class_name,
67+ widget_version
68+ );
69+ END ;;
70+
71+ CREATE PROCEDURE ` DeleteUserWidget` (
72+ widget_id INT ,
73+ user_sid VARCHAR (250 )
74+ )
75+ BEGIN
76+ DELETE FROM
77+ user_widget
78+ WHERE
79+ id = widget_id AND
80+ id_user = (
81+ SELECT
82+ s .id_user
83+ FROM
84+ session s
85+ WHERE
86+ sid = user_sid
87+ );
88+ END ;;
89+
90+ CREATE PROCEDURE ` DeleteWidget` (
91+ widget_id INT
92+ )
93+ BEGIN
94+ DELETE FROM
95+ widget
96+ WHERE
97+ id = widget_id;
98+ END ;;
99+
16100CREATE PROCEDURE ` GetHashes` (user_sid VARCHAR (250 ))
17101BEGIN
18102 SELECT
@@ -71,6 +155,48 @@ BEGIN
71155 s .sid = user_sid AND uw .id = id_widget;
72156END ;;
73157
158+ CREATE PROCEDURE ` GetWidgetList` (IN user_sid VARCHAR (250 ))
159+ BEGIN
160+ SELECT
161+ *
162+ FROM
163+ widget w
164+ WHERE
165+ (w .requireadmin = 0 OR
166+ (
167+ w .requireadmin = 1 AND
168+ (
169+ select
170+ u .admin
171+ FROM
172+ ` user` u
173+ INNER JOIN
174+ ` session` s
175+ ON
176+ u .id = s .id_user
177+ WHERE
178+ s .sid = user_sid
179+ ) = 1
180+ ))AND
181+ w .id NOT IN
182+ (
183+ SELECT
184+ uw .id_widget
185+ FROM
186+ user_widget uw
187+ INNER JOIN
188+ ` user` u
189+ ON
190+ uw .id_user = u .id
191+ INNER JOIN
192+ ` session` s
193+ ON
194+ u .id = s .id_user
195+ WHERE
196+ s .sid = user_sid
197+ );
198+ END ;;
199+
74200CREATE PROCEDURE ` GetWidgets` (IN user_sid VARCHAR (250 ))
75201BEGIN
76202 SELECT
@@ -196,7 +322,7 @@ CREATE PROCEDURE `SaveWidget`(
196322 widget_templatefile VARCHAR (250 ),
197323 widget_folder VARCHAR (250 ),
198324 widget_class_name VARCHAR (250 ),
199- widget_version VARCHAR ( 250 ) ,
325+ widget_version INT ,
200326 widget_require_admin BIT ,
201327 widget_id INT
202328)
@@ -272,4 +398,4 @@ BEGIN
272398 INSERT INTO ` session` (sid, expiredate, device, id_user) VALUES (new_sid, @expireDate, user_device, user_id);
273399 END IF;
274400
275- END ;;
401+ END ;;
0 commit comments