@@ -1201,28 +1201,46 @@ function report(Request $request)
12011201 }
12021202
12031203 //Edit/save page icons
1204- public function editIcons (request $ request )
1204+ public function editIcons (Request $ request )
12051205 {
1206- $ request ->validate ([
1207- 'link ' => 'required|url ' ,
1208- ]);
1206+ $ inputKeys = array_keys ($ request ->except ('_token ' ));
1207+
1208+ $ validationRules = [];
1209+
1210+ foreach ($ inputKeys as $ platform ) {
1211+ $ validationRules [$ platform ] = 'nullable|url|max:255 ' ;
1212+ }
1213+
1214+ $ request ->validate ($ validationRules );
1215+
1216+ foreach ($ inputKeys as $ platform ) {
1217+ $ link = $ request ->input ($ platform );
1218+
1219+ if (!empty ($ link )) {
1220+ $ iconId = $ this ->searchIcon ($ platform );
1221+
1222+ if (!is_null ($ iconId )) {
1223+ $ this ->updateIcon ($ platform , $ link );
1224+ } else {
1225+ $ this ->addIcon ($ platform , $ link );
1226+ }
1227+ }
1228+ }
12091229
1210- function searchIcon ($ icon )
1211- {
1212- $ iconId = DB ::table ('links ' )
1230+ return redirect ('studio/links#icons ' );
1231+ }
1232+
1233+ private function searchIcon ($ icon )
1234+ {
1235+ return DB ::table ('links ' )
12131236 ->where ('user_id ' , Auth::id ())
12141237 ->where ('title ' , $ icon )
12151238 ->where ('button_id ' , 94 )
12161239 ->value ('id ' );
1217-
1218- if (is_null ($ iconId )){
1219- return false ;
1220- } else {
1221- return $ iconId ;
1222- }
1223- }
1240+ }
12241241
1225- function addIcon ($ icon , $ link ){
1242+ private function addIcon ($ icon , $ link )
1243+ {
12261244 $ userId = Auth::user ()->id ;
12271245 $ links = new Link ;
12281246 $ links ->link = $ link ;
@@ -1234,61 +1252,12 @@ function addIcon($icon, $link){
12341252 $ links ->save ();
12351253 }
12361254
1237- function updateIcon ($ icon , $ link ){
1238- Link::where ('id ' , searchIcon ($ icon ))->update ([
1255+ private function updateIcon ($ icon , $ link )
1256+ {
1257+ Link::where ('id ' , $ this ->searchIcon ($ icon ))->update ([
12391258 'button_id ' => 94 ,
12401259 'link ' => $ link ,
12411260 'title ' => $ icon
12421261 ]);
12431262 }
1244-
1245- function saveIcon ($ icon , $ link ){
1246- if (isset ($ link )){
1247- if (searchIcon ($ icon ) != NULL ){
1248- updateIcon ($ icon , $ link );
1249- }else {
1250- addIcon ($ icon , $ link );}
1251- }
1252- }
1253-
1254-
1255-
1256-
1257- saveIcon ('mastodon ' , $ request ->mastodon );
1258-
1259- saveIcon ('instagram ' , $ request ->instagram );
1260-
1261- saveIcon ('twitter ' , $ request ->twitter );
1262-
1263- saveIcon ('facebook ' , $ request ->facebook );
1264-
1265- saveIcon ('github ' , $ request ->github );
1266-
1267- saveIcon ('linkedin ' , $ request ->linkedin );
1268-
1269- saveIcon ('tiktok ' , $ request ->tiktok );
1270-
1271- saveIcon ('discord ' , $ request ->discord );
1272-
1273- saveIcon ('youtube ' , $ request ->youtube );
1274-
1275- saveIcon ('snapchat ' , $ request ->snapchat );
1276-
1277- saveIcon ('reddit ' , $ request ->reddit );
1278-
1279- saveIcon ('pinterest ' , $ request ->pinterest );
1280-
1281- saveIcon ('telegram ' , $ request ->telegram );
1282-
1283- saveIcon ('whatsapp ' , $ request ->whatsapp );
1284-
1285- saveIcon ('twitch ' , $ request ->twitch );
1286-
1287-
1288-
1289-
1290- return Redirect ('studio/links#icons ' );
1291-
1292- }
1293-
12941263}
0 commit comments