Commit Graph

273 Commits

Author SHA1 Message Date
James 09d50e7e25 Merge branch 'airtime-2.0.x' of dev.sourcefabric.org:airtime into airtime-2.0.x 2012-01-12 16:38:21 -05:00
James 04b592b831 CC-3245: upgrade 1.8->2.0 cause error in show recorder
- fixed
2012-01-12 16:36:14 -05:00
James 04b48d47cc CC-2977: Never delete files from the database
- Files are marked deleted(file_exists to false) on deletion.
- Dirs are marked removed(removed flag to true) on removal of watched
folder in a usual way. If dir is unmounted, without being removed from
watched list first, it will be marked as not exists(exist flag to false)
- Manage Media Folders will show if dirs exist or not( mounted or not)
- Playlist builder will show if files exists or not
2012-01-11 12:17:48 -05:00
Martin Konecny c3430e5411 -various optimizations 2012-01-09 17:47:58 -05:00
James 61c5355e8a cc-2977: getting close!!! 2012-01-06 15:47:11 -05:00
james c9c6a08a1c CC-3220: Stream Setting: Status box is stuck on waiting if nothing is
changed and click save

- done
- liquidsoap_update_error and liquidsoap_update_connection functions are
combined into one function, liquidsoap_update_status, in various place
- created various telnet commands in liquidsoap( connection check for each
stream, connection status for all streams)
- In liquidsoap, shoutcast stream doesn't use default id. It is more
informative by using id with "shoutcast_stream_#{stream_number}
2011-12-24 10:59:09 -05:00
Naomi Aro 85b2bf6e55 CC-3181 : re-uploaded to soundcloud creates the file name in a different format 2011-12-12 16:04:16 +01:00
Yuchen Wang 343cd8274d SAAS-57: Add LiveChat to Airtime Pro
Forgot to remove the code from ApiController...
2011-12-09 11:25:50 -05:00
Yuchen Wang 201667936c SAAS-57: Add LiveChat to Airtime Pro
Adding code to non-saas side
2011-12-08 16:45:11 -05:00
James 9c65bfeba7 CC-3131: Latency of stream authentication warning in Stream Settings page
- it compares boot time of liquidsoap and the time user clicks on "Save"
on stream setting page. The status only gets updated if the
"boot_time" > "user update time"
- as soon as a user click on save, status is set to "wating"
- since there is no timing issue, quering interval is reduced to 1 sec
2011-11-29 20:15:38 -05:00
Yuchen Wang 370d6e1fba CC-3104: Timezone issues in the widget
Added is_numeric check
2011-11-24 17:08:52 -05:00
Yuchen Wang 276607c302 CC-3104: Timezone issues in the widget
For a previous ticket, I changed the code so that both "Today's Program" widget
and "Now Playing" widget both use the liveInfoAction, but forgot that for "Now Playing" widget, it retrieves
the shows within next 48 hours instead of within end of day today...

Fixed by passing GET parameters to liveInfoAction, specify whether we want to retrieve shows within an
interval or end of day. Also added a GET parameter for specifying the number of shows to display.
2011-11-24 13:54:58 -05:00
James 7ac13d26f0 Merge branch 'devel' of dev.sourcefabric.org:airtime into devel 2011-11-23 14:12:34 -05:00
James ab0dc64ba9 CC-3086: When uploading a file to /tmp filename collisions can occur
- mktemp is used to generate temp name within /tmp dir
- it generate temp file when the file gets uploade to /tmp and then copy to
organize folder as original file name
2011-11-23 14:12:14 -05:00
Yuchen Wang 161fa80d64 CC-3091: Widget "Today's Program" doesn't show any content
It's not showing anything because I thought it's not suppose to display the currently playing show.
Fixed by retrieving the currently playing show along with next shows, and display them.

todayInfoAction is no longer needed since liveInfoAction does the same thing.
2011-11-23 12:00:54 -05:00
Yuchen Wang 72553a257d CC-3066: "Now Playing" Widget doesn't display the currently playing show when it should be
Convert to UTC time before calling model functions
2011-11-21 18:10:29 -05:00
Yuchen Wang 86729475f6 CC-3067: Shows in frontend widgets appear on the wrong day after changing timezone
- Converting times to UTC timezone in ApiController before sending them to model functions

- Added utility functions in DateHelper.php

- GetShowsByDayOfWeek has been removed due to bugs caused by using local timezone
based variable like $day, which represents day of the week in local time, in db query,
which has times saved in UTC timezone. Converting stuff like day of the week from local
to UTC is messy. GetNextShows(...) can do the job so WeekInfoAction now uses it instead
2011-11-21 18:03:56 -05:00
Martin Konecny 2f63a65e03 CC-3054: After recording show, recorded file is not imported properly.
-fixed
2011-11-16 13:34:58 -05:00
Martin Konecny a0217f715f CC-3037: Nowplaying bar not showing current show
-fixed
2011-11-15 16:10:45 -05:00
Martin Konecny f7fb6ddff0 -better naming of show instance functions 2011-11-11 22:24:37 -05:00
Martin Konecny 42cde33648 CC-3030: Repeating shows is broken in devel branch.
-working towards using only DateTime objects
2011-11-11 17:25:49 -05:00
Yuchen Wang 6ffecf80c8 CC-2965: Frontend widget displays shows in UTC time
Not only were frontend widgets showing UTC time,
the SQL query was also comparing UTC timestamp with local timestamps,
causing widgets to display shows in the wrong day, etc.

Another problem was that "On air today" widget was simply calling
GetNextShows which returns shows within next 48 hours.

Fixed by:
1. Under models/Show.php:
In the GetCurrentShow/GetNextShows/GetShowsByDayOfWeek functions,
added code to convert UTC timestamp to local timestamp or vice versa,
depending on which one is more suitable, in SQL queries, thus
removing inconsistency in timezones. Also, before returning query result,
added code to convert result to local timezone.

In GetNextShows, added an optional parameter endTime to limit the interval
of shows to get. This is useful for the "On air today" widget.

2. Under models/DateHelper.php:
Added a few timezone functions to help converting timezones easier in Show.php.

3. Under controller/ApiController.php:
Added todayInfoAction which is to be used by "On Air Today" widget.
2011-11-04 16:57:24 -04:00
Martin Konecny 56edfe4e68 CC-2758: Make airtime-install script Debian/Ubuntu compatible
-uninstall script added
2011-10-28 12:35:58 -04:00
James f2bf92297a CC-2745: Show status of liquidsoap/icecast connection on Stream Settings page
- fixed a case where it was displaying "OK" when liquidsoap was not running
2011-10-23 06:29:06 -04:00
Yuchen Wang d9186a3bf2 CC-2951: Allow users to select the starting day of the week
Added system preference in Preference page for user to select the start day of a week
(defaults to Sunday).

Calendar will utilize this information and update the calendar UI accordingly.
2011-10-19 12:42:22 -04:00
Yuchen Wang d2fe46baf0 CC-2436: Save pulldown settings
For week and day views under Calendar page, save the change to pref db table when
user updates the interval dropdown. Same thing goes for the "show XXX entries"
dropdown found under Playlist Builder page.

When visiting these pages, we retrieves the entry from database for current user
and use those values. Defaults to 30m for interval and 10 entries for "show xxx entries"
if values were never set.
2011-10-18 10:10:35 -04:00
Yuchen Wang 8b2a23b88a CC2646: Set a calendar view default (Day/week/month) that's remembered
Updated the calendar page so that when user chooses a different time scale to display(day/week/month),
the new setting is stored in the pref database. Each user id has its own entry in the database.

When visiting the calendar, we retrieves the entry from database for current user
and show that time scale; defaults to monthly view if no entry found.
2011-10-14 14:17:06 -04:00
james d3833f9a32 CC-2745: Show status of liquidsoap/icecast connection on Stream Settings
page

- initial commit
2011-10-10 20:14:27 -04:00
James c35f77a9aa CC-2932: Recorder: When show is recorded, the file name is generated
with UTC time.

- fixed
- new pybundle is created with 'pytz' package
2011-10-05 17:27:00 -04:00
James 3f495e7532 CC-2795: Give option to set download flag of recorded shows uploaded
to Soundcloud by default

- changed function name
- changed database flag name
2011-10-04 17:38:21 -04:00
martin 7dd14efe27 CC-2750: Ability to query health status for pypo,
liquidsoap, media monitor, and recorder
2011-10-04 15:49:02 -04:00
martin 5190a0c24c Merge branch '1.9.1' into devel
Conflicts:
	airtime_mvc/application/controllers/ApiController.php
	airtime_mvc/application/models/MusicDir.php
	python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py
2011-10-04 13:59:27 -04:00
James b4d4c54c31 CC-2795: Give option to set download flag of recorded shows uploaded
to Soundcloud by default

- fixed name of Soundcloud Model class
2011-10-03 18:02:01 -04:00
James bf15b4cf0d Merge branch '1.9.1' of dev.sourcefabric.org:airtime into 1.9.1 2011-09-29 15:22:40 -04:00
James 3775e5f4a7 CC-2882: Airtime cannot delete watched folder when is been renamed
- done
2011-09-29 15:02:34 -04:00
James 46146d1216 cc-2882: Airtime cannot delete watched folder when is been renamed
- initial commit

Conflicts:

	airtime_mvc/application/models/MusicDir.php
2011-09-29 15:02:30 -04:00
James 1c652b6416 CC-2873: Soundcloud plugin doesn't log any error when there is an error
with soundcloud uploading through api controller

- Changed constant names
- added -1 constant
2011-09-29 10:30:40 -04:00
martin 4e105e6151 CC-2891: Unicode error with metadata that contains unicode strings
-fixed
2011-09-28 16:04:40 -04:00
James 28f1d885f2 Merge branch 'devel' of dev.sourcefabric.org:airtime into devel 2011-09-28 13:46:10 -04:00
James d1542b0d89 CC-2882: Airtime cannot delete watched folder when is been renamed
- done
2011-09-28 13:45:21 -04:00
martin f697e475fd CC-2750: Ability to query health status for pypo, liquidsoap, media monitor, and recorder
-remove icecast monitoring for now
2011-09-28 12:45:19 -04:00
James b1fa8901ca cc-2882: Airtime cannot delete watched folder when is been renamed
- initial commit
2011-09-27 14:49:03 -04:00
martin 9e6a1ebf44 CC-2833: Use ClassLoaders for PHP Files
-autoload DateHelper class
2011-09-26 15:29:12 -04:00
martin b8838a5bda CC-2833: Use ClassLoaders for PHP Files
-autoload AtSoundcloud class
2011-09-26 15:25:03 -04:00
james e1fe877ac6 CC-2873: Use PHP constants
- done
2011-09-25 17:29:57 -04:00
martin 1e9a8a28fe CC-2833: Use ClassLoaders for PHP Files
-Done for class Schedule and ScheduleGroup
2011-09-23 16:50:00 -04:00
martin cd95170b06 CC-2807: Remove AIRTIME_VERSION from constants.php and use the value in the database instead
-done
2011-09-23 16:26:19 -04:00
martin 1dd78d0584 CC-2833: Use ClassLoaders for PHP Files
-Found out ClassLoaders only want one class per file. Moved
 ShowInstance class to its own .php file.
-Merged Show_DAL class into Show class
2011-09-23 12:33:28 -04:00
martin 9bb901945e CC-2833: Use ClassLoaders for PHP Files
-shows.php
2011-09-23 10:54:20 -04:00
James e722ff8c36 CC-2873: soundcloud error log to DB
- fixed
2011-09-22 16:59:13 -04:00
martin c84690adaa Merge branch 'devel' of dev.sourcefabric.org:airtime into devel
Conflicts:
	airtime_mvc/application/controllers/LibraryController.php
2011-09-22 12:25:30 -04:00
martin 2be0960ed5 CC-2833: Use ClassLoaders for PHP Files
-made MusicDir, Playlist and StoredFile autoload
2011-09-22 12:24:17 -04:00
James b3654c62bc Merge branch 'devel' of dev.sourcefabric.org:airtime into devel 2011-09-22 11:48:07 -04:00
James 73dc4b851d CC-2591: Allow upload of any audio clip to Soundcloud
- done
- need more styling
- note there were changes in style.css
2011-09-22 11:47:24 -04:00
martin 046f98db8f CC-2363: Diagnostic screen in Web UI
-everything working
2011-09-22 10:45:43 -04:00
martin 19d61ad780 CC-2363: Diagnostic screen in Web UI
-working with ajax now!
2011-09-19 17:55:26 -04:00
martin 659e412eb7 CC-2750: Ability to query health status for pypo, liquidsoap, media monitor, and recorder
-progress being made
2011-09-16 17:51:28 -04:00
martin 583a5faf72 CC-2750: Ability to query health status for pypo, liquidsoap,
media monitor, and recorder
2011-09-13 18:43:16 -04:00
martin 0546633ac7 CC-2750:Ability to query health status for pypo, liquidsoap, media monitor, and recorder 2011-09-12 17:15:46 -04:00
James 9eb21cb327 Merge branch '1.9.1' into devel
Conflicts:
	VERSION
	airtime_mvc/application/configs/constants.php
	airtime_mvc/application/models/Preference.php
	install_minimal/include/airtime-db-install.php
	install_minimal/include/airtime-upgrade.php
	python_apps/api_clients/api_client.py
2011-08-24 10:30:59 -04:00
martin d7830785df CC-2717: Media Monitor forgets about watched directories after being restarted 2011-08-22 20:41:34 -04:00
martin dd9ef5b9c8 CC-2379: "Add Show" uses browser time instead of server time
-Fixed
2011-08-18 15:44:16 -04:00
James 4f2b2dba6d CC-2607: Abilitiy to adjust stream bitrate, type, etc from the UI
interface

- dummy page "Stream Setting" page for the test
- StreamSetting model is added
- set owner and group as 'pypo' for liquidsoap.cfg
- pypofech handle 'update_stream_setting' command
2011-08-15 16:10:46 -04:00
James 13285fdd63 CC-2607: Ability to adjust stream bitrate, type, etc from UI interface
- created table cc_stream_setting and it's initial entries
- pypo installation will generate liquidsoap.cfg on install time
based on information on cc_stream_setting table
2011-08-12 15:19:30 -04:00
James 9ff5bdaf0f CC-2652: display info about import
- temp commit
2011-08-08 14:44:05 -04:00
Naomi Aro a199585cb9 CC-2647 : Check MD will fit db constraints in Airtime 2011-08-05 15:12:55 -04:00
James 83432e1996 CC-2634: Downloading a file with a non-ASCI name, doesn't
show up those chars

- removed pathinfo() call and manually parsing the basefile name.
2011-08-05 15:09:03 -04:00
James ce0396961d CC-2473: plupload: Cannot upload a 250Mb+ file
- fixed
- we now use chuck to uploade files
2011-07-29 16:45:13 -04:00
Naomi Aro 96284a2a44 CC-2562 : Allow users to convert linked files into watched directories 2011-07-25 16:21:42 +02:00
Naomi Aro d3776f4ea9 CC-2582 : Files with a tracknumber that isn't actually a tracknumber don't get imported properly
adding more metadata checks so it won't have a database insertion issue.
2011-07-22 12:54:42 +02:00
Naomi Aro 7d79fa7b63 CC-2572 : Set Proper Metadata for a recorded show 2011-07-19 19:02:23 +02:00
Naomi Aro 9aa7b7f403 CC-2572 : Set Proper Metadata for a recorded show 2011-07-19 18:36:10 +02:00
martin cc8ec59f89 -updated comments 2011-07-15 19:32:17 -04:00
James 8f1e0a0767 CC-2553: Exception thrown
- fixed
2011-07-15 17:35:16 -04:00
james 4acf835fe1 CC-2536:Should set realpath of directory in MusicDir
- fixed
2011-07-13 09:49:51 -04:00
martin 1411987b01 CC-2534: When copy files into storage folder it says wrong path name
filter all functions via realpath which will make directories consistent
2011-07-12 17:05:40 -04:00
martin 1416274882 CC-2529: Create download file API key
-users who are authenticed via ZEND_AUTH can now preview files
 without using api-key
2011-07-12 14:09:40 -04:00
martin 2c4e2afb8b -removed airtime-clean-storage.php + airtime-import.php
-default created stor dir now has www-data:www-data permission
-created airtime-install.ini file for specifying install defaults
-removed all references to storDir in /etc/airtime/airtime.conf,
 and get value from database instead.
2011-07-11 16:14:34 -04:00
james e47f80802e CC-2524:MusicDir.php: adding error handling
- following functions now handle error and return code and
error message if there is an error:
addDir(), setStorDir(), removeWatchedDir()
- fixed airtime-importy.py to work with new MusicDir functions
2011-07-11 14:00:31 -04:00
james ece84a04c5 Merge branch 'devel' of dev.sourcefabric.org:airtime into devel 2011-07-08 17:46:50 -04:00
james c0a68e20c2 CC-2514:New airtime-import script
- initial commit.
2011-07-08 17:14:01 -04:00
martin 73da294089 CC-2505: Media monitor doesn't delete some tracks
from the Airtime server due character encoding

-fixed
2011-07-07 16:05:34 -04:00
martin df1dec2078 cc-2419: media monitor import on startup
-fixed support for watched dirs
2011-07-04 17:37:05 -04:00
martin c67e711a05 cc-2419: media monitor import on startup
-fixed syntax errors, added more logging.
2011-07-04 15:40:09 -04:00
martin d260c66abc cc-2419: media monitor import on startup
-added multiple dir support
2011-07-04 15:08:02 -04:00
martin 429d8b234c cc-2419: media monitor import on startup
-new method of querying db on startup.
2011-07-04 14:29:09 -04:00
james 75ea77e6a6 CC-2503: replacing UI_MDATA_KEY_TITLE with MDATA_KEY_TITLE
-fixed
2011-07-04 10:00:37 -04:00
martin dc457e79a0 added logging to ApiController::getMediaAction
-Will help us see why files are not sometimes downloaded by pypo.
2011-06-28 23:06:59 -04:00
james 5f9dd83c38 CC-2377:Upload to soundcloud no show name
- fixed
- additional fix: getRealFilePath() doesn't exsist anymore.
Places where it calls getRealFilePath(), replaced with getFilePath()
2011-06-27 11:43:59 -04:00
james 629c3fb1d9 CC-2240:Fix up recorded show function
- fixed
- added getName() function agagin to StoredFile
2011-06-27 11:23:48 -04:00
Naomi Aro bae771790a cc-1799 Human Filesystem
editing recording shows so they work with the new filesystem/file upload.
2011-06-23 21:14:09 +02:00
Naomi Aro 65e647263f cc-1799 Human Readable File System
refactoring media monitor, separate process for file event processing.
2011-06-23 17:33:05 +02:00
Naomi Aro 253eb811c7 Merge branch 'cc-1799-put-airtime-storage-into-a-human-readable-file-naming-convention' into devel
Conflicts:
	airtime_mvc/application/controllers/PreferenceController.php
	airtime_mvc/application/models/Preference.php
	airtime_mvc/application/views/scripts/form/preferences.phtml
	airtime_mvc/public/js/airtime/preferences/preferences.js
2011-06-21 11:20:35 +02:00
Naomi Aro b6888489e0 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
adding music dirs concept to Airtime. New cc_music_dirs table/class.
2011-06-21 10:24:02 +02:00
martin 141002eb49 CC-2404: Downloading a file via the web UI shouldn't guide user away from page.
-fixed
2011-06-20 14:10:33 -04:00
Naomi Aro ea21da6b61 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
recursively copying the audio_samples directory.
2011-06-17 17:54:36 +02:00
Naomi Aro af4ec7b872 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
plupload is now working how I want with moving files.
stub files are added then their metadata updated as the web receives info.
2011-06-14 18:35:07 +02:00
Naomi Aro 17d895861d CC-1799 Put Airtime Storage into a Human Readable File Naming ConventionPut Airtime Storage into a Human Readable File Naming Convention
put initial stub file in when a user uploads via plupload so they aren't wondering why they don't see anything in their playlist builder. Metadata will be updated when the file event completes.
2011-06-14 12:07:21 +02:00
Naomi Aro 84dd5dac62 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
delete is working, can upload from plupload.
2011-06-13 16:41:57 +02:00
Naomi Aro 8d9c0dab1a CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
adding setup to get stor folder etc.
2011-06-13 12:10:25 +02:00
Naomi Aro 71d853567e CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
selecting a mode to prevent some cases where a duplicate could be entered for only 1 file.
2011-06-10 16:43:30 +02:00
Naomi Aro 9da314979e CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
fixing problem with StoredFile::Insert()
2011-06-09 12:57:30 +02:00
Naomi Aro a4b92fe72d CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
regression testing with refactored storedfile, having permission problems unlinking a file.
2011-06-09 11:50:03 +02:00
Naomi Aro 1f9a39f22d CC-1799Put Airtime Storage into a Human Readable File Naming Convention
new API method to check media status.
2011-06-09 10:28:56 +02:00
Naomi Aro 11d18ad8e8 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
can drag a bunch of songs into stor, and they are organized and imported to airtime. Need to fix length property.
2011-06-08 18:24:17 +02:00
Naomi Aro 3c689efe06 CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
check if file is new or exists
2011-06-07 10:39:57 +02:00
Naomi Aro f46cdd3888 Merge branch 'devel' of dev.sourcefabric.org:airtime into devel 2011-06-07 10:00:22 +02:00
james 93562d2319 CC-2362:Recorded show wrong file name
Fixed bug on sending wrong file name to soundcloud
2011-06-06 16:46:32 -04:00
james ff031cde76 CC-2362:Recorded show wrong file name
- removed logging
2011-06-06 14:25:46 -04:00
james 4247f8c7a7 CC-2362:Recorded show wrong file name
- not finished yet. Temp commit
2011-06-06 14:10:12 -04:00
Naomi c30eeaf5bd CC-1799 Put Airtime Storage into a Human Readable File Naming Convention
searching database by filename to retrieve file.
Checking if is supported audio file/temp audio file.
2011-06-06 11:26:15 +02:00
Martin Konecny 28a609c4dd CC-2317: Once uploaded, file size is different than original. 2011-05-24 16:33:26 -04:00
martin ebd93cd55a CC-2287: Files greater than 100MB are not being played
-increased chunk read size
2011-05-20 16:03:31 -04:00
martin 73877b222c CC-2287: Files greater than 100MB are not being played.
-fixed
2011-05-20 14:29:22 -04:00
martin 3416ba20d9 cc-2263: unable to cancel recording show
-made cancelled recorded shows still upload.
2011-05-18 14:33:42 -04:00
martin a48f467de7 cc-2263: unable to cancel recording show.
-almost final check-in. Everything looks good right now...
2011-05-18 14:33:41 -04:00
Naomi 5be039d349 CC-1799 : Live Studio Playout from media library (pytagsfs)
if a tag is edited by easytag, the change is now reflected in airtime database.
2011-05-13 13:25:55 -04:00
Naomi 15a2022418 CC-1799 : Live Studio Playout from media library (pytagsfs)
sending a file's metadata to airtime when it is modified
2011-05-13 13:25:53 -04:00
Naomi 52efc79f8c CC-1799 : Live Studio Playout from media library (pytagsfs)
set up daemontools process for the media monitor script.
2011-05-13 13:25:53 -04:00
martin bc640d38f2 cc-2167-top-panel-doesn't-list-recording-shows 2011-05-10 19:06:35 -04:00
James Moon 95613f40f1 cc-2188: Download action for all media file.
Download action were added in two placese.

1. Playlist Builder. jjmenu now showing 'Download'.
2. Calendar-> Show Content. Click on the file, you will see
Downlaod menu.

Limitation:

File name is set to original file name.
On the ticket it said, file format should be like
"show_name-12012011-2130.mp3". However, in my opinion,
this is only possible, if a user downloads it from
calender->show content. We know what the show names and etc,
but, if the user downloads it from Playlist Builder, we cannot
retrive such information. To be consistent in both area, I just
set the file name to original file name. This can be easily
modified in the future.
2011-05-04 19:05:14 -04:00
martin 8e2019a935 cc-2182: Convert back to restful design
-done
2011-05-02 16:33:37 -04:00
Paul Baranowski b11cbd8159 CC-2166: Packaging Improvements. Moved the Zend app into airtime_mvc. It is now installed to /var/www/airtime. Storage is now set to /srv/airtime/stor. Utils are now installed to /usr/lib/airtime/utils/. Added install/airtime-dircheck.php as a simple test to see if everything is install/uninstalled correctly. 2011-04-14 18:55:04 -04:00