~cjsmo/ampache/ampache

« back to all changes in this revision

Viewing changes to lib/class/update.class.php

  • Committer: Afterster
  • Date: 2015-11-07 07:09:23 UTC
  • mfrom: (3952.1.1)
  • Revision ID: git-v1:88b4662919026b030698448b7cdf6c8dc0cb9897
Merge branch 'Psy-Virus-develop' into develop

Show diffs side-by-side

added added

removed removed

Lines of Context:
58
58
    {
59
59
        $version = "";
60
60
        /* Make sure that update_info exits */
61
 
        $sql = "SHOW TABLES LIKE 'update_info'";
 
61
        $sql        = "SHOW TABLES LIKE 'update_info'";
62
62
        $db_results = Dba::read($sql);
63
63
        if (!Dba::dbh()) {
64
64
            header("Location: test.php");
72
72
 
73
73
        else {
74
74
            // If we've found the update_info table, let's get the version from it
75
 
            $sql = "SELECT * FROM `update_info` WHERE `key`='db_version'";
 
75
            $sql        = "SELECT * FROM `update_info` WHERE `key`='db_version'";
76
76
            $db_results = Dba::read($sql);
77
 
            $results = Dba::fetch_assoc($db_results);
78
 
            $version = $results['value'];
 
77
            $results    = Dba::fetch_assoc($db_results);
 
78
            $version    = $results['value'];
79
79
        }
80
80
 
81
81
        return $version;
137
137
        $version[] = array('version' => '340001','description' => $update_string);
138
138
 
139
139
        $update_string = '- Added Offset Limit to Preferences and removed from user table.';
140
 
        $version[] = array('version' => '340002','description' => $update_string);
 
140
        $version[]     = array('version' => '340002','description' => $update_string);
141
141
 
142
142
        $update_string = '- Moved Art from the Album table into album_data to improve performance.<br />' .
143
143
                '- Made some minor changes to song table to reduce size of each row.<br />' .
163
163
        $version[] = array('version' => '340006','description' => $update_string);
164
164
 
165
165
        $update_string = '- Altered the session table, making value a LONGTEXT.<br />';
166
 
        $version[] = array('version' => '340007','description' => $update_string);
 
166
        $version[]     = array('version' => '340007','description' => $update_string);
167
167
 
168
168
        $update_string = '- Modified Playlist_Data table to account for multiple object types.<br />' .
169
169
                '- Verified previous updates, adjusting as needed.<br />' .
205
205
        $version[] = array('version' => '340016','description'=>$update_string);
206
206
 
207
207
        $update_string = '- Fix Tables for new Democratic Play methodology.<br />';
208
 
        $version[] = array('version' => '340017','description'=>$update_string);
 
208
        $version[]     = array('version' => '340017','description'=>$update_string);
209
209
 
210
210
        $update_string = '- Modify the Tag tables so that they actually work.<br />' .
211
211
                '- Alter the Prefix fields to allow for more prefixs.<br />';
226
226
        $version[] = array('version'=>'350004','description'=>$update_string);
227
227
 
228
228
        $update_string = "- Add table for Video files<br />";
229
 
        $version[] = array('version'=>'350005','description'=>$update_string);
 
229
        $version[]     = array('version'=>'350005','description'=>$update_string);
230
230
 
231
231
        $update_string = "- Add data for Lyrics<br />";
232
 
        $version[] = array('version'=>'350006','description'=>$update_string);
 
232
        $version[]     = array('version'=>'350006','description'=>$update_string);
233
233
 
234
234
        $update_string = '- Remove unused fields from catalog, playlist, playlist_data<br />' .
235
235
                '- Add tables for dynamic playlists<br />' .
261
261
        $version[] = array('version'=>'360003','description'=>$update_string);
262
262
 
263
263
        $update_string = '- Add uniqueness constraint to ratings.<br />';
264
 
        $version[] = array('version' => '360004','description' => $update_string);
 
264
        $version[]     = array('version' => '360004','description' => $update_string);
265
265
 
266
266
        $update_string = '- Modify tmp_browse to allow caching of multiple browses per session.<br />';
267
 
        $version[] = array('version' => '360005','description' => $update_string);
 
267
        $version[]     = array('version' => '360005','description' => $update_string);
268
268
 
269
269
        $update_string = '- Add table for dynamic playlists.<br />';
270
 
        $version[] = array('version' => '360006','description' => $update_string);
 
270
        $version[]     = array('version' => '360006','description' => $update_string);
271
271
 
272
272
        $update_string = '- Verify remote_username and remote_password were added correctly to catalog table.<br />';
273
 
        $version[] = array('version' => '360008','description' => $update_string);
 
273
        $version[]     = array('version' => '360008','description' => $update_string);
274
274
 
275
275
        $update_string = '- Allow long sessionids in tmp_playlist table.<br />';
276
 
        $version[] = array('version' => '360009', 'description' => $update_string);
 
276
        $version[]     = array('version' => '360009', 'description' => $update_string);
277
277
 
278
278
        $update_string = '- Allow compound MBIDs in the artist table.<br />';
279
 
        $version[] = array('version' => '360010', 'description' => $update_string);
 
279
        $version[]     = array('version' => '360010', 'description' => $update_string);
280
280
 
281
281
        $update_string = '- Add table to store stream session playlist.<br />';
282
 
        $version[] = array('version' => '360011', 'description' => $update_string);
 
282
        $version[]     = array('version' => '360011', 'description' => $update_string);
283
283
 
284
284
        $update_string = '- Drop enum for the type field in session.<br />';
285
 
        $version[] = array('version' => '360012', 'description' => $update_string);
 
285
        $version[]     = array('version' => '360012', 'description' => $update_string);
286
286
 
287
287
        $update_string = '- Update stream_playlist table to address performance issues.<br />';
288
 
        $version[] = array('version' => '360013', 'description' => $update_string);
 
288
        $version[]     = array('version' => '360013', 'description' => $update_string);
289
289
 
290
290
        $update_string = '- Increase the length of sessionids again.<br />';
291
 
        $version[] = array('version' => '360014', 'description' => $update_string);
 
291
        $version[]     = array('version' => '360014', 'description' => $update_string);
292
292
 
293
293
        $update_string = '- Add iframes parameter to preferences.<br />';
294
 
        $version[] = array('version' => '360015', 'description' => $update_string);
 
294
        $version[]     = array('version' => '360015', 'description' => $update_string);
295
295
 
296
296
        $update_string = '- Optionally filter Now Playing to return only the last song per user.<br />';
297
 
        $version[] = array('version' => '360016', 'description' => $update_string);
 
297
        $version[]     = array('version' => '360016', 'description' => $update_string);
298
298
 
299
299
        $update_string = '- Add user flags on objects.<br />';
300
 
        $version[] = array('version' => '360017', 'description' => $update_string);
 
300
        $version[]     = array('version' => '360017', 'description' => $update_string);
301
301
 
302
302
        $update_string = '- Add album default sort value to preferences.<br />';
303
 
        $version[] = array('version' => '360018', 'description' => $update_string);
 
303
        $version[]     = array('version' => '360018', 'description' => $update_string);
304
304
 
305
305
        $update_string = '- Add option to show number of times a song was played.<br />';
306
 
        $version[] = array('version' => '360019', 'description' => $update_string);
 
306
        $version[]     = array('version' => '360019', 'description' => $update_string);
307
307
 
308
308
        $update_string = '- Catalog types are plugins now.<br />';
309
 
        $version[] = array('version' => '360020', 'description' => $update_string);
 
309
        $version[]     = array('version' => '360020', 'description' => $update_string);
310
310
 
311
311
        $update_string = '- Add insertion date on Now Playing and option to show the current song in page title for Web player.<br />';
312
 
        $version[] = array('version' => '360021', 'description' => $update_string);
 
312
        $version[]     = array('version' => '360021', 'description' => $update_string);
313
313
 
314
314
        $update_string = '- Remove unused live_stream fields and add codec field.<br />';
315
 
        $version[] = array('version' => '360022', 'description' => $update_string);
 
315
        $version[]     = array('version' => '360022', 'description' => $update_string);
316
316
 
317
317
        $update_string = '- Enable/Disable SubSonic and Plex backend.<br />';
318
 
        $version[] = array('version' => '360023', 'description' => $update_string);
 
318
        $version[]     = array('version' => '360023', 'description' => $update_string);
319
319
 
320
320
        $update_string = '- Drop flagged table.<br />';
321
 
        $version[] = array('version' => '360024', 'description' => $update_string);
 
321
        $version[]     = array('version' => '360024', 'description' => $update_string);
322
322
 
323
323
        $update_string = '- Add options to enable HTML5 / Flash on web players.<br />';
324
 
        $version[] = array('version' => '360025', 'description' => $update_string);
 
324
        $version[]     = array('version' => '360025', 'description' => $update_string);
325
325
 
326
326
        $update_string = '- Added agent to `object_count` table.<br />';
327
 
        $version[] = array('version' => '360026','description' => $update_string);
 
327
        $version[]     = array('version' => '360026','description' => $update_string);
328
328
 
329
329
        $update_string = '- Add option to allow/disallow to show personnal information to other users (now playing and recently played).<br />';
330
 
        $version[] = array('version' => '360027','description' => $update_string);
 
330
        $version[]     = array('version' => '360027','description' => $update_string);
331
331
 
332
 
        $update_string = '- Personnal information: allow/disallow to show in now playing.<br />'.
333
 
                '- Personnal information: allow/disallow to show in recently played.<br />'.
 
332
        $update_string = '- Personnal information: allow/disallow to show in now playing.<br />' .
 
333
                '- Personnal information: allow/disallow to show in recently played.<br />' .
334
334
                '- Personnal information: allow/disallow to show time and/or agent in recently played.<br />';
335
335
        $version[] = array('version' => '360028','description' => $update_string);
336
336
 
337
337
        $update_string = '- Add new table to store wanted releases.<br />';
338
 
        $version[] = array('version' => '360029','description' => $update_string);
 
338
        $version[]     = array('version' => '360029','description' => $update_string);
339
339
 
340
340
        $update_string = '- New table to store song previews.<br />';
341
 
        $version[] = array('version' => '360030','description' => $update_string);
 
341
        $version[]     = array('version' => '360030','description' => $update_string);
342
342
 
343
343
        $update_string = '- Add option to fix header position on compatible themes.<br />';
344
 
        $version[] = array('version' => '360031','description' => $update_string);
 
344
        $version[]     = array('version' => '360031','description' => $update_string);
345
345
 
346
346
        $update_string = '- Add check update automatically option.<br />';
347
 
        $version[] = array('version' => '360032','description' => $update_string);
 
347
        $version[]     = array('version' => '360032','description' => $update_string);
348
348
 
349
349
        $update_string = '- Add song waveform as song data.<br />';
350
 
        $version[] = array('version' => '360033','description' => $update_string);
 
350
        $version[]     = array('version' => '360033','description' => $update_string);
351
351
 
352
352
        $update_string = '- Add settings for confirmation when closing window and auto-pause between tabs.<br />';
353
 
        $version[] = array('version' => '360034','description' => $update_string);
 
353
        $version[]     = array('version' => '360034','description' => $update_string);
354
354
 
355
355
        $update_string = '- Add beautiful stream url setting.<br />';
356
 
        $version[] = array('version' => '360035','description' => $update_string);
 
356
        $version[]     = array('version' => '360035','description' => $update_string);
357
357
 
358
358
        $update_string = '- Remove unused parameters.<br />';
359
 
        $version[] = array('version' => '360036','description' => $update_string);
 
359
        $version[]     = array('version' => '360036','description' => $update_string);
360
360
 
361
361
        $update_string = '- Add sharing features.<br />';
362
 
        $version[] = array('version' => '360037','description' => $update_string);
 
362
        $version[]     = array('version' => '360037','description' => $update_string);
363
363
 
364
364
        $update_string = '- Add missing albums browse on missing artists.<br />';
365
 
        $version[] = array('version' => '360038','description' => $update_string);
 
365
        $version[]     = array('version' => '360038','description' => $update_string);
366
366
 
367
367
        $update_string = '- Add website field on users.<br />';
368
 
        $version[] = array('version' => '360039','description' => $update_string);
 
368
        $version[]     = array('version' => '360039','description' => $update_string);
369
369
 
370
370
        $update_string = '- Add channels.<br />';
371
 
        $version[] = array('version' => '360041','description' => $update_string);
 
371
        $version[]     = array('version' => '360041','description' => $update_string);
372
372
 
373
373
        $update_string = '- Add broadcasts and player control.<br />';
374
 
        $version[] = array('version' => '360042','description' => $update_string);
 
374
        $version[]     = array('version' => '360042','description' => $update_string);
375
375
 
376
376
        $update_string = '- Add slideshow on currently played artist preference.<br />';
377
 
        $version[] = array('version' => '360043','description' => $update_string);
 
377
        $version[]     = array('version' => '360043','description' => $update_string);
378
378
 
379
379
        $update_string = '- Add artist description/recommendation external service data cache.<br />';
380
 
        $version[] = array('version' => '360044','description' => $update_string);
 
380
        $version[]     = array('version' => '360044','description' => $update_string);
381
381
 
382
382
        $update_string = '- Set user field on playlists as optional.<br />';
383
 
        $version[] = array('version' => '360045','description' => $update_string);
 
383
        $version[]     = array('version' => '360045','description' => $update_string);
384
384
 
385
385
        $update_string = '- Add broadcast web player by default preference.<br />';
386
 
        $version[] = array('version' => '360046','description' => $update_string);
 
386
        $version[]     = array('version' => '360046','description' => $update_string);
387
387
 
388
388
        $update_string = '- Add apikey field on users.<br />';
389
 
        $version[] = array('version' => '360047','description' => $update_string);
 
389
        $version[]     = array('version' => '360047','description' => $update_string);
390
390
 
391
391
        $update_string = '- Add concerts options.<br />';
392
 
        $version[] = array('version' => '360048','description' => $update_string);
 
392
        $version[]     = array('version' => '360048','description' => $update_string);
393
393
 
394
394
        $update_string = '- Add album group multiple disks setting.<br />';
395
 
        $version[] = array('version' => '360049','description' => $update_string);
 
395
        $version[]     = array('version' => '360049','description' => $update_string);
396
396
 
397
397
        $update_string = '- Add top menu setting.<br />';
398
 
        $version[] = array('version' => '360050','description' => $update_string);
 
398
        $version[]     = array('version' => '360050','description' => $update_string);
399
399
 
400
400
        $update_string = '- Copy default .htaccess configurations.<br />';
401
 
        $version[] = array('version' => '360051','description' => $update_string);
 
401
        $version[]     = array('version' => '360051','description' => $update_string);
402
402
 
403
403
        $update_string = '- Drop unused dynamic_playlist tables and add session id to votes.<br />';
404
 
        $version[] = array('version' => '370001','description' => $update_string);
 
404
        $version[]     = array('version' => '370001','description' => $update_string);
405
405
 
406
406
        $update_string = '- Add tag persistent merge reference.<br />';
407
 
        $version[] = array('version' => '370002','description' => $update_string);
 
407
        $version[]     = array('version' => '370002','description' => $update_string);
408
408
 
409
409
        $update_string = '- Add show/hide donate button preference.<br />';
410
 
        $version[] = array('version' => '370003','description' => $update_string);
 
410
        $version[]     = array('version' => '370003','description' => $update_string);
411
411
 
412
412
        $update_string = '- Add license information and user\'s artist association.<br />';
413
 
        $version[] = array('version' => '370004','description' => $update_string);
 
413
        $version[]     = array('version' => '370004','description' => $update_string);
414
414
 
415
415
        $update_string = '- Add new column album_artist into table song.<br />';
416
 
        $version[] = array('version' => '370005','description' => $update_string);
 
416
        $version[]     = array('version' => '370005','description' => $update_string);
417
417
 
418
418
        $update_string = '- Add random and limit options to smart playlists.<br />';
419
 
        $version[] = array('version' => '370006','description' => $update_string);
 
419
        $version[]     = array('version' => '370006','description' => $update_string);
420
420
 
421
421
        $update_string = '- Add DAAP backend preference.<br />';
422
 
        $version[] = array('version' => '370007','description' => $update_string);
 
422
        $version[]     = array('version' => '370007','description' => $update_string);
423
423
 
424
424
        $update_string = '- Add UPnP backend preference.<br />';
425
 
        $version[] = array('version' => '370008','description' => $update_string);
 
425
        $version[]     = array('version' => '370008','description' => $update_string);
426
426
 
427
427
        $update_string = '- Enhance video support with TVShows and Movies.<br />';
428
 
        $version[] = array('version' => '370009','description' => $update_string);
 
428
        $version[]     = array('version' => '370009','description' => $update_string);
429
429
 
430
430
        $update_string = '- Add MusicBrainz Album Release Group identifier.<br />';
431
 
        $version[] = array('version' => '370010','description' => $update_string);
 
431
        $version[]     = array('version' => '370010','description' => $update_string);
432
432
 
433
433
        $update_string = '- Add Prefix to TVShows and Movies.<br />';
434
 
        $version[] = array('version' => '370011','description' => $update_string);
 
434
        $version[]     = array('version' => '370011','description' => $update_string);
435
435
 
436
436
        $update_string = '- Add metadata information to albums / songs / videos.<br />';
437
 
        $version[] = array('version' => '370012','description' => $update_string);
 
437
        $version[]     = array('version' => '370012','description' => $update_string);
438
438
 
439
439
        $update_string = '- Replace iframe with ajax page load.<br />';
440
 
        $version[] = array('version' => '370013','description' => $update_string);
 
440
        $version[]     = array('version' => '370013','description' => $update_string);
441
441
 
442
442
        $update_string = '- Modified release_date in video table to signed int.<br />';
443
 
        $version[] = array('version' => '370014','description' => $update_string);
 
443
        $version[]     = array('version' => '370014','description' => $update_string);
444
444
 
445
445
        $update_string = '- Add session_remember table to store remember tokens.<br />';
446
 
        $version[] = array('version' => '370015','description' => $update_string);
 
446
        $version[]     = array('version' => '370015','description' => $update_string);
447
447
 
448
448
        $update_string = '- Add limit of media count for direct play preference.<br />';
449
 
        $version[] = array('version' => '370016','description' => $update_string);
 
449
        $version[]     = array('version' => '370016','description' => $update_string);
450
450
 
451
451
        $update_string = '- Add home display settings.<br />';
452
 
        $version[] = array('version' => '370017','description' => $update_string);
 
452
        $version[]     = array('version' => '370017','description' => $update_string);
453
453
 
454
454
        $update_string = '- Enhance tag persistent merge reference.<br />';
455
 
        $version[] = array('version' => '370018','description' => $update_string);
 
455
        $version[]     = array('version' => '370018','description' => $update_string);
456
456
 
457
457
        $update_string = '- Add album group order setting.<br />';
458
 
        $version[] = array('version' => '370019','description' => $update_string);
 
458
        $version[]     = array('version' => '370019','description' => $update_string);
459
459
 
460
460
        $update_string = '- Add webplayer browser notification settings.<br />';
461
 
        $version[] = array('version' => '370020','description' => $update_string);
 
461
        $version[]     = array('version' => '370020','description' => $update_string);
462
462
 
463
463
        $update_string = '- Add rating to playlists, tvshows and tvshows seasons.<br />';
464
 
        $version[] = array('version' => '370021','description' => $update_string);
 
464
        $version[]     = array('version' => '370021','description' => $update_string);
465
465
 
466
466
        $update_string = '- Add users geolocation.<br />';
467
 
        $version[] = array('version' => '370022','description' => $update_string);
 
467
        $version[]     = array('version' => '370022','description' => $update_string);
468
468
 
469
469
        $update_string = " - Add Aurora.js webplayer option.<br />";
470
 
        $version[] = array('version' => '370023','description' => $update_string);
 
470
        $version[]     = array('version' => '370023','description' => $update_string);
471
471
 
472
472
        $update_string = " - Add count_type column to object_count table.<br />";
473
 
        $version[] = array('version' => '370024','description' => $update_string);
 
473
        $version[]     = array('version' => '370024','description' => $update_string);
474
474
 
475
475
        $update_string = " - Add state and city fields to user table.<br />";
476
 
        $version[] = array('version' => '370025','description' => $update_string);
 
476
        $version[]     = array('version' => '370025','description' => $update_string);
477
477
 
478
478
        $update_string = " - Add replay gain fields to song_data table.<br />";
479
 
        $version[] = array('version' => '370026','description' => $update_string);
 
479
        $version[]     = array('version' => '370026','description' => $update_string);
480
480
 
481
481
        $update_string = " - Move column album_artist from table song to table album.<br />";
482
 
        $version[] = array('version' => '370027','description' => $update_string);
 
482
        $version[]     = array('version' => '370027','description' => $update_string);
483
483
 
484
484
        $update_string = " - Add width and height in table image.<br />";
485
 
        $version[] = array('version' => '370028','description' => $update_string);
 
485
        $version[]     = array('version' => '370028','description' => $update_string);
486
486
 
487
487
        $update_string = " - Set image column from image table as nullable.<br />";
488
 
        $version[] = array('version' => '370029','description' => $update_string);
 
488
        $version[]     = array('version' => '370029','description' => $update_string);
489
489
 
490
490
        $update_string = " - Add an option to allow users to remove uploaded songs.<br />";
491
 
        $version[] = array('version' => '370030','description' => $update_string);
 
491
        $version[]     = array('version' => '370030','description' => $update_string);
492
492
 
493
493
        $update_string = " - Add an option to customize login art, favicon and text footer.<br />";
494
 
        $version[] = array('version' => '370031','description' => $update_string);
 
494
        $version[]     = array('version' => '370031','description' => $update_string);
495
495
 
496
496
        $update_string = " - Add WebDAV backend preference.<br />";
497
 
        $version[] = array('version' => '370032','description' => $update_string);
 
497
        $version[]     = array('version' => '370032','description' => $update_string);
498
498
 
499
499
        $update_string = " - Add Label tables.<br />";
500
 
        $version[] = array('version' => '370033','description' => $update_string);
 
500
        $version[]     = array('version' => '370033','description' => $update_string);
501
501
 
502
502
        $update_string = " - Add User messages and user follow tables.<br />";
503
 
        $version[] = array('version' => '370034','description' => $update_string);
 
503
        $version[]     = array('version' => '370034','description' => $update_string);
504
504
 
505
505
        $update_string = " - Add option on user fullname to show/hide it publicly.<br />";
506
 
        $version[] = array('version' => '370035','description' => $update_string);
 
506
        $version[]     = array('version' => '370035','description' => $update_string);
507
507
        
508
508
        $update_string = " - Add track number field to stream_playlist table.<br />";
509
 
        $version[] = array('version' => '370036','description' => $update_string);
 
509
        $version[]     = array('version' => '370036','description' => $update_string);
510
510
        
511
511
        $update_string = " - Delete http_port preference (use ampache.cfg.php configuration instead).<br />";
512
 
        $version[] = array('version' => '370037','description' => $update_string);
 
512
        $version[]     = array('version' => '370037','description' => $update_string);
513
513
        
514
514
        $update_string = " - Add theme color option.<br />";
515
 
        $version[] = array('version' => '370038','description' => $update_string);
 
515
        $version[]     = array('version' => '370038','description' => $update_string);
516
516
 
517
517
        $update_string = " - Renamed false named sample_rate option name in preference table.<br />";
518
 
        $version[] = array('version' => '370039','description' => $update_string);
 
518
        $version[]     = array('version' => '370039','description' => $update_string);
519
519
        
520
520
        $update_string = " - Add user_activity table.<br />";
521
 
        $version[] = array('version' => '370040','description' => $update_string);
 
521
        $version[]     = array('version' => '370040','description' => $update_string);
522
522
 
523
523
        return $version;
524
524
    }
656
656
    public static function update_340003()
657
657
    {
658
658
        $retval = true;
659
 
        $sql = "ALTER TABLE `song` CHANGE `mode` `mode` ENUM( 'abr', 'vbr', 'cbr' ) NULL DEFAULT 'cbr'";
660
 
        $retval = Dba::write($sql) ? $retval : false;
661
 
 
662
 
        $sql = "ALTER TABLE `song` CHANGE `time` `time` SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0'";
663
 
        $retval = Dba::write($sql) ? $retval : false;
664
 
 
665
 
        $sql = "ALTER TABLE `song` CHANGE `rate` `rate` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT '0'";
666
 
        $retval = Dba::write($sql) ? $retval : false;
667
 
 
668
 
        $sql = "ALTER TABLE `song` CHANGE `bitrate` `bitrate` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT '0'";
669
 
        $retval = Dba::write($sql) ? $retval : false;
670
 
 
671
 
        $sql = "ALTER TABLE `song` CHANGE `track` `track` SMALLINT( 5 ) UNSIGNED NULL DEFAULT NULL ";
672
 
        $retval = Dba::write($sql) ? $retval : false;
673
 
 
674
 
        $sql = "ALTER TABLE `user` CHANGE `disabled` `disabled` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
 
659
        $sql    = "ALTER TABLE `song` CHANGE `mode` `mode` ENUM( 'abr', 'vbr', 'cbr' ) NULL DEFAULT 'cbr'";
 
660
        $retval = Dba::write($sql) ? $retval : false;
 
661
 
 
662
        $sql    = "ALTER TABLE `song` CHANGE `time` `time` SMALLINT( 5 ) UNSIGNED NOT NULL DEFAULT '0'";
 
663
        $retval = Dba::write($sql) ? $retval : false;
 
664
 
 
665
        $sql    = "ALTER TABLE `song` CHANGE `rate` `rate` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT '0'";
 
666
        $retval = Dba::write($sql) ? $retval : false;
 
667
 
 
668
        $sql    = "ALTER TABLE `song` CHANGE `bitrate` `bitrate` MEDIUMINT( 8 ) UNSIGNED NOT NULL DEFAULT '0'";
 
669
        $retval = Dba::write($sql) ? $retval : false;
 
670
 
 
671
        $sql    = "ALTER TABLE `song` CHANGE `track` `track` SMALLINT( 5 ) UNSIGNED NULL DEFAULT NULL ";
 
672
        $retval = Dba::write($sql) ? $retval : false;
 
673
 
 
674
        $sql    = "ALTER TABLE `user` CHANGE `disabled` `disabled` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
675
675
        $retval = Dba::write($sql) ? $retval : false;
676
676
 
677
677
        $sql = "CREATE TABLE `album_data` (" .
685
685
        $retval = Dba::write($sql) ? $retval : false;
686
686
 
687
687
        /* Foreach the Albums and move the data into the new album_data table */
688
 
        $sql = "SELECT * FROM album";
 
688
        $sql        = "SELECT * FROM album";
689
689
        $db_results = Dba::write($sql);
690
690
 
691
691
        while ($data = Dba::fetch_assoc($db_results)) {
692
 
            $id = $data['id'];
693
 
            $art = Dba::escape($data['art']);
 
692
            $id       = $data['id'];
 
693
            $art      = Dba::escape($data['art']);
694
694
            $art_mime = Dba::escape($data['art_mime']);
695
 
            $sql = "INSERT INTO `album_data` (`album_id`,`art`,`art_mime`)" .
 
695
            $sql      = "INSERT INTO `album_data` (`album_id`,`art`,`art_mime`)" .
696
696
                " VALUES ('$id','$art','$art_mime')";
697
697
            $retval = Dba::write($sql) ? $retval : false;
698
698
        } // end while
699
699
 
700
 
        $sql = "RENAME TABLE `song_ext_data`  TO `song_data`";
701
 
        $retval = Dba::write($sql) ? $retval : false;
702
 
 
703
 
        $sql = "RENAME TABLE `preferences` TO `preference`";
704
 
        $retval = Dba::write($sql) ? $retval : false;
705
 
 
706
 
        $sql = "RENAME TABLE `ratings` TO `rating`";
 
700
        $sql    = "RENAME TABLE `song_ext_data`  TO `song_data`";
 
701
        $retval = Dba::write($sql) ? $retval : false;
 
702
 
 
703
        $sql    = "RENAME TABLE `preferences` TO `preference`";
 
704
        $retval = Dba::write($sql) ? $retval : false;
 
705
 
 
706
        $sql    = "RENAME TABLE `ratings` TO `rating`";
707
707
        $retval = Dba::write($sql) ? $retval : false;
708
708
 
709
709
        // Go ahead and drop the art/thumb stuff
710
 
        $sql = "ALTER TABLE `album`  DROP `art`,  DROP `art_mime`,  DROP `thumb`,  DROP `thumb_mime`";
 
710
        $sql    = "ALTER TABLE `album`  DROP `art`,  DROP `art_mime`,  DROP `thumb`,  DROP `thumb_mime`";
711
711
        $retval = Dba::write($sql) ? $retval : false;
712
712
 
713
713
        // We need to fix the user_vote table
714
 
        $sql = "ALTER TABLE `user_vote` CHANGE `user` `user` INT( 11 ) UNSIGNED NOT NULL";
 
714
        $sql    = "ALTER TABLE `user_vote` CHANGE `user` `user` INT( 11 ) UNSIGNED NOT NULL";
715
715
        $retval = Dba::write($sql) ? $retval : false;
716
716
 
717
717
        // Remove offset limit from the user
718
 
        $sql = "ALTER TABLE `user` DROP `offset_limit`";
 
718
        $sql    = "ALTER TABLE `user` DROP `offset_limit`";
719
719
        $retval = Dba::write($sql) ? $retval : false;
720
720
 
721
 
        $sql = "ALTER TABLE `rating` CHANGE `user_rating` `rating` ENUM( '-1', '0', '1', '2', '3', '4', '5' ) NOT NULL DEFAULT '0'";
 
721
        $sql    = "ALTER TABLE `rating` CHANGE `user_rating` `rating` ENUM( '-1', '0', '1', '2', '3', '4', '5' ) NOT NULL DEFAULT '0'";
722
722
        $retval = Dba::write($sql) ? $retval : false;
723
723
 
724
724
        /* Add the rate_limit preference */
731
731
            "VALUES ('playlist_method','normal','Playlist Method','5','string','streaming')";
732
732
        $retval = Dba::write($sql) ? $retval : false;
733
733
 
734
 
        $sql = "ALTER TABLE `update_info` ADD UNIQUE (`key`)";
 
734
        $sql    = "ALTER TABLE `update_info` ADD UNIQUE (`key`)";
735
735
        $retval = Dba::write($sql) ? $retval : false;
736
736
 
737
737
        return $retval;
746
746
    {
747
747
        $retval = true;
748
748
        /* Alter the session.id so that it's 64 */
749
 
        $sql = "ALTER TABLE `session` CHANGE `id` `id` VARCHAR( 64 ) NOT NULL";
 
749
        $sql    = "ALTER TABLE `session` CHANGE `id` `id` VARCHAR( 64 ) NOT NULL";
750
750
        $retval = Dba::write($sql) ? $retval : false;
751
751
 
752
752
        /* Add Playlist Related Preferences */
760
760
        $retval = Dba::write($sql) ? $retval : false;
761
761
 
762
762
        // Change the default value for playlist_method
763
 
        $sql = "UPDATE `preference` SET `value`='normal' WHERE `name`='playlist_method'";
 
763
        $sql    = "UPDATE `preference` SET `value`='normal' WHERE `name`='playlist_method'";
764
764
        $retval = Dba::write($sql) ? $retval : false;
765
765
 
766
766
        // Add in the shoutbox
774
774
            ") ENGINE = MYISAM";
775
775
        $retval = Dba::write($sql) ? $retval : false;
776
776
 
777
 
        $sql = "ALTER TABLE `user_shout` ADD INDEX ( `sticky` )";
778
 
        $retval = Dba::write($sql) ? $retval : false;
779
 
 
780
 
        $sql = "ALTER TABLE `user_shout` ADD INDEX ( `date` )";
781
 
        $retval = Dba::write($sql) ? $retval : false;
782
 
 
783
 
        $sql = "ALTER TABLE `user_shout` ADD INDEX ( `user` )";
784
 
        $retval = Dba::write($sql) ? $retval : false;
785
 
 
786
 
        $sql = "ALTER TABLE `now_playing` CHANGE `start_time` `expire` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0'";
 
777
        $sql    = "ALTER TABLE `user_shout` ADD INDEX ( `sticky` )";
 
778
        $retval = Dba::write($sql) ? $retval : false;
 
779
 
 
780
        $sql    = "ALTER TABLE `user_shout` ADD INDEX ( `date` )";
 
781
        $retval = Dba::write($sql) ? $retval : false;
 
782
 
 
783
        $sql    = "ALTER TABLE `user_shout` ADD INDEX ( `user` )";
 
784
        $retval = Dba::write($sql) ? $retval : false;
 
785
 
 
786
        $sql    = "ALTER TABLE `now_playing` CHANGE `start_time` `expire` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0'";
787
787
        $retval = Dba::write($sql) ? $retval : false;
788
788
 
789
789
        $sql = "OPTIMIZE TABLE `album`";
800
800
    {
801
801
        $retval = true;
802
802
 
803
 
        $sql = "UPDATE `preference` SET `catagory`='playlist' WHERE `name`='random_method'";
 
803
        $sql    = "UPDATE `preference` SET `catagory`='playlist' WHERE `name`='random_method'";
804
804
        $retval = Dba::write($sql) ? $retval : false;
805
805
 
806
806
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
808
808
        $retval = Dba::write($sql) ? $retval : false;
809
809
 
810
810
        /* We need to check for playlist_method here because I fubar'd an earlier update */
811
 
        $sql = "SELECT * FROM `preference` WHERE `name`='playlist_method'";
 
811
        $sql        = "SELECT * FROM `preference` WHERE `name`='playlist_method'";
812
812
        $db_results = Dba::read($sql);
813
813
        if (!Dba::num_rows($db_results)) {
814
814
            /* Add the playlist_method preference and remove it from the user table */
818
818
        }
819
819
 
820
820
        // Add in the object_type to the tmpplaylist data table so that we can have non-songs in there
821
 
        $sql = "ALTER TABLE `tmp_playlist_data` ADD `object_type` VARCHAR( 32 ) NULL AFTER `tmp_playlist`";
 
821
        $sql    = "ALTER TABLE `tmp_playlist_data` ADD `object_type` VARCHAR( 32 ) NULL AFTER `tmp_playlist`";
822
822
        $retval = Dba::write($sql) ? $retval : false;
823
823
 
824
824
        return $retval;
845
845
    {
846
846
        $retval = true;
847
847
        // Tweak the session table to handle larger session vars for my page-a-nation hotness
848
 
        $sql = "ALTER TABLE `session` CHANGE `value` `value` LONGTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
 
848
        $sql    = "ALTER TABLE `session` CHANGE `value` `value` LONGTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
849
849
        $retval = Dba::write($sql) ? $retval : false;
850
850
 
851
 
        $sql = "ALTER TABLE `now_playing` CHANGE `id` `id` VARCHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
 
851
        $sql    = "ALTER TABLE `now_playing` CHANGE `id` `id` VARCHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL";
852
852
        $retval = Dba::write($sql) ? $retval : false;
853
853
 
854
854
        // Now longer needed because of the new hotness
855
 
        $sql = "ALTER TABLE `now_playing` DROP `session`";
 
855
        $sql    = "ALTER TABLE `now_playing` DROP `session`";
856
856
        $retval = Dba::write($sql) ? $retval : false;
857
857
 
858
858
        return $retval;
866
866
    public static function update_340008()
867
867
    {
868
868
        $retval = true;
869
 
        $sql = "ALTER TABLE `playlist_data` CHANGE `song` `object_id` INT( 11 ) UNSIGNED NULL DEFAULT NULL";
870
 
        $retval = Dba::write($sql) ? $retval : false;
871
 
 
872
 
        $sql = "ALTER TABLE `playlist_data` CHANGE `dyn_song` `dynamic_song` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL";
873
 
        $retval = Dba::write($sql) ? $retval : false;
874
 
 
875
 
        $sql = "ALTER TABLE `playlist_data` ADD `object_type` VARCHAR( 32 ) NOT NULL DEFAULT 'song' AFTER `object_id`";
876
 
        $retval = Dba::write($sql) ? $retval : false;
877
 
 
878
 
        $sql = "ALTER TABLE `playlist` ADD `genre` INT( 11 ) UNSIGNED NOT NULL AFTER `type`";
879
 
        $retval = Dba::write($sql) ? $retval : false;
880
 
 
881
 
        $sql = "DELETE FROM `preference` WHERE `name`='allow_downsample_playback'";
882
 
        $retval = Dba::write($sql) ? $retval : false;
883
 
 
884
 
        $sql = "UPDATE `preference` SET `description`='Transcode Bitrate' WHERE `name`='sample_rate'";
 
869
        $sql    = "ALTER TABLE `playlist_data` CHANGE `song` `object_id` INT( 11 ) UNSIGNED NULL DEFAULT NULL";
 
870
        $retval = Dba::write($sql) ? $retval : false;
 
871
 
 
872
        $sql    = "ALTER TABLE `playlist_data` CHANGE `dyn_song` `dynamic_song` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL";
 
873
        $retval = Dba::write($sql) ? $retval : false;
 
874
 
 
875
        $sql    = "ALTER TABLE `playlist_data` ADD `object_type` VARCHAR( 32 ) NOT NULL DEFAULT 'song' AFTER `object_id`";
 
876
        $retval = Dba::write($sql) ? $retval : false;
 
877
 
 
878
        $sql    = "ALTER TABLE `playlist` ADD `genre` INT( 11 ) UNSIGNED NOT NULL AFTER `type`";
 
879
        $retval = Dba::write($sql) ? $retval : false;
 
880
 
 
881
        $sql    = "DELETE FROM `preference` WHERE `name`='allow_downsample_playback'";
 
882
        $retval = Dba::write($sql) ? $retval : false;
 
883
 
 
884
        $sql    = "UPDATE `preference` SET `description`='Transcode Bitrate' WHERE `name`='sample_rate'";
885
885
        $retval = Dba::write($sql) ? $retval : false;
886
886
 
887
887
        // Check for old tables and drop if found, seems like there was a glitch
888
888
        // that caused them not to get dropped.. *shrug*
889
 
        $sql = "DROP TABLE IF EXISTS `preferences`";
890
 
        $retval = Dba::write($sql) ? $retval : false;
891
 
 
892
 
        $sql = "DROP TABLE IF EXISTS `song_ext_data`";
893
 
        $retval = Dba::write($sql) ? $retval : false;
894
 
 
895
 
        $sql = "DROP TABLE IF EXISTS `ratings`";
 
889
        $sql    = "DROP TABLE IF EXISTS `preferences`";
 
890
        $retval = Dba::write($sql) ? $retval : false;
 
891
 
 
892
        $sql    = "DROP TABLE IF EXISTS `song_ext_data`";
 
893
        $retval = Dba::write($sql) ? $retval : false;
 
894
 
 
895
        $sql    = "DROP TABLE IF EXISTS `ratings`";
896
896
        $retval = Dba::write($sql) ? $retval : false;
897
897
 
898
898
        return $retval;
905
905
    public static function update_340009()
906
906
    {
907
907
        $retval = true;
908
 
        $sql = "ALTER TABLE `album` ADD `disk` smallint(5) UNSIGNED DEFAULT NULL";
909
 
        $retval = Dba::write($sql) ? $retval : false;
910
 
 
911
 
        $sql = "ALTER TABLE `album` ADD INDEX (`disk`)";
912
 
        $retval = Dba::write($sql) ? $retval : false;
913
 
 
914
 
        $sql = "ALTER TABLE `access_list` ADD `dns` VARCHAR( 255 ) NOT NULL AFTER `end`";
 
908
        $sql    = "ALTER TABLE `album` ADD `disk` smallint(5) UNSIGNED DEFAULT NULL";
 
909
        $retval = Dba::write($sql) ? $retval : false;
 
910
 
 
911
        $sql    = "ALTER TABLE `album` ADD INDEX (`disk`)";
 
912
        $retval = Dba::write($sql) ? $retval : false;
 
913
 
 
914
        $sql    = "ALTER TABLE `access_list` ADD `dns` VARCHAR( 255 ) NOT NULL AFTER `end`";
915
915
        $retval = Dba::write($sql) ? $retval : false;
916
916
 
917
917
        $sql = "CREATE TABLE `artist_data` (" .
934
934
    public static function update_340010()
935
935
    {
936
936
        $retval = true;
937
 
        $sql = "UPDATE `preference` SET `catagory`='options' WHERE `name` LIKE 'localplay_%'";
938
 
        $retval = Dba::write($sql) ? $retval : false;
939
 
 
940
 
        $sql = "DELETE FROM `preference` WHERE `name`='playlist_add'";
941
 
        $retval = Dba::write($sql) ? $retval : false;
942
 
 
943
 
        $sql = "UPDATE `preference` SET `catagory`='plugins' WHERE (`name` LIKE 'mystrands_%' OR `name` LIKE 'lastfm_%') AND `catagory`='options'";
944
 
        $retval = Dba::write($sql) ? $retval : false;
945
 
 
946
 
        $sql = "UPDATE `preference` SET `value`='default' WHERE `name`='playlist_method'";
947
 
        $retval = Dba::write($sql) ? $retval : false;
948
 
 
949
 
        $sql = "UPDATE `preference` SET `description`='Localplay Config' WHERE `name`='localplay_level'";
 
937
        $sql    = "UPDATE `preference` SET `catagory`='options' WHERE `name` LIKE 'localplay_%'";
 
938
        $retval = Dba::write($sql) ? $retval : false;
 
939
 
 
940
        $sql    = "DELETE FROM `preference` WHERE `name`='playlist_add'";
 
941
        $retval = Dba::write($sql) ? $retval : false;
 
942
 
 
943
        $sql    = "UPDATE `preference` SET `catagory`='plugins' WHERE (`name` LIKE 'mystrands_%' OR `name` LIKE 'lastfm_%') AND `catagory`='options'";
 
944
        $retval = Dba::write($sql) ? $retval : false;
 
945
 
 
946
        $sql    = "UPDATE `preference` SET `value`='default' WHERE `name`='playlist_method'";
 
947
        $retval = Dba::write($sql) ? $retval : false;
 
948
 
 
949
        $sql    = "UPDATE `preference` SET `description`='Localplay Config' WHERE `name`='localplay_level'";
950
950
        $retval = Dba::write($sql) ? $retval : false;
951
951
 
952
952
        return $retval;
960
960
    public static function update_340012()
961
961
    {
962
962
        $retval = true;
963
 
        $sql = "ALTER TABLE `catalog` ADD `add_path` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `path`";
 
963
        $sql    = "ALTER TABLE `catalog` ADD `add_path` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `path`";
964
964
        $retval = Dba::write($sql) ? $retval : false;
965
965
 
966
966
        $sql = "CREATE TABLE `democratic` (`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ," .
972
972
            ") ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci";
973
973
        $retval = Dba::write($sql) ? $retval : false;
974
974
 
975
 
        $sql = "ALTER TABLE `democratic` ADD INDEX (`primary`)";
 
975
        $sql    = "ALTER TABLE `democratic` ADD INDEX (`primary`)";
976
976
        $retval = Dba::write($sql) ? $retval : false;
977
977
 
978
 
        $sql = "ALTER TABLE `democratic` ADD INDEX (`level`)";
 
978
        $sql    = "ALTER TABLE `democratic` ADD INDEX (`level`)";
979
979
        $retval = Dba::write($sql) ? $retval : false;
980
980
 
981
981
        return $retval;
1014
1014
    public static function update_340014()
1015
1015
    {
1016
1016
        $retval = true;
1017
 
        $sql = "DROP TABLE IF EXISTS `session_api`";
1018
 
        $retval = Dba::write($sql) ? $retval : false;
1019
 
 
1020
 
        $sql = "ALTER TABLE `session` CHANGE `type` `type` ENUM ('mysql','ldap','http','api','xml-rpc') NOT NULL";
1021
 
        $retval = Dba::write($sql) ? $retval : false;
1022
 
 
1023
 
        $sql = "ALTER TABLE `session` ADD `agent` VARCHAR ( 255 ) NOT NULL AFTER `type`";
1024
 
        $retval = Dba::write($sql) ? $retval : false;
1025
 
 
1026
 
        $sql = "ALTER TABLE `session` ADD INDEX (`type`)";
 
1017
        $sql    = "DROP TABLE IF EXISTS `session_api`";
 
1018
        $retval = Dba::write($sql) ? $retval : false;
 
1019
 
 
1020
        $sql    = "ALTER TABLE `session` CHANGE `type` `type` ENUM ('mysql','ldap','http','api','xml-rpc') NOT NULL";
 
1021
        $retval = Dba::write($sql) ? $retval : false;
 
1022
 
 
1023
        $sql    = "ALTER TABLE `session` ADD `agent` VARCHAR ( 255 ) NOT NULL AFTER `type`";
 
1024
        $retval = Dba::write($sql) ? $retval : false;
 
1025
 
 
1026
        $sql    = "ALTER TABLE `session` ADD INDEX (`type`)";
1027
1027
        $retval = Dba::write($sql) ? $retval : false;
1028
1028
 
1029
1029
        return $retval;
1039
1039
    public static function update_340015()
1040
1040
    {
1041
1041
        $retval = true;
1042
 
        $sql = "ALTER TABLE `playlist` DROP `date`";
 
1042
        $sql    = "ALTER TABLE `playlist` DROP `date`";
1043
1043
        $retval = Dba::write($sql) ? $retval : false;
1044
1044
 
1045
 
        $sql = "ALTER TABLE `playlist` ADD `date` INT ( 11 ) UNSIGNED NOT NULL";
 
1045
        $sql    = "ALTER TABLE `playlist` ADD `date` INT ( 11 ) UNSIGNED NOT NULL";
1046
1046
        $retval = Dba::write($sql) ? $retval : false;
1047
1047
 
1048
1048
        // Pull all of the rating information
1049
 
        $sql = "SELECT `id`,`rating` FROM `rating`";
 
1049
        $sql        = "SELECT `id`,`rating` FROM `rating`";
1050
1050
        $db_results = Dba::read($sql);
1051
1051
 
1052
1052
        $results = array();
1055
1055
            $results[] = $row;
1056
1056
        }
1057
1057
 
1058
 
        $sql = "ALTER TABLE `rating` DROP `rating`";
 
1058
        $sql    = "ALTER TABLE `rating` DROP `rating`";
1059
1059
        $retval = Dba::write($sql) ? $retval : false;
1060
1060
 
1061
 
        $sql = "ALTER TABLE `rating` ADD `rating` TINYINT ( 4 ) NOT NULL";
 
1061
        $sql    = "ALTER TABLE `rating` ADD `rating` TINYINT ( 4 ) NOT NULL";
1062
1062
        $retval = Dba::write($sql) ? $retval : false;
1063
1063
 
1064
1064
        foreach ($results as $row) {
1065
1065
            $rating = Dba::escape($row['rating']);
1066
 
            $id    = Dba::escape($row['id']);
1067
 
            $sql = "UPDATE `rating` SET `rating`='$rating' WHERE `id`='$id'";
 
1066
            $id     = Dba::escape($row['id']);
 
1067
            $sql    = "UPDATE `rating` SET `rating`='$rating' WHERE `id`='$id'";
1068
1068
            Dba::write($sql);
1069
1069
        }
1070
1070
 
1093
1093
    {
1094
1094
        $retval = true;
1095
1095
 
1096
 
        $sql = "ALTER TABLE `tmp_playlist` DROP `base_playlist`";
 
1096
        $sql    = "ALTER TABLE `tmp_playlist` DROP `base_playlist`";
1097
1097
        $retval = Dba::write($sql) ? $retval : false;
1098
1098
 
1099
1099
        $sql = "DELETE FROM `tmp_playlist` WHERE `session`='-1'";
1116
1116
    public static function update_350001()
1117
1117
    {
1118
1118
        $retval = true;
1119
 
        $sql = "ALTER TABLE `tag_map` ADD `tag_id` INT ( 11 ) UNSIGNED NOT NULL AFTER `id`";
1120
 
        $retval = Dba::write($sql) ? $retval : false;
1121
 
 
1122
 
        $sql = "RENAME TABLE `tags`  TO `tag`";
1123
 
        $retval = Dba::write($sql) ? $retval : false;
1124
 
 
1125
 
        $sql = "ALTER TABLE `tag` CHANGE `map_id` `id` INT ( 11 ) UNSIGNED NOT NULL auto_increment";
1126
 
        $retval = Dba::write($sql) ? $retval : false;
1127
 
 
1128
 
        $sql = "ALTER TABLE `album` CHANGE `prefix` `prefix` VARCHAR ( 32 ) NULL";
1129
 
        $retval = Dba::write($sql) ? $retval : false;
1130
 
 
1131
 
        $sql = "ALTER TABLE `artist` CHANGE `prefix` `prefix` VARCHAR ( 32 ) NULL";
 
1119
        $sql    = "ALTER TABLE `tag_map` ADD `tag_id` INT ( 11 ) UNSIGNED NOT NULL AFTER `id`";
 
1120
        $retval = Dba::write($sql) ? $retval : false;
 
1121
 
 
1122
        $sql    = "RENAME TABLE `tags`  TO `tag`";
 
1123
        $retval = Dba::write($sql) ? $retval : false;
 
1124
 
 
1125
        $sql    = "ALTER TABLE `tag` CHANGE `map_id` `id` INT ( 11 ) UNSIGNED NOT NULL auto_increment";
 
1126
        $retval = Dba::write($sql) ? $retval : false;
 
1127
 
 
1128
        $sql    = "ALTER TABLE `album` CHANGE `prefix` `prefix` VARCHAR ( 32 ) NULL";
 
1129
        $retval = Dba::write($sql) ? $retval : false;
 
1130
 
 
1131
        $sql    = "ALTER TABLE `artist` CHANGE `prefix` `prefix` VARCHAR ( 32 ) NULL";
1132
1132
        $retval = Dba::write($sql) ? $retval : false;
1133
1133
 
1134
1134
        return $retval;
1146
1146
    {
1147
1147
        $retval = true;
1148
1148
 
1149
 
        $sql = "ALTER TABLE `song` DROP `genre`";
 
1149
        $sql    = "ALTER TABLE `song` DROP `genre`";
1150
1150
        $retval = Dba::write($sql) ? $retval : false;
1151
1151
 
1152
1152
        $sql = "CREATE TABLE `user_catalog` (`user` INT( 11 ) UNSIGNED NOT NULL ,`catalog` INT( 11 ) UNSIGNED NOT NULL ,`level` SMALLINT( 4 ) UNSIGNED NOT NULL DEFAULT '5', " .
1153
1153
            "INDEX ( `user` )) ENGINE = MYISAM";
1154
1154
        $retval = Dba::write($sql) ? $retval : false;
1155
1155
 
1156
 
        $sql = "ALTER TABLE `user_catalog` ADD INDEX ( `catalog` )";
 
1156
        $sql    = "ALTER TABLE `user_catalog` ADD INDEX ( `catalog` )";
1157
1157
        $retval = Dba::write($sql) ? $retval : false;
1158
1158
 
1159
1159
        return $retval;
1170
1170
    {
1171
1171
        $retval = true;
1172
1172
 
1173
 
        $sql = "ALTER TABLE `tag` DROP `order`";
1174
 
        $retval = Dba::write($sql) ? $retval : false;
1175
 
 
1176
 
        $sql = "ALTER TABLE `tag` ADD UNIQUE ( `name` )";
1177
 
        $retval = Dba::write($sql) ? $retval : false;
1178
 
 
1179
 
        $sql = "ALTER TABLE `tag` CHANGE `name` `name` VARCHAR( 255 )";
 
1173
        $sql    = "ALTER TABLE `tag` DROP `order`";
 
1174
        $retval = Dba::write($sql) ? $retval : false;
 
1175
 
 
1176
        $sql    = "ALTER TABLE `tag` ADD UNIQUE ( `name` )";
 
1177
        $retval = Dba::write($sql) ? $retval : false;
 
1178
 
 
1179
        $sql    = "ALTER TABLE `tag` CHANGE `name` `name` VARCHAR( 255 )";
1180
1180
        $retval = Dba::write($sql) ? $retval : false;
1181
1181
 
1182
1182
        // Make sure that they don't have any of the mystrands crap left
1196
1196
    {
1197
1197
        $retval = true;
1198
1198
 
1199
 
        $sql = "ALTER TABLE `session` CHANGE `ip` `ip` VARBINARY( 255 ) NULL";
 
1199
        $sql    = "ALTER TABLE `session` CHANGE `ip` `ip` VARBINARY( 255 ) NULL";
1200
1200
        $retval = Dba::write($sql) ? $retval : false;
1201
1201
 
1202
1202
        // Pull all of the IP history, this could take a while
1203
 
        $sql = "SELECT * FROM `ip_history`";
 
1203
        $sql        = "SELECT * FROM `ip_history`";
1204
1204
        $db_results = Dba::read($sql);
1205
1205
 
1206
1206
        $ip_history = array();
1207
1207
 
1208
1208
        while ($row = Dba::fetch_assoc($db_results)) {
1209
 
            $row['ip'] = long2ip($row['ip']);
 
1209
            $row['ip']    = long2ip($row['ip']);
1210
1210
            $ip_history[] = $row;
1211
1211
        }
1212
1212
 
1214
1214
        $sql = "TRUNCATE `ip_history`";
1215
1215
        Dba::write($sql);
1216
1216
 
1217
 
        $sql = "ALTER TABLE `ip_history` CHANGE `ip` `ip` VARBINARY( 255 ) NULL";
 
1217
        $sql    = "ALTER TABLE `ip_history` CHANGE `ip` `ip` VARBINARY( 255 ) NULL";
1218
1218
        $retval = Dba::write($sql) ? $retval : false;
1219
1219
 
1220
 
        $sql = "ALTER TABLE `ip_history` ADD `agent` VARCHAR ( 255 ) NULL AFTER `date`";
 
1220
        $sql    = "ALTER TABLE `ip_history` ADD `agent` VARCHAR ( 255 ) NULL AFTER `date`";
1221
1221
        $retval = Dba::write($sql) ? $retval : false;
1222
1222
 
1223
1223
        // Reinsert the old rows
1224
1224
        foreach ($ip_history as $row) {
1225
 
            $ip = Dba::escape(inet_pton($row['ip']));
 
1225
            $ip  = Dba::escape(inet_pton($row['ip']));
1226
1226
            $sql = "INSERT INTO `ip_history` (`user`,`ip`,`date`,`agent`) " .
1227
1227
                "VALUES ('" . $row['user'] . "','" . $ip . "','" . $row['date'] . "',NULL)";
1228
1228
            Dba::write($sql);
1229
1229
        }
1230
1230
 
1231
1231
        // First pull all of their current ACL's
1232
 
        $sql = "SELECT * FROM `access_list`";
 
1232
        $sql        = "SELECT * FROM `access_list`";
1233
1233
        $db_results = Dba::read($sql);
1234
1234
 
1235
1235
        $acl_information = array();
1236
1236
 
1237
1237
        while ($row = Dba::fetch_assoc($db_results)) {
1238
 
            $row['start'] = long2ip($row['start']);
1239
 
            $row['end'] = long2ip($row['end']);
 
1238
            $row['start']      = long2ip($row['start']);
 
1239
            $row['end']        = long2ip($row['end']);
1240
1240
            $acl_information[] = $row;
1241
1241
        }
1242
1242
 
1244
1244
        Dba::write($sql);
1245
1245
 
1246
1246
        // Make the changes to the database
1247
 
        $sql = "ALTER TABLE `access_list` CHANGE `start` `start` VARBINARY( 255 ) NOT NULL";
1248
 
        $retval = Dba::write($sql) ? $retval : false;
1249
 
 
1250
 
        $sql = "ALTER TABLE `access_list` CHANGE `end` `end` VARBINARY( 255 ) NOT NULL";
1251
 
        $retval = Dba::write($sql) ? $retval : false;
1252
 
 
1253
 
        $sql = "ALTER TABLE `access_list` DROP `dns`";
1254
 
        $retval = Dba::write($sql) ? $retval : false;
1255
 
 
1256
 
        $sql = "ALTER TABLE `access_list` ADD `enabled` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `key`";
 
1247
        $sql    = "ALTER TABLE `access_list` CHANGE `start` `start` VARBINARY( 255 ) NOT NULL";
 
1248
        $retval = Dba::write($sql) ? $retval : false;
 
1249
 
 
1250
        $sql    = "ALTER TABLE `access_list` CHANGE `end` `end` VARBINARY( 255 ) NOT NULL";
 
1251
        $retval = Dba::write($sql) ? $retval : false;
 
1252
 
 
1253
        $sql    = "ALTER TABLE `access_list` DROP `dns`";
 
1254
        $retval = Dba::write($sql) ? $retval : false;
 
1255
 
 
1256
        $sql    = "ALTER TABLE `access_list` ADD `enabled` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `key`";
1257
1257
        $retval = Dba::write($sql) ? $retval : false;
1258
1258
 
1259
1259
        // If we had nothing in there before add some base ALLOW ALL stuff as
1260
1260
        // we're going to start defaulting Access Control on.
1261
1261
        if (!count($acl_information)) {
1262
1262
            $v6_start = Dba::escape(inet_pton('::'));
1263
 
            $v6_end = Dba::escape(inet_pton('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'));
 
1263
            $v6_end   = Dba::escape(inet_pton('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'));
1264
1264
            $v4_start = Dba::escape(inet_pton('0.0.0.0'));
1265
 
            $v4_end = Dba::escape(inet_pton('255.255.255.255'));
1266
 
            $sql = "INSERT INTO `access_list` (`name`,`level`,`start`,`end`,`key`,`user`,`type`,`enabled`) " .
 
1265
            $v4_end   = Dba::escape(inet_pton('255.255.255.255'));
 
1266
            $sql      = "INSERT INTO `access_list` (`name`,`level`,`start`,`end`,`key`,`user`,`type`,`enabled`) " .
1267
1267
                "VALUES ('DEFAULTv4','75','$v4_start','$v4_end',NULL,'-1','interface','1')";
1268
1268
            Dba::write($sql);
1269
1269
            $sql = "INSERT INTO `access_list` (`name`,`level`,`start`,`end`,`key`,`user`,`type`,`enabled`) " .
1279
1279
 
1280
1280
        foreach ($acl_information as $row) {
1281
1281
            $row['start'] = Dba::escape(inet_pton($row['start']));
1282
 
            $row['end'] = Dba::escape(inet_pton($row['end']));
1283
 
            $row['key'] = Dba::escape($row['key']);
1284
 
            $sql = "INSERT INTO `access_list` (`name`,`level`,`start`,`end`,`key`,`user`,`type`,`enabled`) " .
 
1282
            $row['end']   = Dba::escape(inet_pton($row['end']));
 
1283
            $row['key']   = Dba::escape($row['key']);
 
1284
            $sql          = "INSERT INTO `access_list` (`name`,`level`,`start`,`end`,`key`,`user`,`type`,`enabled`) " .
1285
1285
                "VALUES ('" . Dba::escape($row['name']) . "','" . intval($row['level']) .
1286
1286
                "','" . $row['start'] . "','" . $row['end'] . "','" . $row['key'] . "','" . intval($row['user']) . "','" .
1287
1287
                $row['type'] . "','1')";
1316
1316
            ") ENGINE = MYISAM ";
1317
1317
        $retval = Dba::write($sql) ? $retval : false;
1318
1318
 
1319
 
        $sql = "ALTER TABLE `access_list` ADD INDEX ( `enabled` )";
1320
 
        $retval = Dba::write($sql) ? $retval : false;
1321
 
 
1322
 
        $sql = "ALTER TABLE `video` ADD INDEX ( `file` )";
1323
 
        $retval = Dba::write($sql) ? $retval : false;
1324
 
 
1325
 
        $sql = "ALTER TABLE `video` ADD INDEX ( `enabled` )";
1326
 
        $retval = Dba::write($sql) ? $retval : false;
1327
 
 
1328
 
        $sql = "ALTER TABLE `video` ADD INDEX ( `title` )";
 
1319
        $sql    = "ALTER TABLE `access_list` ADD INDEX ( `enabled` )";
 
1320
        $retval = Dba::write($sql) ? $retval : false;
 
1321
 
 
1322
        $sql    = "ALTER TABLE `video` ADD INDEX ( `file` )";
 
1323
        $retval = Dba::write($sql) ? $retval : false;
 
1324
 
 
1325
        $sql    = "ALTER TABLE `video` ADD INDEX ( `enabled` )";
 
1326
        $retval = Dba::write($sql) ? $retval : false;
 
1327
 
 
1328
        $sql    = "ALTER TABLE `video` ADD INDEX ( `title` )";
1329
1329
        $retval = Dba::write($sql) ? $retval : false;
1330
1330
 
1331
1331
        return $retval;
1365
1365
        Dba::write($sql);
1366
1366
 
1367
1367
        // Remove dead column
1368
 
        $sql = "ALTER TABLE `playlist_data` DROP `dynamic_song`";
 
1368
        $sql    = "ALTER TABLE `playlist_data` DROP `dynamic_song`";
1369
1369
        $retval = Dba::write($sql) ? $retval : false;
1370
1370
 
1371
 
        $sql = "ALTER TABLE `playlist` DROP `genre`";
 
1371
        $sql    = "ALTER TABLE `playlist` DROP `genre`";
1372
1372
        $retval = Dba::write($sql) ? $retval : false;
1373
1373
 
1374
1374
        // Add track item to tmp_playlist_data so we can order this stuff manually
1375
 
        $sql = "ALTER TABLE `tmp_playlist_data` ADD `track` INT ( 11 ) UNSIGNED NULL";
 
1375
        $sql    = "ALTER TABLE `tmp_playlist_data` ADD `track` INT ( 11 ) UNSIGNED NULL";
1376
1376
        $retval = Dba::write($sql) ? $retval : false;
1377
1377
 
1378
 
        $sql = "DROP TABLE `genre`";
 
1378
        $sql    = "DROP TABLE `genre`";
1379
1379
        $retval = Dba::write($sql) ? $retval : false;
1380
1380
 
1381
1381
        // Clean up the catalog and add last_clean to it
1382
 
        $sql = "ALTER TABLE `catalog` ADD `last_clean` INT ( 11 ) UNSIGNED NULL AFTER `last_update`";
 
1382
        $sql    = "ALTER TABLE `catalog` ADD `last_clean` INT ( 11 ) UNSIGNED NULL AFTER `last_update`";
1383
1383
        $retval = Dba::write($sql) ? $retval : false;
1384
1384
 
1385
 
        $sql = "ALTER TABLE `catalog` DROP `add_path`";
 
1385
        $sql    = "ALTER TABLE `catalog` DROP `add_path`";
1386
1386
        $retval = Dba::write($sql) ? $retval : false;
1387
1387
 
1388
1388
        $sql = "CREATE TABLE `dynamic_playlist` (" .
1417
1417
    public static function update_350008()
1418
1418
    {
1419
1419
        $retval = true;
1420
 
        $sql = "ALTER TABLE `now_playing` CHANGE `song_id` `object_id` INT( 11 ) UNSIGNED NOT NULL";
1421
 
        $retval = Dba::write($sql) ? $retval : false;
1422
 
 
1423
 
        $sql = "ALTER TABLE `now_playing` ADD `object_type` VARCHAR ( 255 ) NOT NULL AFTER `object_id`";
1424
 
        $retval = Dba::write($sql) ? $retval : false;
1425
 
 
1426
 
        $sql = "ALTER TABLE `now_playing` ADD INDEX ( `expire` )";
1427
 
        $retval = Dba::write($sql) ? $retval : false;
1428
 
 
1429
 
        $sql = "ALTER TABLE `video` ADD `addition_time` INT( 11 ) UNSIGNED NOT NULL AFTER `mime`";
1430
 
        $retval = Dba::write($sql) ? $retval : false;
1431
 
 
1432
 
        $sql = "ALTER TABLE `video` ADD `update_time` INT( 11 ) UNSIGNED NULL AFTER `addition_time`";
1433
 
        $retval = Dba::write($sql) ? $retval : false;
1434
 
 
1435
 
        $sql = "ALTER TABLE `video` ADD INDEX (`addition_time`)";
1436
 
        $retval = Dba::write($sql) ? $retval : false;
1437
 
 
1438
 
        $sql = "ALTER TABLE `video` ADD INDEX (`update_time`)";
1439
 
        $retval = Dba::write($sql) ? $retval : false;
1440
 
 
1441
 
        $sql = "ALTER TABLE `song` DROP `hash`";
 
1420
        $sql    = "ALTER TABLE `now_playing` CHANGE `song_id` `object_id` INT( 11 ) UNSIGNED NOT NULL";
 
1421
        $retval = Dba::write($sql) ? $retval : false;
 
1422
 
 
1423
        $sql    = "ALTER TABLE `now_playing` ADD `object_type` VARCHAR ( 255 ) NOT NULL AFTER `object_id`";
 
1424
        $retval = Dba::write($sql) ? $retval : false;
 
1425
 
 
1426
        $sql    = "ALTER TABLE `now_playing` ADD INDEX ( `expire` )";
 
1427
        $retval = Dba::write($sql) ? $retval : false;
 
1428
 
 
1429
        $sql    = "ALTER TABLE `video` ADD `addition_time` INT( 11 ) UNSIGNED NOT NULL AFTER `mime`";
 
1430
        $retval = Dba::write($sql) ? $retval : false;
 
1431
 
 
1432
        $sql    = "ALTER TABLE `video` ADD `update_time` INT( 11 ) UNSIGNED NULL AFTER `addition_time`";
 
1433
        $retval = Dba::write($sql) ? $retval : false;
 
1434
 
 
1435
        $sql    = "ALTER TABLE `video` ADD INDEX (`addition_time`)";
 
1436
        $retval = Dba::write($sql) ? $retval : false;
 
1437
 
 
1438
        $sql    = "ALTER TABLE `video` ADD INDEX (`update_time`)";
 
1439
        $retval = Dba::write($sql) ? $retval : false;
 
1440
 
 
1441
        $sql    = "ALTER TABLE `song` DROP `hash`";
1442
1442
        $retval = Dba::write($sql) ? $retval : false;
1443
1443
 
1444
1444
        return $retval;
1454
1454
    {
1455
1455
        $retval = true;
1456
1456
 
1457
 
        $sql = "ALTER TABLE `album` ADD `mbid` CHAR ( 36 ) AFTER `prefix`";
1458
 
        $retval = Dba::write($sql) ? $retval : false;
1459
 
 
1460
 
        $sql = "ALTER TABLE `artist` ADD `mbid` CHAR ( 36 ) AFTER `prefix`";
1461
 
        $retval = Dba::write($sql) ? $retval : false;
1462
 
 
1463
 
        $sql = "ALTER TABLE `song` ADD `mbid` CHAR ( 36 ) AFTER `track`";
 
1457
        $sql    = "ALTER TABLE `album` ADD `mbid` CHAR ( 36 ) AFTER `prefix`";
 
1458
        $retval = Dba::write($sql) ? $retval : false;
 
1459
 
 
1460
        $sql    = "ALTER TABLE `artist` ADD `mbid` CHAR ( 36 ) AFTER `prefix`";
 
1461
        $retval = Dba::write($sql) ? $retval : false;
 
1462
 
 
1463
        $sql    = "ALTER TABLE `song` ADD `mbid` CHAR ( 36 ) AFTER `track`";
1464
1464
        $retval = Dba::write($sql) ? $retval : false;
1465
1465
 
1466
1466
        // Remove any RIO related information from the database as the plugin has been removed
1483
1483
    {
1484
1484
        $retval = true;
1485
1485
        // Drop the key from catalog and ACL
1486
 
        $sql = "ALTER TABLE `catalog` DROP `key`";
 
1486
        $sql    = "ALTER TABLE `catalog` DROP `key`";
1487
1487
        $retval = Dba::write($sql) ? $retval : false;
1488
1488
 
1489
 
        $sql = "ALTER TABLE `access_list` DROP `key`";
 
1489
        $sql    = "ALTER TABLE `access_list` DROP `key`";
1490
1490
        $retval = Dba::write($sql) ? $retval : false;
1491
1491
 
1492
1492
        // Add in Username / Password for catalog - to be used for remote catalogs
1493
 
        $sql = "ALTER TABLE `catalog` ADD `remote_username` VARCHAR ( 255 ) AFTER `catalog_type`";
 
1493
        $sql    = "ALTER TABLE `catalog` ADD `remote_username` VARCHAR ( 255 ) AFTER `catalog_type`";
1494
1494
        $retval = Dba::write($sql) ? $retval : false;
1495
1495
 
1496
 
        $sql = "ALTER TABLE `catalog` ADD `remote_password` VARCHAR ( 255 ) AFTER `remote_username`";
 
1496
        $sql    = "ALTER TABLE `catalog` ADD `remote_password` VARCHAR ( 255 ) AFTER `remote_username`";
1497
1497
        $retval = Dba::write($sql) ? $retval : false;
1498
1498
 
1499
1499
        // Adjust the Filename field in song, make it gi-normous. If someone has
1500
1500
        // anything close to this file length, they seriously need to reconsider
1501
1501
        // what they are doing.
1502
 
        $sql = "ALTER TABLE `song` CHANGE `file` `file` VARCHAR ( 4096 )";
1503
 
        $retval = Dba::write($sql) ? $retval : false;
1504
 
 
1505
 
        $sql = "ALTER TABLE `video` CHANGE `file` `file` VARCHAR ( 4096 )";
1506
 
        $retval = Dba::write($sql) ? $retval : false;
1507
 
 
1508
 
        $sql = "ALTER TABLE `live_stream` CHANGE `url` `url` VARCHAR ( 4096 )";
 
1502
        $sql    = "ALTER TABLE `song` CHANGE `file` `file` VARCHAR ( 4096 )";
 
1503
        $retval = Dba::write($sql) ? $retval : false;
 
1504
 
 
1505
        $sql    = "ALTER TABLE `video` CHANGE `file` `file` VARCHAR ( 4096 )";
 
1506
        $retval = Dba::write($sql) ? $retval : false;
 
1507
 
 
1508
        $sql    = "ALTER TABLE `live_stream` CHANGE `url` `url` VARCHAR ( 4096 )";
1509
1509
        $retval = Dba::write($sql) ? $retval : false;
1510
1510
 
1511
1511
        // Index the Artist, Album, and Song tables for fulltext searches.
1512
 
        $sql = "ALTER TABLE `artist` ADD FULLTEXT(`name`)";
1513
 
        $retval = Dba::write($sql) ? $retval : false;
1514
 
 
1515
 
        $sql = "ALTER TABLE `album` ADD FULLTEXT(`name`)";
1516
 
        $retval = Dba::write($sql) ? $retval : false;
1517
 
 
1518
 
        $sql = "ALTER TABLE `song` ADD FULLTEXT(`title`)";
 
1512
        $sql    = "ALTER TABLE `artist` ADD FULLTEXT(`name`)";
 
1513
        $retval = Dba::write($sql) ? $retval : false;
 
1514
 
 
1515
        $sql    = "ALTER TABLE `album` ADD FULLTEXT(`name`)";
 
1516
        $retval = Dba::write($sql) ? $retval : false;
 
1517
 
 
1518
        $sql    = "ALTER TABLE `song` ADD FULLTEXT(`title`)";
1519
1519
        $retval = Dba::write($sql) ? $retval : false;
1520
1520
 
1521
1521
        // Now add in the min_object_count preference and the random_method
1565
1565
                    $row['object_id'] . "')";
1566
1566
                Dba::write($sql);
1567
1567
            }
1568
 
            $sql = "DROP TABLE `" . $type . "_data`";
 
1568
            $sql    = "DROP TABLE `" . $type . "_data`";
1569
1569
            $retval = Dba::write($sql) ? $retval : false;
1570
1570
        }
1571
1571
 
1592
1592
    {
1593
1593
        $retval = true;
1594
1594
 
1595
 
        $sql = "DROP TABLE IF EXISTS `tmp_browse`";
 
1595
        $sql    = "DROP TABLE IF EXISTS `tmp_browse`";
1596
1596
        $retval = Dba::write($sql) ? $retval : false;
1597
1597
 
1598
1598
        $sql = "CREATE TABLE `tmp_browse` (" .
1634
1634
     */
1635
1635
    public static function update_360008()
1636
1636
    {
1637
 
        $retval = true;
 
1637
        $retval          = true;
1638
1638
        $remote_username = false;
1639
1639
        $remote_password = false;
1640
1640
 
1641
 
        $sql = "DESCRIBE `catalog`";
 
1641
        $sql        = "DESCRIBE `catalog`";
1642
1642
        $db_results = Dba::read($sql);
1643
1643
 
1644
1644
        while ($row = Dba::fetch_assoc($db_results)) {
1652
1652
 
1653
1653
        if (!$remote_username) {
1654
1654
            // Add in Username / Password for catalog - to be used for remote catalogs
1655
 
            $sql = "ALTER TABLE `catalog` ADD `remote_username` VARCHAR ( 255 ) AFTER `catalog_type`";
 
1655
            $sql    = "ALTER TABLE `catalog` ADD `remote_username` VARCHAR ( 255 ) AFTER `catalog_type`";
1656
1656
            $retval = Dba::write($sql) ? $retval : false;
1657
1657
        }
1658
1658
        if (!$remote_password) {
1659
 
            $sql = "ALTER TABLE `catalog` ADD `remote_password` VARCHAR ( 255 ) AFTER `remote_username`";
 
1659
            $sql    = "ALTER TABLE `catalog` ADD `remote_password` VARCHAR ( 255 ) AFTER `remote_username`";
1660
1660
            $retval = Dba::write($sql) ? $retval : false;
1661
1661
        }
1662
1662
 
1761
1761
 
1762
1762
        $id = Dba::insert_id();
1763
1763
 
1764
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
1764
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
1765
1765
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1766
1766
 
1767
1767
        return $retval;
1782
1782
 
1783
1783
        $id = Dba::insert_id();
1784
1784
 
1785
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
1785
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
1786
1786
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1787
1787
 
1788
1788
        return $retval;
1822
1822
 
1823
1823
        $id = Dba::insert_id();
1824
1824
 
1825
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
1825
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
1826
1826
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1827
1827
 
1828
1828
        return $retval;
1843
1843
 
1844
1844
        $id = Dba::insert_id();
1845
1845
 
1846
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
1846
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
1847
1847
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1848
1848
 
1849
1849
        return $retval;
1858
1858
    {
1859
1859
        $retval = true;
1860
1860
 
1861
 
        $sql = "SELECT `id`, `catalog_type`, `path`, `remote_username`, `remote_password` FROM `catalog`";
 
1861
        $sql        = "SELECT `id`, `catalog_type`, `path`, `remote_username`, `remote_password` FROM `catalog`";
1862
1862
        $db_results = Dba::read($sql);
1863
1863
 
1864
1864
        $c = Catalog::create_catalog_type('local');
1868
1868
 
1869
1869
        while ($results = Dba::fetch_assoc($db_results)) {
1870
1870
            if ($results['catalog_type'] == 'local') {
1871
 
                $sql = "INSERT INTO `catalog_local` (`path`, `catalog_id`) VALUES (?, ?)";
 
1871
                $sql    = "INSERT INTO `catalog_local` (`path`, `catalog_id`) VALUES (?, ?)";
1872
1872
                $retval = Dba::write($sql, array($results['path'], $results['id'])) ? $retval : false;
1873
1873
            } elseif ($results['catalog_type'] == 'remote') {
1874
 
                $sql = "INSERT INTO `catalog_remote` (`uri`, `username`, `password`, `catalog_id`) VALUES (?, ?, ?, ?)";
 
1874
                $sql    = "INSERT INTO `catalog_remote` (`uri`, `username`, `password`, `catalog_id`) VALUES (?, ?, ?, ?)";
1875
1875
                $retval = Dba::write($sql, array($results['path'], $results['remote_username'], $results['remote_password'], $results['id'])) ? $retval : false;
1876
1876
            }
1877
1877
        }
1878
1878
 
1879
 
        $sql = "ALTER TABLE `catalog` DROP `path`, DROP `remote_username`, DROP `remote_password`";
1880
 
        $retval = Dba::write($sql) ? $retval : false;
1881
 
 
1882
 
        $sql = "ALTER TABLE `catalog` MODIFY COLUMN `catalog_type` varchar(128)";
1883
 
        $retval = Dba::write($sql) ? $retval : false;
1884
 
 
1885
 
        $sql = "UPDATE `artist` SET `mbid` = null WHERE `mbid` = ''";
1886
 
        $retval = Dba::write($sql) ? $retval : false;
1887
 
 
1888
 
        $sql = "UPDATE `album` SET `mbid` = null WHERE `mbid` = ''";
1889
 
        $retval = Dba::write($sql) ? $retval : false;
1890
 
 
1891
 
        $sql = "UPDATE `song` SET `mbid` = null WHERE `mbid` = ''";
 
1879
        $sql    = "ALTER TABLE `catalog` DROP `path`, DROP `remote_username`, DROP `remote_password`";
 
1880
        $retval = Dba::write($sql) ? $retval : false;
 
1881
 
 
1882
        $sql    = "ALTER TABLE `catalog` MODIFY COLUMN `catalog_type` varchar(128)";
 
1883
        $retval = Dba::write($sql) ? $retval : false;
 
1884
 
 
1885
        $sql    = "UPDATE `artist` SET `mbid` = null WHERE `mbid` = ''";
 
1886
        $retval = Dba::write($sql) ? $retval : false;
 
1887
 
 
1888
        $sql    = "UPDATE `album` SET `mbid` = null WHERE `mbid` = ''";
 
1889
        $retval = Dba::write($sql) ? $retval : false;
 
1890
 
 
1891
        $sql    = "UPDATE `song` SET `mbid` = null WHERE `mbid` = ''";
1892
1892
        $retval = Dba::write($sql) ? $retval : false;
1893
1893
 
1894
1894
        return $retval;
1903
1903
    {
1904
1904
        $retval = true;
1905
1905
 
1906
 
        $sql = "ALTER TABLE `now_playing` ADD `insertion` INT (11) AFTER `expire`";
 
1906
        $sql    = "ALTER TABLE `now_playing` ADD `insertion` INT (11) AFTER `expire`";
1907
1907
        $retval = Dba::write($sql) ? $retval : false;
1908
1908
 
1909
1909
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
1912
1912
 
1913
1913
        $id = Dba::insert_id();
1914
1914
 
1915
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
1915
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
1916
1916
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1917
1917
 
1918
1918
        return $retval;
1927
1927
    {
1928
1928
        $retval = true;
1929
1929
 
1930
 
        $sql = "ALTER TABLE `live_stream` ADD `codec` VARCHAR(32) NULL AFTER `catalog`, DROP `frequency`, DROP `call_sign`";
 
1930
        $sql    = "ALTER TABLE `live_stream` ADD `codec` VARCHAR(32) NULL AFTER `catalog`, DROP `frequency`, DROP `call_sign`";
1931
1931
        $retval = Dba::write($sql) ? $retval : false;
1932
1932
 
1933
 
        $sql = "ALTER TABLE `stream_playlist` ADD `codec` VARCHAR(32) NULL AFTER `time`";
 
1933
        $sql    = "ALTER TABLE `stream_playlist` ADD `codec` VARCHAR(32) NULL AFTER `time`";
1934
1934
        $retval = Dba::write($sql) ? $retval : false;
1935
1935
 
1936
1936
        return $retval;
1951
1951
 
1952
1952
        $id = Dba::insert_id();
1953
1953
 
1954
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
1954
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
1955
1955
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1956
1956
 
1957
1957
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
1960
1960
 
1961
1961
        $id = Dba::insert_id();
1962
1962
 
1963
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
1963
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
1964
1964
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1965
1965
 
1966
1966
        return $retval;
1992
1992
 
1993
1993
        $id = Dba::insert_id();
1994
1994
 
1995
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
1995
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
1996
1996
        $retval = Dba::write($sql, array($id)) ? $retval : false;
1997
1997
 
1998
1998
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2001
2001
 
2002
2002
        $id = Dba::insert_id();
2003
2003
 
2004
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2004
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2005
2005
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2006
2006
 
2007
2007
        return $retval;
2033
2033
 
2034
2034
        $id = Dba::insert_id();
2035
2035
 
2036
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2036
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2037
2037
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2038
2038
 
2039
2039
        return $retval;
2051
2051
        $retval = true;
2052
2052
 
2053
2053
        // Update previous update preference
2054
 
        $sql = "UPDATE `preference` SET `name`='allow_personal_info_now', `description`='Personal information visibility - Now playing' WHERE `name`='allow_personal_info'";
 
2054
        $sql    = "UPDATE `preference` SET `name`='allow_personal_info_now', `description`='Personal information visibility - Now playing' WHERE `name`='allow_personal_info'";
2055
2055
        $retval = Dba::write($sql) ? $retval : false;
2056
2056
 
2057
2057
        // Insert new recently played preference
2058
2058
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2059
2059
            "VALUES ('allow_personal_info_recent','1','Personal information visibility - Recently played / actions',25,'boolean','interface')";
2060
2060
        $retval = Dba::write($sql) ? $retval : false;
2061
 
        $id = Dba::insert_id();
2062
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2061
        $id     = Dba::insert_id();
 
2062
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2063
2063
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2064
2064
 
2065
2065
        // Insert streaming time preference
2066
2066
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2067
2067
            "VALUES ('allow_personal_info_time','1','Personal information visibility - Recently played - Allow to show streaming date/time',25,'boolean','interface')";
2068
2068
        $retval = Dba::write($sql) ? $retval : false;
2069
 
        $id = Dba::insert_id();
2070
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2069
        $id     = Dba::insert_id();
 
2070
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2071
2071
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2072
2072
 
2073
2073
        // Insert streaming agent preference
2074
2074
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2075
2075
            "VALUES ('allow_personal_info_agent','1','Personal information visibility - Recently played - Allow to show streaming agent',25,'boolean','interface')";
2076
2076
        $retval = Dba::write($sql) ? $retval : false;
2077
 
        $id = Dba::insert_id();
2078
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2077
        $id     = Dba::insert_id();
 
2078
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2079
2079
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2080
2080
 
2081
2081
        return $retval;
2137
2137
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2138
2138
            "VALUES ('ui_fixed','0','Fix header position on compatible themes',25,'boolean','interface')";
2139
2139
        $retval = Dba::write($sql) ? $retval : false;
2140
 
        $id = Dba::insert_id();
2141
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2140
        $id     = Dba::insert_id();
 
2141
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2142
2142
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2143
2143
 
2144
2144
        return $retval;
2156
2156
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2157
2157
            "VALUES ('autoupdate','1','Check for Ampache updates automatically',25,'boolean','system')";
2158
2158
        $retval = Dba::write($sql) ? $retval : false;
2159
 
        $id = Dba::insert_id();
2160
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2159
        $id     = Dba::insert_id();
 
2160
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2161
2161
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2162
2162
 
2163
2163
        Preference::insert('autoupdate_lastcheck','AutoUpdate last check time','','25','string','internal');
2176
2176
    {
2177
2177
        $retval = true;
2178
2178
 
2179
 
        $sql = "ALTER TABLE `song_data` ADD `waveform` MEDIUMBLOB NULL AFTER `language`";
 
2179
        $sql    = "ALTER TABLE `song_data` ADD `waveform` MEDIUMBLOB NULL AFTER `language`";
2180
2180
        $retval = Dba::write($sql) ? $retval : false;
2181
2181
 
2182
 
        $sql = "ALTER TABLE `user_shout` ADD `data` VARCHAR(256) NULL AFTER `object_type`";
 
2182
        $sql    = "ALTER TABLE `user_shout` ADD `data` VARCHAR(256) NULL AFTER `object_type`";
2183
2183
        $retval = Dba::write($sql) ? $retval : false;
2184
2184
 
2185
2185
        return $retval;
2197
2197
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2198
2198
            "VALUES ('webplayer_confirmclose','0','Confirmation when closing current playing window',25,'boolean','interface')";
2199
2199
        $retval = Dba::write($sql) ? $retval : false;
2200
 
        $id = Dba::insert_id();
2201
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2200
        $id     = Dba::insert_id();
 
2201
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2202
2202
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2203
2203
 
2204
2204
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2205
2205
            "VALUES ('webplayer_pausetabs','1','Auto-pause betweens tabs',25,'boolean','interface')";
2206
2206
        $retval = Dba::write($sql) ? $retval : false;
2207
 
        $id = Dba::insert_id();
2208
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2207
        $id     = Dba::insert_id();
 
2208
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2209
2209
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2210
2210
 
2211
2211
        return $retval;
2223
2223
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2224
2224
            "VALUES ('stream_beautiful_url','0','Enable url rewriting',100,'boolean','streaming')";
2225
2225
        $retval = Dba::write($sql) ? $retval : false;
2226
 
        $id = Dba::insert_id();
2227
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2226
        $id     = Dba::insert_id();
 
2227
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2228
2228
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2229
2229
 
2230
2230
        return $retval;
2239
2239
    {
2240
2240
        $retval = true;
2241
2241
 
2242
 
        $sql = "DELETE FROM `preference` WHERE `name` LIKE 'ellipse_threshold_%'";
2243
 
        $retval = Dba::write($sql) ? $retval : false;
2244
 
 
2245
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'min_object_count'";
2246
 
        $retval = Dba::write($sql) ? $retval : false;
2247
 
 
2248
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'bandwidth'";
2249
 
        $retval = Dba::write($sql) ? $retval : false;
2250
 
 
2251
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'features'";
2252
 
        $retval = Dba::write($sql) ? $retval : false;
2253
 
 
2254
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'tags_userlist'";
 
2242
        $sql    = "DELETE FROM `preference` WHERE `name` LIKE 'ellipse_threshold_%'";
 
2243
        $retval = Dba::write($sql) ? $retval : false;
 
2244
 
 
2245
        $sql    = "DELETE FROM `preference` WHERE `name` = 'min_object_count'";
 
2246
        $retval = Dba::write($sql) ? $retval : false;
 
2247
 
 
2248
        $sql    = "DELETE FROM `preference` WHERE `name` = 'bandwidth'";
 
2249
        $retval = Dba::write($sql) ? $retval : false;
 
2250
 
 
2251
        $sql    = "DELETE FROM `preference` WHERE `name` = 'features'";
 
2252
        $retval = Dba::write($sql) ? $retval : false;
 
2253
 
 
2254
        $sql    = "DELETE FROM `preference` WHERE `name` = 'tags_userlist'";
2255
2255
        $retval = Dba::write($sql) ? $retval : false;
2256
2256
 
2257
2257
        return $retval;
2287
2287
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2288
2288
            "VALUES ('share','0','Allow Share',100,'boolean','system')";
2289
2289
        $retval = Dba::write($sql) ? $retval : false;
2290
 
        $id = Dba::insert_id();
2291
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2290
        $id     = Dba::insert_id();
 
2291
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2292
2292
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2293
2293
 
2294
2294
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2295
2295
            "VALUES ('share_expire','7','Share links default expiration days (0=never)',100,'integer','system')";
2296
2296
        $retval = Dba::write($sql) ? $retval : false;
2297
 
        $id = Dba::insert_id();
2298
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'7')";
 
2297
        $id     = Dba::insert_id();
 
2298
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'7')";
2299
2299
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2300
2300
 
2301
2301
        return $retval;
2310
2310
    {
2311
2311
        $retval = true;
2312
2312
 
2313
 
        $sql = "ALTER TABLE `wanted` ADD `artist_mbid` varchar(1369) CHARACTER SET utf8 NULL AFTER `artist`";
2314
 
        $retval = Dba::write($sql) ? $retval : false;
2315
 
 
2316
 
        $sql = "ALTER TABLE `wanted` MODIFY `artist` int(11) NULL";
2317
 
        $retval = Dba::write($sql) ? $retval : false;
2318
 
 
2319
 
        $sql = "ALTER TABLE `song_preview` ADD `artist_mbid` varchar(1369) CHARACTER SET utf8 NULL AFTER `artist`";
2320
 
        $retval = Dba::write($sql) ? $retval : false;
2321
 
 
2322
 
        $sql = "ALTER TABLE `song_preview` MODIFY `artist` int(11) NULL";
 
2313
        $sql    = "ALTER TABLE `wanted` ADD `artist_mbid` varchar(1369) CHARACTER SET utf8 NULL AFTER `artist`";
 
2314
        $retval = Dba::write($sql) ? $retval : false;
 
2315
 
 
2316
        $sql    = "ALTER TABLE `wanted` MODIFY `artist` int(11) NULL";
 
2317
        $retval = Dba::write($sql) ? $retval : false;
 
2318
 
 
2319
        $sql    = "ALTER TABLE `song_preview` ADD `artist_mbid` varchar(1369) CHARACTER SET utf8 NULL AFTER `artist`";
 
2320
        $retval = Dba::write($sql) ? $retval : false;
 
2321
 
 
2322
        $sql   = "ALTER TABLE `song_preview` MODIFY `artist` int(11) NULL";
2323
2323
        $retval= Dba::write($sql) ? $retval : false;
2324
2324
 
2325
2325
        return $retval;
2421
2421
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2422
2422
            "VALUES ('slideshow_time','0','Artist slideshow inactivity time',25,'integer','interface')";
2423
2423
        $retval = Dba::write($sql) ? $retval : false;
2424
 
        $id = Dba::insert_id();
2425
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2424
        $id     = Dba::insert_id();
 
2425
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2426
2426
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2427
2427
 
2428
2428
        return $retval;
2487
2487
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2488
2488
            "VALUES ('broadcast_by_default','0','Broadcast web player by default',25,'boolean','streaming')";
2489
2489
        $retval = Dba::write($sql) ? $retval : false;
2490
 
        $id = Dba::insert_id();
2491
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2490
        $id     = Dba::insert_id();
 
2491
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2492
2492
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2493
2493
 
2494
2494
        return $retval;
2517
2517
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2518
2518
            "VALUES ('concerts_limit_future','0','Limit number of future events',25,'integer','interface')";
2519
2519
        $retval = Dba::write($sql) ? $retval : false;
2520
 
        $id = Dba::insert_id();
2521
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2520
        $id     = Dba::insert_id();
 
2521
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2522
2522
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2523
2523
 
2524
2524
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2525
2525
            "VALUES ('concerts_limit_past','0','Limit number of past events',25,'integer','interface')";
2526
2526
        $retval = Dba::write($sql) ? $retval : false;
2527
 
        $id = Dba::insert_id();
2528
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2527
        $id     = Dba::insert_id();
 
2528
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2529
2529
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2530
2530
 
2531
2531
        return $retval;
2543
2543
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2544
2544
            "VALUES ('album_group','0','Album - Group multiple disks',25,'boolean','interface')";
2545
2545
        $retval = Dba::write($sql) ? $retval : false;
2546
 
        $id = Dba::insert_id();
2547
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2546
        $id     = Dba::insert_id();
 
2547
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2548
2548
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2549
2549
 
2550
2550
        return $retval;
2562
2562
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2563
2563
            "VALUES ('topmenu','0','Top menu',25,'boolean','interface')";
2564
2564
        $retval = Dba::write($sql) ? $retval : false;
2565
 
        $id = Dba::insert_id();
2566
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2565
        $id     = Dba::insert_id();
 
2566
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2567
2567
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2568
2568
 
2569
2569
        return $retval;
2583
2583
            return true;
2584
2584
        }
2585
2585
 
2586
 
        $htaccess_play_file = AmpConfig::get('prefix') . '/play/.htaccess';
2587
 
        $htaccess_rest_file = AmpConfig::get('prefix') . '/rest/.htaccess';
 
2586
        $htaccess_play_file    = AmpConfig::get('prefix') . '/play/.htaccess';
 
2587
        $htaccess_rest_file    = AmpConfig::get('prefix') . '/rest/.htaccess';
2588
2588
        $htaccess_channel_file = AmpConfig::get('prefix') . '/channel/.htaccess';
2589
2589
 
2590
2590
        $ret = true;
2648
2648
    {
2649
2649
        $retval = true;
2650
2650
 
2651
 
        $sql = "DROP TABLE dynamic_playlist";
 
2651
        $sql    = "DROP TABLE dynamic_playlist";
2652
2652
        $retval = Dba::write($sql) ? $retval : false;
2653
 
        $sql = "DROP TABLE dynamic_playlist_data";
 
2653
        $sql    = "DROP TABLE dynamic_playlist_data";
2654
2654
        $retval = Dba::write($sql) ? $retval : false;
2655
2655
 
2656
 
        $sql = "ALTER TABLE `user_vote` ADD `sid` varchar(256) CHARACTER SET utf8 NULL AFTER `date`";
 
2656
        $sql    = "ALTER TABLE `user_vote` ADD `sid` varchar(256) CHARACTER SET utf8 NULL AFTER `date`";
2657
2657
        $retval = Dba::write($sql) ? $retval : false;
2658
2658
 
2659
2659
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2660
2660
            "VALUES ('demo_clear_sessions','0','Clear democratic votes of expired user sessions',25,'boolean','playlist')";
2661
2661
        $retval = Dba::write($sql) ? $retval : false;
2662
 
        $id = Dba::insert_id();
2663
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2662
        $id     = Dba::insert_id();
 
2663
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2664
2664
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2665
2665
 
2666
2666
        return $retval;
2689
2689
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2690
2690
            "VALUES ('show_donate','1','Show donate button in footer',25,'boolean','interface')";
2691
2691
        $retval = Dba::write($sql) ? $retval : false;
2692
 
        $id = Dba::insert_id();
2693
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2692
        $id     = Dba::insert_id();
 
2693
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2694
2694
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2695
2695
 
2696
2696
        return $retval;
2708
2708
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2709
2709
            "VALUES ('upload_catalog','-1','Uploads catalog destination',75,'integer','system')";
2710
2710
        $retval = Dba::write($sql) ? $retval : false;
2711
 
        $id = Dba::insert_id();
2712
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'-1')";
 
2711
        $id     = Dba::insert_id();
 
2712
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'-1')";
2713
2713
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2714
2714
 
2715
2715
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2716
2716
            "VALUES ('allow_upload','0','Allow users to upload media',75,'boolean','system')";
2717
2717
        $retval = Dba::write($sql) ? $retval : false;
2718
 
        $id = Dba::insert_id();
2719
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2718
        $id     = Dba::insert_id();
 
2719
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2720
2720
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2721
2721
 
2722
2722
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2723
2723
            "VALUES ('upload_subdir','1','Upload: create a subdirectory per user (recommended)',75,'boolean','system')";
2724
2724
        $retval = Dba::write($sql) ? $retval : false;
2725
 
        $id = Dba::insert_id();
2726
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2725
        $id     = Dba::insert_id();
 
2726
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2727
2727
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2728
2728
 
2729
2729
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2730
2730
            "VALUES ('upload_user_artist','0','Upload: consider the user sender as the track\'s artist',75,'boolean','system')";
2731
2731
        $retval = Dba::write($sql) ? $retval : false;
2732
 
        $id = Dba::insert_id();
2733
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2732
        $id     = Dba::insert_id();
 
2733
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2734
2734
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2735
2735
 
2736
2736
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2737
2737
            "VALUES ('upload_script','','Upload: run the following script after upload (current directory = upload target directory)',75,'string','system')";
2738
2738
        $retval = Dba::write($sql) ? $retval : false;
2739
 
        $id = Dba::insert_id();
2740
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
2739
        $id     = Dba::insert_id();
 
2740
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
2741
2741
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2742
2742
 
2743
2743
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2744
2744
            "VALUES ('upload_allow_edit','1','Upload: allow users to edit uploaded songs',75,'boolean','system')";
2745
2745
        $retval = Dba::write($sql) ? $retval : false;
2746
 
        $id = Dba::insert_id();
2747
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2746
        $id     = Dba::insert_id();
 
2747
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2748
2748
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2749
2749
 
2750
 
        $sql = "ALTER TABLE `artist` ADD `user` int(11) NULL AFTER `last_update`";
 
2750
        $sql    = "ALTER TABLE `artist` ADD `user` int(11) NULL AFTER `last_update`";
2751
2751
        $retval = Dba::write($sql) ? $retval : false;
2752
2752
 
2753
2753
        $sql = "CREATE TABLE `license` (" .
2758
2758
            "PRIMARY KEY (`id`)) ENGINE = MYISAM";
2759
2759
        $retval = Dba::write($sql) ? $retval : false;
2760
2760
 
2761
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('_default', '')";
2762
 
        $retval = Dba::write($sql) ? $retval : false;
2763
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY', 'https://creativecommons.org/licenses/by/3.0/')";
2764
 
        $retval = Dba::write($sql) ? $retval : false;
2765
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC', 'https://creativecommons.org/licenses/by-nc/3.0/')";
2766
 
        $retval = Dba::write($sql) ? $retval : false;
2767
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC ND', 'https://creativecommons.org/licenses/by-nc-nd/3.0/')";
2768
 
        $retval = Dba::write($sql) ? $retval : false;
2769
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC SA', 'https://creativecommons.org/licenses/by-nc-sa/3.0/')";
2770
 
        $retval = Dba::write($sql) ? $retval : false;
2771
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY ND', 'https://creativecommons.org/licenses/by-nd/3.0/')";
2772
 
        $retval = Dba::write($sql) ? $retval : false;
2773
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY SA', 'https://creativecommons.org/licenses/by-sa/3.0/')";
2774
 
        $retval= Dba::write($sql) ? $retval : false;
2775
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Licence Art Libre', 'http://artlibre.org/licence/lal/')";
2776
 
        $retval = Dba::write($sql) ? $retval : false;
2777
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Yellow OpenMusic', 'http://openmusic.linuxtag.org/yellow.html')";
2778
 
        $retval = Dba::write($sql) ? $retval : false;
2779
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Green OpenMusic', 'http://openmusic.linuxtag.org/green.html')";
2780
 
        $retval= Dba::write($sql) ? $retval : false;
2781
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Gnu GPL Art', 'http://gnuart.org/english/gnugpl.html')";
2782
 
        $retval = Dba::write($sql) ? $retval : false;
2783
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('WTFPL', 'https://en.wikipedia.org/wiki/WTFPL')";
2784
 
        $retval = Dba::write($sql) ? $retval : false;
2785
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('FMPL', 'http://www.fmpl.org/fmpl.html')";
2786
 
        $retval = Dba::write($sql) ? $retval : false;
2787
 
        $sql = "INSERT INTO `license`(`name`, `external_link`) VALUES ('C Reaction', 'http://morne.free.fr/Necktar7/creaction.htm')";
 
2761
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('_default', '')";
 
2762
        $retval = Dba::write($sql) ? $retval : false;
 
2763
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY', 'https://creativecommons.org/licenses/by/3.0/')";
 
2764
        $retval = Dba::write($sql) ? $retval : false;
 
2765
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC', 'https://creativecommons.org/licenses/by-nc/3.0/')";
 
2766
        $retval = Dba::write($sql) ? $retval : false;
 
2767
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC ND', 'https://creativecommons.org/licenses/by-nc-nd/3.0/')";
 
2768
        $retval = Dba::write($sql) ? $retval : false;
 
2769
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY NC SA', 'https://creativecommons.org/licenses/by-nc-sa/3.0/')";
 
2770
        $retval = Dba::write($sql) ? $retval : false;
 
2771
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY ND', 'https://creativecommons.org/licenses/by-nd/3.0/')";
 
2772
        $retval = Dba::write($sql) ? $retval : false;
 
2773
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('CC BY SA', 'https://creativecommons.org/licenses/by-sa/3.0/')";
 
2774
        $retval = Dba::write($sql) ? $retval : false;
 
2775
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Licence Art Libre', 'http://artlibre.org/licence/lal/')";
 
2776
        $retval = Dba::write($sql) ? $retval : false;
 
2777
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Yellow OpenMusic', 'http://openmusic.linuxtag.org/yellow.html')";
 
2778
        $retval = Dba::write($sql) ? $retval : false;
 
2779
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Green OpenMusic', 'http://openmusic.linuxtag.org/green.html')";
 
2780
        $retval = Dba::write($sql) ? $retval : false;
 
2781
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('Gnu GPL Art', 'http://gnuart.org/english/gnugpl.html')";
 
2782
        $retval = Dba::write($sql) ? $retval : false;
 
2783
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('WTFPL', 'https://en.wikipedia.org/wiki/WTFPL')";
 
2784
        $retval = Dba::write($sql) ? $retval : false;
 
2785
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('FMPL', 'http://www.fmpl.org/fmpl.html')";
 
2786
        $retval = Dba::write($sql) ? $retval : false;
 
2787
        $sql    = "INSERT INTO `license`(`name`, `external_link`) VALUES ('C Reaction', 'http://morne.free.fr/Necktar7/creaction.htm')";
2788
2788
        $retval = Dba::write($sql) ? $retval : false;
2789
2789
 
2790
 
        $sql = "ALTER TABLE `song` ADD `user_upload` int(11) NULL AFTER `addition_time`, ADD `license` int(11) NULL AFTER `user_upload`";
 
2790
        $sql    = "ALTER TABLE `song` ADD `user_upload` int(11) NULL AFTER `addition_time`, ADD `license` int(11) NULL AFTER `user_upload`";
2791
2791
        $retval = Dba::write($sql) ? $retval : false;
2792
2792
 
2793
2793
        return $retval;
2829
2829
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2830
2830
            "VALUES ('daap_backend','0','Use DAAP backend',100,'boolean','system')";
2831
2831
        $retval = Dba::write($sql) ? $retval : false;
2832
 
        $id = Dba::insert_id();
2833
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2832
        $id     = Dba::insert_id();
 
2833
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2834
2834
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2835
2835
 
2836
2836
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2837
2837
            "VALUES ('daap_pass','','DAAP backend password',100,'string','system')";
2838
2838
        $retval = Dba::write($sql) ? $retval : false;
2839
 
        $id = Dba::insert_id();
2840
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
2839
        $id     = Dba::insert_id();
 
2840
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
2841
2841
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2842
2842
 
2843
2843
        $sql = "CREATE TABLE `daap_session` (" .
2862
2862
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2863
2863
            "VALUES ('upnp_backend','0','Use UPnP backend',100,'boolean','system')";
2864
2864
        $retval = Dba::write($sql) ? $retval : false;
2865
 
        $id = Dba::insert_id();
2866
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
2865
        $id     = Dba::insert_id();
 
2866
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
2867
2867
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2868
2868
 
2869
2869
        return $retval;
2931
2931
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2932
2932
            "VALUES ('allow_video','1','Allow video features',25,'integer','system')";
2933
2933
        $retval = Dba::write($sql) ? $retval : false;
2934
 
        $id = Dba::insert_id();
2935
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2934
        $id     = Dba::insert_id();
 
2935
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2936
2936
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2937
2937
 
2938
 
        $sql = "ALTER TABLE `image` ADD `kind` VARCHAR( 32 ) NULL DEFAULT 'default' AFTER `object_id`";
 
2938
        $sql    = "ALTER TABLE `image` ADD `kind` VARCHAR( 32 ) NULL DEFAULT 'default' AFTER `object_id`";
2939
2939
        $retval = Dba::write($sql) ? $retval : false;
2940
2940
 
2941
2941
        return $retval;
2961
2961
    {
2962
2962
        $retval = true;
2963
2963
 
2964
 
        $sql = "ALTER TABLE `tvshow` ADD `prefix` varchar(32) CHARACTER SET utf8 NULL";
 
2964
        $sql    = "ALTER TABLE `tvshow` ADD `prefix` varchar(32) CHARACTER SET utf8 NULL";
2965
2965
        $retval = Dba::write($sql) ? $retval : false;
2966
2966
 
2967
 
        $sql = "ALTER TABLE `movie` ADD `prefix` varchar(32) CHARACTER SET utf8 NULL";
 
2967
        $sql    = "ALTER TABLE `movie` ADD `prefix` varchar(32) CHARACTER SET utf8 NULL";
2968
2968
        $retval = Dba::write($sql) ? $retval : false;
2969
2969
 
2970
2970
        return $retval;
2979
2979
    {
2980
2980
        $retval = true;
2981
2981
 
2982
 
        $sql = "ALTER TABLE `album` ADD `release_type` varchar(32) CHARACTER SET utf8 NULL";
2983
 
        $retval = Dba::write($sql) ? $retval : false;
2984
 
 
2985
 
        $sql = "ALTER TABLE `song` ADD `composer` varchar(256) CHARACTER SET utf8 NULL, ADD `channels` MEDIUMINT NULL";
2986
 
        $retval = Dba::write($sql) ? $retval : false;
2987
 
 
2988
 
        $sql = "ALTER TABLE `video` ADD `channels` MEDIUMINT NULL, ADD `bitrate` MEDIUMINT(8) NULL, ADD `video_bitrate` MEDIUMINT(8) NULL, ADD `display_x` MEDIUMINT(8) NULL, ADD `display_y` MEDIUMINT(8) NULL, ADD `frame_rate` FLOAT NULL, ADD `mode` ENUM( 'abr', 'vbr', 'cbr' ) NULL DEFAULT 'cbr'";
 
2982
        $sql    = "ALTER TABLE `album` ADD `release_type` varchar(32) CHARACTER SET utf8 NULL";
 
2983
        $retval = Dba::write($sql) ? $retval : false;
 
2984
 
 
2985
        $sql    = "ALTER TABLE `song` ADD `composer` varchar(256) CHARACTER SET utf8 NULL, ADD `channels` MEDIUMINT NULL";
 
2986
        $retval = Dba::write($sql) ? $retval : false;
 
2987
 
 
2988
        $sql    = "ALTER TABLE `video` ADD `channels` MEDIUMINT NULL, ADD `bitrate` MEDIUMINT(8) NULL, ADD `video_bitrate` MEDIUMINT(8) NULL, ADD `display_x` MEDIUMINT(8) NULL, ADD `display_y` MEDIUMINT(8) NULL, ADD `frame_rate` FLOAT NULL, ADD `mode` ENUM( 'abr', 'vbr', 'cbr' ) NULL DEFAULT 'cbr'";
2989
2989
        $retval = Dba::write($sql) ? $retval : false;
2990
2990
 
2991
2991
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
2992
2992
            "VALUES ('album_release_type','1','Album - Group per release type',25,'boolean','interface')";
2993
2993
        $retval = Dba::write($sql) ? $retval : false;
2994
 
        $id = Dba::insert_id();
2995
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
2994
        $id     = Dba::insert_id();
 
2995
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
2996
2996
        $retval = Dba::write($sql, array($id)) ? $retval : false;
2997
2997
 
2998
2998
        return $retval;
3007
3007
    {
3008
3008
        $retval = true;
3009
3009
 
3010
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'iframes'";
 
3010
        $sql    = "DELETE FROM `preference` WHERE `name` = 'iframes'";
3011
3011
        $retval = Dba::write($sql) ? $retval : false;
3012
3012
 
3013
3013
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3014
3014
            "VALUES ('ajax_load','1','Ajax page load',25,'boolean','interface')";
3015
3015
        $retval = Dba::write($sql) ? $retval : false;
3016
 
        $id = Dba::insert_id();
3017
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3016
        $id     = Dba::insert_id();
 
3017
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3018
3018
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3019
3019
 
3020
3020
        return $retval;
3028
3028
    public static function update_370014()
3029
3029
    {
3030
3030
        $retval = true;
3031
 
        $sql="ALTER TABLE `video` CHANGE COLUMN `release_date` `release_date` INT NULL DEFAULT NULL" ;
 
3031
        $sql    ="ALTER TABLE `video` CHANGE COLUMN `release_date` `release_date` INT NULL DEFAULT NULL" ;
3032
3032
        $retval = Dba::write($sql) ? $retval : false;
3033
3033
        return $retval;
3034
3034
    }
3041
3041
    public static function update_370015()
3042
3042
    {
3043
3043
        $retval = true;
3044
 
        $sql = "CREATE TABLE `session_remember` (" .
 
3044
        $sql    = "CREATE TABLE `session_remember` (" .
3045
3045
            "`username` varchar(16) NOT NULL," .
3046
3046
            "`token` varchar(32) NOT NULL," .
3047
3047
            "`expire` int(11) NULL," .
3062
3062
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3063
3063
            "VALUES ('direct_play_limit','0','Limit direct play to maximum media count',25,'integer','interface')";
3064
3064
        $retval = Dba::write($sql) ? $retval : false;
3065
 
        $id = Dba::insert_id();
3066
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
3065
        $id     = Dba::insert_id();
 
3066
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
3067
3067
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3068
3068
 
3069
3069
        return $retval;
3081
3081
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3082
3082
            "VALUES ('home_moment_albums','1','Show Albums of the moment at home page',25,'integer','interface')";
3083
3083
        $retval = Dba::write($sql) ? $retval : false;
3084
 
        $id = Dba::insert_id();
3085
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3084
        $id     = Dba::insert_id();
 
3085
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3086
3086
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3087
3087
 
3088
3088
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3089
3089
            "VALUES ('home_moment_videos','1','Show Videos of the moment at home page',25,'integer','interface')";
3090
3090
        $retval = Dba::write($sql) ? $retval : false;
3091
 
        $id = Dba::insert_id();
3092
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3091
        $id     = Dba::insert_id();
 
3092
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3093
3093
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3094
3094
 
3095
3095
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3096
3096
            "VALUES ('home_recently_played','1','Show Recently Played at home page',25,'integer','interface')";
3097
3097
        $retval = Dba::write($sql) ? $retval : false;
3098
 
        $id = Dba::insert_id();
3099
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3098
        $id     = Dba::insert_id();
 
3099
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3100
3100
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3101
3101
 
3102
3102
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3103
3103
            "VALUES ('home_now_playing','1','Show Now Playing at home page',25,'integer','interface')";
3104
3104
        $retval = Dba::write($sql) ? $retval : false;
3105
 
        $id = Dba::insert_id();
3106
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3105
        $id     = Dba::insert_id();
 
3106
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3107
3107
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3108
3108
 
3109
3109
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3110
3110
            "VALUES ('custom_logo','','Custom logo url',25,'string','interface')";
3111
3111
        $retval = Dba::write($sql) ? $retval : false;
3112
 
        $id = Dba::insert_id();
3113
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
3112
        $id     = Dba::insert_id();
 
3113
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
3114
3114
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3115
3115
 
3116
3116
        return $retval;
3124
3124
    public static function update_370018()
3125
3125
    {
3126
3126
        $retval = true;
3127
 
        $sql = "CREATE TABLE IF NOT EXISTS `tag_merge` ( " .
 
3127
        $sql    = "CREATE TABLE IF NOT EXISTS `tag_merge` ( " .
3128
3128
               "`tag_id` int(11) NOT NULL, " .
3129
3129
               "`merged_to` int(11) NOT NULL, " .
3130
3130
               "FOREIGN KEY (`tag_id`) REFERENCES `tag` (`tag_id`), " .
3138
3138
               "WHERE `merged_to` IS NOT NULL";
3139
3139
        $retval = Dba::write($sql) ? $retval : false;
3140
3140
 
3141
 
        $sql = "ALTER TABLE `tag` DROP COLUMN `merged_to`";
 
3141
        $sql    = "ALTER TABLE `tag` DROP COLUMN `merged_to`";
3142
3142
        $retval = Dba::write($sql) ? $retval : false;
3143
3143
 
3144
 
        $sql = "ALTER TABLE `tag` ADD COLUMN `is_hidden` TINYINT(1) NOT NULL DEFAULT 0";
 
3144
        $sql    = "ALTER TABLE `tag` ADD COLUMN `is_hidden` TINYINT(1) NOT NULL DEFAULT 0";
3145
3145
        $retval = Dba::write($sql) ? $retval : false;
3146
3146
 
3147
3147
        return $retval;
3159
3159
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3160
3160
            "VALUES ('album_release_type_sort','album,ep,live,single','Album - Group per release type Sort',25,'string','interface')";
3161
3161
        $retval = Dba::write($sql) ? $retval : false;
3162
 
        $id = Dba::insert_id();
3163
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'album,ep,live,single')";
 
3162
        $id     = Dba::insert_id();
 
3163
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'album,ep,live,single')";
3164
3164
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3165
3165
 
3166
3166
        return $retval;
3178
3178
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3179
3179
            "VALUES ('browser_notify','1','WebPlayer browser notifications',25,'integer','interface')";
3180
3180
        $retval = Dba::write($sql) ? $retval : false;
3181
 
        $id = Dba::insert_id();
3182
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3181
        $id     = Dba::insert_id();
 
3182
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3183
3183
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3184
3184
 
3185
3185
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3186
3186
            "VALUES ('browser_notify_timeout','10','WebPlayer browser notifications timeout (seconds)',25,'integer','interface')";
3187
3187
        $retval = Dba::write($sql) ? $retval : false;
3188
 
        $id = Dba::insert_id();
3189
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'10')";
 
3188
        $id     = Dba::insert_id();
 
3189
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'10')";
3190
3190
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3191
3191
 
3192
3192
        return $retval;
3201
3201
    {
3202
3202
        $retval = true;
3203
3203
 
3204
 
        $sql = "ALTER TABLE `rating` CHANGE `object_type` `object_type` ENUM ('artist','album','song','stream','video','playlist','tvshow','tvshow_season') NULL";
 
3204
        $sql    = "ALTER TABLE `rating` CHANGE `object_type` `object_type` ENUM ('artist','album','song','stream','video','playlist','tvshow','tvshow_season') NULL";
3205
3205
        $retval = Dba::write($sql) ? $retval : false;
3206
3206
 
3207
3207
        return $retval;
3216
3216
    {
3217
3217
        $retval = true;
3218
3218
 
3219
 
        $sql = "ALTER TABLE `session` ADD COLUMN `geo_latitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_longitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_name` VARCHAR(255) NULL";
 
3219
        $sql    = "ALTER TABLE `session` ADD COLUMN `geo_latitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_longitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_name` VARCHAR(255) NULL";
3220
3220
        $retval = Dba::write($sql) ? $retval : false;
3221
3221
 
3222
 
        $sql = "ALTER TABLE `object_count` ADD COLUMN `geo_latitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_longitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_name` VARCHAR(255) NULL";
 
3222
        $sql    = "ALTER TABLE `object_count` ADD COLUMN `geo_latitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_longitude` DECIMAL(10,6) NULL, ADD COLUMN `geo_name` VARCHAR(255) NULL";
3223
3223
        $retval = Dba::write($sql) ? $retval : false;
3224
3224
 
3225
3225
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3226
3226
            "VALUES ('geolocation','0','Allow geolocation',25,'integer','options')";
3227
3227
        $retval = Dba::write($sql) ? $retval : false;
3228
 
        $id = Dba::insert_id();
3229
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
3228
        $id     = Dba::insert_id();
 
3229
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
3230
3230
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3231
3231
 
3232
3232
        return $retval;
3247
3247
 
3248
3248
        $id = Dba::insert_id();
3249
3249
 
3250
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3250
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3251
3251
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3252
3252
 
3253
3253
        return $retval;
3262
3262
    {
3263
3263
        $retval = true;
3264
3264
 
3265
 
        $sql = "ALTER TABLE `object_count` ADD COLUMN `count_type` VARCHAR(16) NOT NULL DEFAULT 'stream'";
 
3265
        $sql    = "ALTER TABLE `object_count` ADD COLUMN `count_type` VARCHAR(16) NOT NULL DEFAULT 'stream'";
3266
3266
        $retval = Dba::write($sql) ? $retval : false;
3267
3267
 
3268
3268
        return $retval;
3277
3277
    {
3278
3278
        $retval = true;
3279
3279
 
3280
 
        $sql = "ALTER TABLE `user` ADD COLUMN `state` VARCHAR(64) NULL, ADD COLUMN `city` VARCHAR(64) NULL";
 
3280
        $sql    = "ALTER TABLE `user` ADD COLUMN `state` VARCHAR(64) NULL, ADD COLUMN `city` VARCHAR(64) NULL";
3281
3281
        $retval = Dba::write($sql) ? $retval : false;
3282
3282
 
3283
3283
        return $retval;
3309
3309
    {
3310
3310
        $retval = true;
3311
3311
 
3312
 
        $sql = "ALTER TABLE `album` ADD `album_artist` int(11) unsigned DEFAULT NULL AFTER `release_type`";
3313
 
        $retval = Dba::write($sql) ? $retval : false;
3314
 
 
3315
 
        $sql = "UPDATE `album` INNER JOIN `song` ON `album`.`id` = `song`.`album` SET `album`.`album_artist` = `song`.`album_artist`";
3316
 
        $retval = Dba::write($sql) ? $retval : false;
3317
 
 
3318
 
        $sql = "ALTER TABLE `song` DROP COLUMN `album_artist`";
 
3312
        $sql    = "ALTER TABLE `album` ADD `album_artist` int(11) unsigned DEFAULT NULL AFTER `release_type`";
 
3313
        $retval = Dba::write($sql) ? $retval : false;
 
3314
 
 
3315
        $sql    = "UPDATE `album` INNER JOIN `song` ON `album`.`id` = `song`.`album` SET `album`.`album_artist` = `song`.`album_artist`";
 
3316
        $retval = Dba::write($sql) ? $retval : false;
 
3317
 
 
3318
        $sql    = "ALTER TABLE `song` DROP COLUMN `album_artist`";
3319
3319
        $retval = Dba::write($sql) ? $retval : false;
3320
3320
 
3321
3321
        return $retval;
3333
3333
    {
3334
3334
        $retval = true;
3335
3335
 
3336
 
        $sql = "select `width` from `image`";
 
3336
        $sql        = "select `width` from `image`";
3337
3337
        $db_results = Dba::read($sql);
3338
3338
        if (!$db_results) {
3339
 
            $sql = "ALTER TABLE `image` ADD `width` int(4) unsigned DEFAULT 0 AFTER `image`";
 
3339
            $sql    = "ALTER TABLE `image` ADD `width` int(4) unsigned DEFAULT 0 AFTER `image`";
3340
3340
            $retval = Dba::write($sql) ? $retval : false;
3341
3341
        }
3342
3342
 
3343
 
        $sql = "select `height` from `image`";
 
3343
        $sql        = "select `height` from `image`";
3344
3344
        $db_results = Dba::read($sql);
3345
3345
        if (!$db_results) {
3346
 
            $sql = "ALTER TABLE `image` ADD `height` int(4) unsigned DEFAULT 0 AFTER `width`";
 
3346
            $sql    = "ALTER TABLE `image` ADD `height` int(4) unsigned DEFAULT 0 AFTER `width`";
3347
3347
            $retval = Dba::write($sql) ? $retval : false;
3348
3348
        }
3349
3349
 
3360
3360
    {
3361
3361
        $retval = true;
3362
3362
 
3363
 
        $sql = "ALTER TABLE `image` CHANGE COLUMN `image` `image` MEDIUMBLOB NULL DEFAULT NULL" ;
 
3363
        $sql    = "ALTER TABLE `image` CHANGE COLUMN `image` `image` MEDIUMBLOB NULL DEFAULT NULL" ;
3364
3364
        $retval = Dba::write($sql) ? $retval : false;
3365
3365
 
3366
3366
        return $retval;
3378
3378
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3379
3379
            "VALUES ('upload_allow_remove','1','Upload: allow users to remove uploaded songs',75,'boolean','system')";
3380
3380
        $retval = Dba::write($sql) ? $retval : false;
3381
 
        $id = Dba::insert_id();
3382
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
 
3381
        $id     = Dba::insert_id();
 
3382
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'1')";
3383
3383
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3384
3384
 
3385
3385
        return $retval;
3397
3397
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3398
3398
            "VALUES ('custom_login_logo','','Custom login page logo url',75,'string','interface')";
3399
3399
        $retval = Dba::write($sql) ? $retval : false;
3400
 
        $id = Dba::insert_id();
3401
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
3400
        $id     = Dba::insert_id();
 
3401
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
3402
3402
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3403
3403
 
3404
3404
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3405
3405
            "VALUES ('custom_favicon','','Custom favicon url',75,'string','interface')";
3406
3406
        $retval = Dba::write($sql) ? $retval : false;
3407
 
        $id = Dba::insert_id();
3408
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
3407
        $id     = Dba::insert_id();
 
3408
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
3409
3409
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3410
3410
 
3411
3411
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3412
3412
            "VALUES ('custom_text_footer','','Custom text footer',75,'string','interface')";
3413
3413
        $retval = Dba::write($sql) ? $retval : false;
3414
 
        $id = Dba::insert_id();
3415
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'')";
 
3414
        $id     = Dba::insert_id();
 
3415
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'')";
3416
3416
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3417
3417
 
3418
3418
        return $retval;
3430
3430
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3431
3431
            "VALUES ('webdav_backend','0','Use WebDAV backend',100,'boolean','system')";
3432
3432
        $retval = Dba::write($sql) ? $retval : false;
3433
 
        $id = Dba::insert_id();
3434
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
3433
        $id     = Dba::insert_id();
 
3434
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
3435
3435
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3436
3436
 
3437
3437
        return $retval;
3501
3501
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3502
3502
            "VALUES ('notify_email','0','Receive notifications by email (shouts, private messages, ...)',25,'boolean','options')";
3503
3503
        $retval = Dba::write($sql) ? $retval : false;
3504
 
        $id = Dba::insert_id();
3505
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
 
3504
        $id     = Dba::insert_id();
 
3505
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'0')";
3506
3506
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3507
3507
 
3508
3508
        return $retval;
3517
3517
    {
3518
3518
        $retval = true;
3519
3519
 
3520
 
        $sql = "ALTER TABLE `user` ADD COLUMN `fullname_public` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
 
3520
        $sql    = "ALTER TABLE `user` ADD COLUMN `fullname_public` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0'";
3521
3521
        $retval = Dba::write($sql) ? $retval : false;
3522
3522
 
3523
3523
        return $retval;
3532
3532
    {
3533
3533
        $retval = true;
3534
3534
 
3535
 
        $sql = "ALTER TABLE `stream_playlist` ADD COLUMN `track_num` SMALLINT( 5 ) DEFAULT '0'";
 
3535
        $sql    = "ALTER TABLE `stream_playlist` ADD COLUMN `track_num` SMALLINT( 5 ) DEFAULT '0'";
3536
3536
        $retval = Dba::write($sql) ? $retval : false;
3537
3537
 
3538
3538
        return $retval;
3547
3547
    {
3548
3548
        $retval = true;
3549
3549
 
3550
 
        $sql = "DELETE FROM `preference` WHERE `name` = 'http_port'";
 
3550
        $sql    = "DELETE FROM `preference` WHERE `name` = 'http_port'";
3551
3551
        $retval = Dba::write($sql) ? $retval : false;
3552
3552
 
3553
3553
        return $retval;
3565
3565
        $sql = "INSERT INTO `preference` (`name`,`value`,`description`,`level`,`type`,`catagory`) " .
3566
3566
            "VALUES ('theme_color','dark','Theme color',0,'special','interface')";
3567
3567
        $retval = Dba::write($sql) ? $retval : false;
3568
 
        $id = Dba::insert_id();
3569
 
        $sql = "INSERT INTO `user_preference` VALUES (-1,?,'dark')";
 
3568
        $id     = Dba::insert_id();
 
3569
        $sql    = "INSERT INTO `user_preference` VALUES (-1,?,'dark')";
3570
3570
        $retval = Dba::write($sql, array($id)) ? $retval : false;
3571
3571
 
3572
3572
        return $retval;
3581
3581
    {
3582
3582
        $retval = true;
3583
3583
 
3584
 
        $sql = "UPDATE `preference` SET `name` = 'transcode_bitrate' WHERE `preference`.`name` = 'sample_rate'";
 
3584
        $sql    = "UPDATE `preference` SET `name` = 'transcode_bitrate' WHERE `preference`.`name` = 'sample_rate'";
3585
3585
        $retval = Dba::write($sql) ? $retval : false;
3586
3586
 
3587
3587
        return $retval;