Merge lp:~dangarner/xibo/server-160rc1-manual into lp:xibo/1.6

Proposed by Dan Garner
Status: Merged
Approved by: Dan Garner
Approved revision: 340
Merged at revision: 297
Proposed branch: lp:~dangarner/xibo/server-160rc1-manual
Merge into: lp:xibo/1.6
Diff against target: 37835 lines (+23741/-7952) (has conflicts)
653 files modified
server/README.TXT (+5/-0)
server/config/config.class.php (+29/-3)
server/config/db_config.php (+1/-1)
server/index.php (+1/-1)
server/install.php (+0/-748)
server/install/database/65.sql (+5/-1)
server/install/database/66.sql (+83/-0)
server/install/header.inc (+1/-1)
server/install/header_upgrade.inc (+1/-1)
server/install/install.css (+1/-1)
server/install/master/data.sql (+83/-78)
server/lib/app/app_functions.php (+1/-1)
server/lib/app/datemanager.class.php (+1/-1)
server/lib/app/debug.class.php (+1/-1)
server/lib/app/formmanager.class.php (+1/-1)
server/lib/app/helpmanager.class.php (+1/-1)
server/lib/app/kit.class.php (+15/-2)
server/lib/app/menumanager.class.php (+1/-1)
server/lib/app/modulemanager.class.php (+1/-1)
server/lib/app/pagemanager.class.php (+1/-1)
server/lib/app/pdoconnect.class.php (+1/-1)
server/lib/app/permissionmanager.class.php (+1/-1)
server/lib/app/responsemanager.class.php (+1/-1)
server/lib/app/rssreader.class.php (+1/-1)
server/lib/app/session.class.php (+1/-1)
server/lib/app/thememanager.class.php (+1/-1)
server/lib/app/translationengine.class.php (+1/-1)
server/lib/data/campaign.data.class.php (+1/-1)
server/lib/data/campaignsecurity.data.class.php (+1/-1)
server/lib/data/data.class.php (+1/-1)
server/lib/data/dataset.data.class.php (+1/-1)
server/lib/data/datasetcolumn.data.class.php (+1/-1)
server/lib/data/datasetdata.data.class.php (+1/-1)
server/lib/data/datasetgroupsecurity.data.class.php (+1/-1)
server/lib/data/display.data.class.php (+1/-1)
server/lib/data/displaygroup.data.class.php (+1/-1)
server/lib/data/displaygroupsecurity.data.class.php (+1/-1)
server/lib/data/file.data.class.php (+1/-1)
server/lib/data/help.data.class.php (+1/-1)
server/lib/data/layout.data.class.php (+1/-1)
server/lib/data/layoutmediagroupsecurity.data.class.php (+1/-1)
server/lib/data/layoutregiongroupsecurity.data.class.php (+1/-1)
server/lib/data/maintenance.data.class.php (+1/-1)
server/lib/data/media.data.class.php (+1/-1)
server/lib/data/mediagroupsecurity.data.class.php (+1/-1)
server/lib/data/region.data.class.php (+1/-1)
server/lib/data/resolution.data.class.php (+1/-1)
server/lib/data/schedule.data.class.php (+1/-1)
server/lib/data/setting.data.class.php (+1/-1)
server/lib/data/stat.data.class.php (+1/-1)
server/lib/data/template.data.class.php (+1/-1)
server/lib/data/templategroupsecurity.data.class.php (+1/-1)
server/lib/data/userdata.data.class.php (+1/-1)
server/lib/data/usergroup.data.class.php (+1/-1)
server/lib/include.php (+2/-2)
server/lib/modules/module.class.php (+1/-1)
server/lib/modules/module.interface.php (+1/-1)
server/lib/oauth.inc.php (+1/-1)
server/lib/pages/admin.class.php (+1/-1)
server/lib/pages/campaign.class.php (+1/-1)
server/lib/pages/clock.class.php (+1/-1)
server/lib/pages/content.class.php (+3/-6)
server/lib/pages/dashboard.class.php (+1/-1)
server/lib/pages/dataset.class.php (+1/-1)
server/lib/pages/display.class.php (+1/-1)
server/lib/pages/displaygroup.class.php (+1/-1)
server/lib/pages/error.class.php (+1/-1)
server/lib/pages/fault.class.php (+1/-1)
server/lib/pages/group.class.php (+2/-2)
server/lib/pages/help.class.php (+8/-1)
server/lib/pages/index.class.php (+1/-1)
server/lib/pages/layout.class.php (+2/-2)
server/lib/pages/license.class.php (+1/-1)
server/lib/pages/log.class.php (+1/-1)
server/lib/pages/mediamanager.class.php (+1/-1)
server/lib/pages/module.class.php (+1/-1)
server/lib/pages/oauth.class.php (+2/-2)
server/lib/pages/resolution.class.php (+1/-1)
server/lib/pages/schedule.class.php (+6/-6)
server/lib/pages/sessions.class.php (+7/-7)
server/lib/pages/stats.class.php (+1/-1)
server/lib/pages/template.class.php (+1/-1)
server/lib/pages/timeline.class.php (+1/-1)
server/lib/pages/transition.class.php (+1/-1)
server/lib/pages/user.class.php (+1/-1)
server/lib/service/rest.class.php (+3/-3)
server/lib/service/restjson.class.php (+1/-1)
server/lib/service/restxml.class.php (+1/-1)
server/lib/service/serviceoauth.class.php (+1/-1)
server/lib/service/serviceresponse.class.php (+1/-1)
server/lib/service/xmdssoap.class.php (+2/-2)
server/lib/xmds.inc.php (+1/-1)
server/locale/dbtranslate.php (+2/-1)
server/maintenance.php (+3/-2)
server/manual/content/admin/advanced.php (+44/-57)
server/manual/content/admin/api_displaygroups.php (+11/-0)
server/manual/content/admin/api_displays.php (+8/-0)
server/manual/content/admin/api_layouts.php (+260/-0)
server/manual/content/admin/api_library.php (+132/-0)
server/manual/content/admin/api_methods.php (+144/-0)
server/manual/content/admin/api_misc.php (+15/-0)
server/manual/content/admin/api_modules.php (+19/-0)
server/manual/content/admin/api_oauth.php (+100/-0)
server/manual/content/admin/api_overview.php (+25/-396)
server/manual/content/admin/api_resolution.php (+4/-0)
server/manual/content/admin/api_schedule.php (+7/-0)
server/manual/content/admin/api_template.php (+21/-0)
server/manual/content/admin/blueprints.php (+24/-0)
server/manual/content/admin/contributing.php (+167/-0)
server/manual/content/admin/contributing_fr.php (+166/-0)
server/manual/content/admin/database_model.php (+26/-0)
server/manual/content/admin/display_wakeonlan.php (+78/-0)
server/manual/content/admin/displaygroups.php (+53/-0)
server/manual/content/admin/displays.php (+163/-189)
server/manual/content/admin/displaystats.php (+44/-0)
server/manual/content/admin/modules.php (+74/-65)
server/manual/content/admin/release_notes.php (+23/-0)
server/manual/content/admin/release_notes_1.0.0.php (+74/-0)
server/manual/content/admin/release_notes_1.0.1.php (+74/-0)
server/manual/content/admin/release_notes_1.0.2.php (+106/-0)
server/manual/content/admin/release_notes_1.0.3.php (+117/-0)
server/manual/content/admin/release_notes_1.0.4.php (+99/-0)
server/manual/content/admin/release_notes_1.0.5.php (+100/-0)
server/manual/content/admin/release_notes_1.0.6.php (+98/-0)
server/manual/content/admin/release_notes_1.0.7.php (+74/-0)
server/manual/content/admin/release_notes_1.0.8.php (+78/-0)
server/manual/content/admin/release_notes_1.1.0.php (+99/-0)
server/manual/content/admin/release_notes_1.1.1.php (+115/-0)
server/manual/content/admin/release_notes_1.2.0.php (+87/-0)
server/manual/content/admin/release_notes_1.2.0rc1.php (+114/-0)
server/manual/content/admin/release_notes_1.2.0rc2.php (+103/-0)
server/manual/content/admin/release_notes_1.2.1.php (+126/-0)
server/manual/content/admin/release_notes_1.2.2.php (+114/-0)
server/manual/content/admin/release_notes_1.2.3.php (+107/-0)
server/manual/content/admin/release_notes_1.3.0.php (+113/-0)
server/manual/content/admin/release_notes_1.3.1.php (+82/-0)
server/manual/content/admin/release_notes_1.3.2.php (+75/-0)
server/manual/content/admin/release_notes_1.3.3.php (+75/-0)
server/manual/content/admin/release_notes_1.4.0.php (+79/-0)
server/manual/content/admin/release_notes_1.4.0rc1.php (+74/-0)
server/manual/content/admin/release_notes_1.4.1.php (+72/-0)
server/manual/content/admin/release_notes_1.4.2.php (+84/-0)
server/manual/content/admin/release_notes_1.5.0.php (+77/-0)
server/manual/content/admin/release_notes_1.5.1.php (+85/-0)
server/manual/content/admin/release_notes_1.5.2.php (+77/-0)
server/manual/content/admin/release_notes_1.6.0-rc1.php (+84/-0)
server/manual/content/admin/release_notes_clonedb.php (+83/-0)
server/manual/content/admin/settings.php (+286/-311)
server/manual/content/admin/theme.php (+45/-0)
server/manual/content/config/client.php (+0/-137)
server/manual/content/config/client_feature.php (+0/-194)
server/manual/content/config/config.php (+0/-36)
server/manual/content/config/settings.php (+0/-41)
server/manual/content/config/windows.php (+0/-81)
server/manual/content/content/adding.php (+37/-80)
server/manual/content/content/content_dataset.php (+127/-0)
server/manual/content/content/content_flash.php (+24/-47)
server/manual/content/content/content_image.php (+32/-46)
server/manual/content/content/content_powerpoint.php (+40/-57)
server/manual/content/content/content_video.php (+24/-52)
server/manual/content/content/deleting.php (+28/-0)
server/manual/content/content/editing.php (+32/-0)
server/manual/content/content/licensing.php (+0/-31)
server/manual/content/content/overview.php (+126/-44)
server/manual/content/content/types.php (+0/-92)
server/manual/content/coreconcepts/dashboard.php (+54/-62)
server/manual/content/coreconcepts/login.php (+33/-0)
server/manual/content/coreconcepts/navbar.php (+77/-183)
server/manual/content/coreconcepts/overview.php (+86/-111)
server/manual/content/error.php (+23/-0)
server/manual/content/install/install_client.php (+230/-81)
server/manual/content/install/install_environment.php (+130/-0)
server/manual/content/install/install_python_client.php (+217/-0)
server/manual/content/install/install_server.php (+154/-28)
server/manual/content/install/offline_download_client.php (+79/-0)
server/manual/content/install/prerequisites.php (+0/-19)
server/manual/content/install/python_client_hardware.php (+128/-0)
server/manual/content/install/troubleshooting.php (+1/-21)
server/manual/content/intro.php (+68/-0)
server/manual/content/layout/addlayout.php (+0/-142)
server/manual/content/layout/addregion.php (+86/-50)
server/manual/content/layout/assigncontent.php (+60/-106)
server/manual/content/layout/campaign_layout.php (+71/-60)
server/manual/content/layout/content_counter.php (+68/-67)
server/manual/content/layout/content_datasets.php (+0/-185)
server/manual/content/layout/content_datasetview.php (+160/-0)
server/manual/content/layout/content_embedded.php (+74/-61)
server/manual/content/layout/content_microblog.php (+0/-63)
server/manual/content/layout/content_shellcommand.php (+71/-78)
server/manual/content/layout/content_text.php (+56/-67)
server/manual/content/layout/content_ticker.php (+157/-47)
server/manual/content/layout/content_webpage.php (+60/-53)
server/manual/content/layout/layoutdesigner.php (+98/-74)
server/manual/content/layout/overview.php (+149/-54)
server/manual/content/layout/region_preview_timeline.php (+26/-58)
server/manual/content/layout/transitions.php (+57/-0)
server/manual/content/license/licenses.php (+68/-45)
server/manual/content/routes.php (+148/-0)
server/manual/content/schedule/changedisplay.php (+0/-3)
server/manual/content/schedule/overview.php (+49/-64)
server/manual/content/schedule/schedule_calendar.php (+0/-72)
server/manual/content/schedule/schedule_event.php (+44/-58)
server/manual/content/schedule/schedule_now.php (+53/-41)
server/manual/content/templates/choosetemplate.php (+0/-52)
server/manual/content/templates/overview.php (+74/-35)
server/manual/content/templates/template_resolution.php (+36/-47)
server/manual/content/toc_app_overview.php (+6/-0)
server/manual/content/toc_developer.php (+10/-0)
server/manual/content/toc_developer_api.php (+18/-0)
server/manual/content/toc_developer_releasenotes.php (+57/-0)
server/manual/content/toc_error.php (+23/-0)
server/manual/content/toc_getting_started.php (+15/-0)
server/manual/content/toc_layouts.php (+18/-0)
server/manual/content/toc_library.php (+12/-0)
server/manual/content/toc_scheduling.php (+5/-0)
server/manual/content/toc_user_and_display.php (+12/-0)
server/manual/content/users/groups.php (+67/-77)
server/manual/content/users/menu_page_security.php (+74/-79)
server/manual/content/users/user_permissions.php (+45/-50)
server/manual/content/users/user_types.php (+2/-21)
server/manual/content/users/users.php (+45/-35)
server/manual/css/doc.css (+0/-110)
server/manual/css/manual.css (+119/-0)
server/manual/index.php (+135/-24)
server/manual/intro.php (+0/-34)
server/manual/lib/bootstrap/css/bootstrap-theme.css (+459/-0)
server/manual/lib/bootstrap/css/bootstrap-theme.min.css (+9/-0)
server/manual/lib/bootstrap/css/bootstrap.css (+7098/-0)
server/manual/lib/bootstrap/css/bootstrap.min.css (+9/-0)
server/manual/lib/bootstrap/fonts/glyphicons-halflings-regular.svg (+229/-0)
server/manual/lib/bootstrap/js/bootstrap.js (+2002/-0)
server/manual/lib/bootstrap/js/bootstrap.min.js (+9/-0)
server/manual/lib/jquery.dimensions.pack.js (+0/-32)
server/manual/lib/jquery.ifixpng.js (+0/-136)
server/manual/lib/jquery.pack.js (+0/-31)
server/manual/lib/jquery.treeview.css (+0/-47)
server/manual/lib/jquery.treeview.js (+0/-223)
server/manual/lib/jquery/jquery-1.9.1.js (+5/-0)
server/manual/single.php (+94/-0)
server/manual/template.php (+12/-2)
server/manual/template/footer.php (+0/-13)
server/manual/toc.php (+0/-167)
server/modules/counter.module.php (+1/-1)
server/modules/datasetview.module.php (+2/-2)
server/modules/embedded.module.php (+1/-1)
server/modules/flash.module.php (+1/-1)
server/modules/image.module.php (+1/-1)
server/modules/localvideo.module.php (+1/-1)
server/modules/microblog.module.php (+1/-1)
server/modules/module_db_mysql.php (+1/-1)
server/modules/module_user_general.php (+6/-4)
server/modules/module_user_ldap.php (+1/-1)
server/modules/powerpoint.module.php (+1/-1)
server/modules/preview/HtmlTemplateForGetResource.html (+5/-1)
server/modules/shellcommand.module.php (+1/-1)
server/modules/text.module.php (+2/-4)
server/modules/ticker.module.php (+35/-4)
server/modules/video.module.php (+1/-1)
server/modules/webpage.module.php (+1/-1)
server/services.php (+1/-1)
server/theme/default/config.php (+1/-1)
server/theme/default/css/calendar.css (+7/-2)
server/theme/default/css/override.css (+1/-1)
server/theme/default/css/timeline.css (+1/-1)
server/theme/default/css/xibo.css (+11/-2)
server/theme/default/html/about_page.php (+1/-1)
server/theme/default/html/about_text.php (+2/-2)
server/theme/default/html/application_form_register.php (+1/-1)
server/theme/default/html/application_form_user_applications.php (+1/-1)
server/theme/default/html/application_verify.php (+1/-1)
server/theme/default/html/applications_form_view_log.php (+1/-1)
server/theme/default/html/applications_page.php (+1/-1)
server/theme/default/html/applications_page_grid.php (+1/-1)
server/theme/default/html/campaign_form_add.php (+1/-1)
server/theme/default/html/campaign_form_delete.php (+1/-1)
server/theme/default/html/campaign_form_edit.php (+1/-1)
server/theme/default/html/campaign_form_layout_assign.php (+1/-1)
server/theme/default/html/campaign_form_layout_assign_list.php (+1/-1)
server/theme/default/html/campaign_form_permissions.php (+1/-1)
server/theme/default/html/campaign_page.php (+1/-1)
server/theme/default/html/campaign_page_grid.php (+1/-1)
server/theme/default/html/dataset_dataentry_page.php (+1/-1)
server/theme/default/html/dataset_form_add.php (+1/-1)
server/theme/default/html/dataset_form_column_add.php (+1/-1)
server/theme/default/html/dataset_form_column_delete.php (+1/-1)
server/theme/default/html/dataset_form_column_edit.php (+1/-1)
server/theme/default/html/dataset_form_column_grid.php (+1/-1)
server/theme/default/html/dataset_form_csv_import.php (+1/-1)
server/theme/default/html/dataset_form_delete.php (+1/-1)
server/theme/default/html/dataset_form_edit.php (+1/-1)
server/theme/default/html/dataset_form_permissions.php (+1/-1)
server/theme/default/html/dataset_page.php (+1/-1)
server/theme/default/html/dataset_page_grid.php (+1/-1)
server/theme/default/html/display_form_default_layout.php (+1/-1)
server/theme/default/html/display_form_delete.php (+1/-1)
server/theme/default/html/display_form_edit.php (+1/-1)
server/theme/default/html/display_form_group_assign.php (+1/-1)
server/theme/default/html/display_form_mediainventory.php (+1/-1)
server/theme/default/html/display_form_wakeonlan.php (+1/-1)
server/theme/default/html/display_page.php (+1/-1)
server/theme/default/html/display_page_grid.php (+1/-1)
server/theme/default/html/displaygroup_form_add.php (+1/-1)
server/theme/default/html/displaygroup_form_delete.php (+1/-1)
server/theme/default/html/displaygroup_form_display_assign.php (+1/-1)
server/theme/default/html/displaygroup_form_edit.php (+1/-1)
server/theme/default/html/displaygroup_form_permissions.php (+1/-1)
server/theme/default/html/displaygroup_page.php (+1/-1)
server/theme/default/html/displaygroup_page_grid.php (+1/-1)
server/theme/default/html/fault_page.php (+1/-1)
server/theme/default/html/footer.php (+2/-1)
server/theme/default/html/grid_pager.php (+1/-1)
server/theme/default/html/header.php (+1/-1)
server/theme/default/html/help_form_add.php (+1/-1)
server/theme/default/html/help_form_delete.php (+1/-1)
server/theme/default/html/help_form_edit.php (+1/-1)
server/theme/default/html/help_page.php (+1/-1)
server/theme/default/html/help_page_grid.php (+1/-1)
server/theme/default/html/homepage_dashboard.php (+1/-1)
server/theme/default/html/homepage_mediamanager.php (+1/-1)
server/theme/default/html/homepage_mediamanager_grid.php (+1/-1)
server/theme/default/html/layout_designer.php (+1/-1)
server/theme/default/html/layout_designer_form_timeline.php (+1/-1)
server/theme/default/html/layout_form_add.php (+1/-1)
server/theme/default/html/layout_form_background.php (+1/-1)
server/theme/default/html/layout_form_copy.php (+1/-1)
server/theme/default/html/layout_form_delete.php (+1/-1)
server/theme/default/html/layout_form_edit.php (+2/-2)
server/theme/default/html/layout_form_retire.php (+1/-1)
server/theme/default/html/layout_jumplist_grid.php (+1/-1)
server/theme/default/html/layout_page.php (+1/-1)
server/theme/default/html/layout_page_grid.php (+1/-1)
server/theme/default/html/library_form_add.php (+1/-1)
server/theme/default/html/library_form_assign.php (+1/-1)
server/theme/default/html/library_form_assign_list.php (+1/-1)
server/theme/default/html/library_form_media_add.php (+1/-1)
server/theme/default/html/library_form_media_edit.php (+1/-1)
server/theme/default/html/library_page.php (+1/-1)
server/theme/default/html/library_page_grid.php (+1/-1)
server/theme/default/html/log_form_truncate.php (+1/-1)
server/theme/default/html/log_page.php (+1/-1)
server/theme/default/html/log_page_grid.php (+1/-1)
server/theme/default/html/login_page.php (+1/-1)
server/theme/default/html/media_form_counter_add.php (+1/-1)
server/theme/default/html/media_form_counter_edit.php (+1/-1)
server/theme/default/html/media_form_datasetview_add.php (+1/-1)
server/theme/default/html/media_form_datasetview_edit.php (+1/-1)
server/theme/default/html/media_form_embedded_add.php (+1/-1)
server/theme/default/html/media_form_embedded_edit.php (+1/-1)
server/theme/default/html/media_form_microblog_add.php (+1/-1)
server/theme/default/html/media_form_microblog_edit.php (+1/-1)
server/theme/default/html/media_form_shellcommand_add.php (+1/-1)
server/theme/default/html/media_form_shellcommand_edit.php (+1/-1)
server/theme/default/html/media_form_text_add.php (+1/-1)
server/theme/default/html/media_form_text_edit.php (+2/-2)
server/theme/default/html/media_form_ticker_add.php (+1/-1)
server/theme/default/html/media_form_ticker_dataset_edit.php (+11/-1)
server/theme/default/html/media_form_ticker_edit.php (+11/-1)
server/theme/default/html/media_form_webpage_add.php (+1/-1)
server/theme/default/html/media_form_webpage_edit.php (+1/-1)
server/theme/default/html/module_form_edit.php (+1/-1)
server/theme/default/html/module_page.php (+1/-1)
server/theme/default/html/module_page_grid.php (+1/-1)
server/theme/default/html/region_form_options.php (+1/-1)
server/theme/default/html/region_form_options_no_transition.php (+1/-1)
server/theme/default/html/resolution_form_add.php (+1/-1)
server/theme/default/html/resolution_form_delete.php (+1/-1)
server/theme/default/html/resolution_form_edit.php (+1/-1)
server/theme/default/html/resolution_page.php (+1/-1)
server/theme/default/html/resolution_page_grid.php (+1/-1)
server/theme/default/html/schedule_page.php (+1/-1)
server/theme/default/html/schedule_page_display_list.php (+2/-2)
server/theme/default/html/sessions_form_logout.php (+1/-1)
server/theme/default/html/sessions_page.php (+1/-1)
server/theme/default/html/sessions_page_grid.php (+1/-1)
server/theme/default/html/settings_page.php (+1/-1)
server/theme/default/html/stats_page.php (+1/-1)
server/theme/default/html/stats_page_grid.php (+1/-1)
server/theme/default/html/template_form_add.php (+1/-1)
server/theme/default/html/template_form_delete.php (+1/-1)
server/theme/default/html/template_form_permissions.php (+1/-1)
server/theme/default/html/template_page.php (+1/-1)
server/theme/default/html/template_page_grid.php (+1/-1)
server/theme/default/html/transition_form_edit.php (+1/-1)
server/theme/default/html/transition_page.php (+1/-1)
server/theme/default/html/transition_page_grid.php (+1/-1)
server/theme/default/html/user_form_add.php (+1/-1)
server/theme/default/html/user_form_change_password.php (+1/-1)
server/theme/default/html/user_form_delete.php (+1/-1)
server/theme/default/html/user_form_edit.php (+1/-1)
server/theme/default/html/user_form_my_applications.php (+1/-1)
server/theme/default/html/user_form_set_homepage.php (+1/-1)
server/theme/default/html/user_form_set_password.php (+1/-1)
server/theme/default/html/user_page.php (+1/-1)
server/theme/default/html/user_page_grid.php (+1/-1)
server/theme/default/html/usergroup_form_add.php (+1/-1)
server/theme/default/html/usergroup_form_delete.php (+1/-1)
server/theme/default/html/usergroup_form_edit.php (+1/-1)
server/theme/default/html/usergroup_form_menusecurity.php (+1/-1)
server/theme/default/html/usergroup_form_menusecurity_grid.php (+1/-1)
server/theme/default/html/usergroup_form_pagesecurity.php (+1/-1)
server/theme/default/html/usergroup_form_pagesecurity_grid.php (+1/-1)
server/theme/default/html/usergroup_form_user_assign.php (+1/-1)
server/theme/default/html/usergroup_page.php (+1/-1)
server/theme/default/html/usergroup_page_grid.php (+1/-1)
server/theme/default/js/xibo-calendar.js (+4/-2)
server/theme/default/js/xibo-cms.js (+19/-2)
server/theme/default/js/xibo-forms.js (+2/-0)
server/theme/default/js/xibo-layout-designer.js (+1/-1)
server/theme/default/js/xibo-preview-timeline.js (+1/-1)
server/theme/default/libraries/ckeditor/CHANGES.md (+292/-70)
server/theme/default/libraries/ckeditor/ckeditor.js (+855/-754)
server/theme/default/libraries/ckeditor/config.js (+7/-4)
server/theme/default/libraries/ckeditor/contents.css (+23/-20)
server/theme/default/libraries/ckeditor/lang/af.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ar.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/bg.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/bn.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/bs.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ca.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/cs.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/cy.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/da.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/de.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/el.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/en-au.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/en-ca.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/en-gb.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/en.js (+1/-1)
server/theme/default/libraries/ckeditor/lang/eo.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/es.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/et.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/eu.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/fa.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/fi.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/fo.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/fr-ca.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/fr.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/gl.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/gu.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/he.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/hi.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/hr.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/hu.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/id.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/is.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/it.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ja.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ka.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/km.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ko.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ku.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/lt.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/lv.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/mk.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/mn.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ms.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/nb.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/nl.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/no.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/pl.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/pt-br.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/pt.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ro.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ru.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/si.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sk.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sl.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sq.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sr-latn.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sr.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/sv.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/th.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/tr.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/ug.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/uk.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/vi.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/zh-cn.js (+5/-0)
server/theme/default/libraries/ckeditor/lang/zh.js (+5/-0)
server/theme/default/libraries/ckeditor/plugins/clipboard/dialogs/paste.js (+8/-8)
server/theme/default/libraries/ckeditor/plugins/codemirror/css/codemirror.min.css (+1/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/beautify.min.js (+44/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.addons.min.js (+46/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js (+15/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.min.js (+214/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js (+52/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js (+21/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js (+74/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/3024-day.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/3024-night.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/ambiance-mobile.css (+5/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/ambiance.css (+75/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/base16-dark.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/base16-light.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/blackboard.css (+28/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/cobalt.css (+21/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/eclipse.css (+23/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/elegant.css (+13/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/erlang-dark.css (+30/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/lesser-dark.css (+47/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/mbo.css (+37/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/midnight.css (+43/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/monokai.css (+29/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/neat.css (+12/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/night.css (+24/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/paraiso-dark.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/paraiso-light.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/rubyblue.css (+23/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/solarized.css (+180/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/the-matrix.css (+26/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/tomorrow-night-eighties.css (+34/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/twilight.css (+28/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/vibrant-ink.css (+30/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/xq-dark.css (+49/-0)
server/theme/default/libraries/ckeditor/plugins/codemirror/theme/xq-light.css (+43/-0)
server/theme/default/libraries/ckeditor/plugins/colordialog/dialogs/colordialog.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/dialog/dialogDefinition.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/div/dialogs/div.js (+9/-0)
server/theme/default/libraries/ckeditor/plugins/image/dialogs/image.js (+22/-22)
server/theme/default/libraries/ckeditor/plugins/justify/lang/af.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ar.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/bg.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/bn.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/bs.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ca.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/cs.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/cy.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/da.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/de.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/el.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/en-au.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/en-ca.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/en-gb.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/en.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/eo.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/es.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/et.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/eu.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/fa.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/fi.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/fo.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/fr-ca.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/fr.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/gl.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/gu.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/he.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/hi.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/hr.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/hu.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/id.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/is.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/it.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ja.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ka.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/km.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ko.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ku.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/lt.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/lv.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/mk.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/mn.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ms.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/nb.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/nl.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/no.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/pl.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/pt-br.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/pt.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ro.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ru.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/si.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sk.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sl.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sq.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sr-latn.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sr.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/sv.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/th.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/tr.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/ug.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/uk.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/vi.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/zh-cn.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/lang/zh.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/justify/plugin.js (+242/-0)
server/theme/default/libraries/ckeditor/plugins/link/dialogs/anchor.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/link/dialogs/link.js (+8/-7)
server/theme/default/libraries/ckeditor/plugins/pastefromword/filter/default.js (+16/-16)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ar.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/bg.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ca.js (+11/-10)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/cs.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/cy.js (+2/-2)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/de.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/el.js (+10/-10)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/en.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/eo.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/es.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/et.js (+4/-4)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/fa.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/fi.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js (+10/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/fr.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/gl.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/he.js (+9/-10)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/hr.js (+3/-3)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/hu.js (+12/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/id.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/it.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ja.js (+9/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/km.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ku.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/lv.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/nb.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/nl.js (+2/-2)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/no.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/pl.js (+9/-9)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/pt.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ru.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/si.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/sk.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/sl.js (+12/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/sq.js (+13/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/sv.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/th.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/tr.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/ug.js (+4/-4)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/uk.js (+12/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/vi.js (+14/-0)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js (+2/-2)
server/theme/default/libraries/ckeditor/plugins/specialchar/dialogs/specialchar.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/table/dialogs/table.js (+4/-4)
server/theme/default/libraries/ckeditor/plugins/tabletools/dialogs/tableCell.js (+1/-1)
server/theme/default/libraries/ckeditor/plugins/wsc/dialogs/ciframe.html (+17/-0)
server/theme/default/libraries/ckeditor/plugins/wsc/dialogs/tmp.html (+118/-0)
server/theme/default/libraries/ckeditor/plugins/wsc/dialogs/wsc.js (+63/-7)
server/theme/default/libraries/ckeditor/plugins/wsc/dialogs/wsc_ie.js (+11/-0)
server/theme/default/libraries/ckeditor/skins/moono/dialog.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/dialog_ie.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/dialog_ie7.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/dialog_ie8.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/dialog_iequirks.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/dialog_opera.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor_gecko.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor_ie.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor_ie7.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor_ie8.css (+2/-2)
server/theme/default/libraries/ckeditor/skins/moono/editor_iequirks.css (+2/-2)
server/theme/default/libraries/ckeditor/styles.js (+1/-1)
server/upgrade.php (+0/-683)
server/xmds.php (+1/-1)
Text conflict in server/README.TXT
Text conflict in server/install/database/65.sql
Text conflict in server/install/master/data.sql
To merge this branch: bzr merge lp:~dangarner/xibo/server-160rc1-manual
Reviewer Review Type Date Requested Status
Xibo Maintainters Pending
Review via email: mp+202214@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'server/README.TXT'
2--- server/README.TXT 2014-01-02 21:06:28 +0000
3+++ server/README.TXT 2014-01-19 13:57:27 +0000
4@@ -1,5 +1,10 @@
5+<<<<<<< TREE
6 Xibo - Digitial Signage - http://www.xibo.org.uk
7 Copyright (C) 2006 - 2013 Daniel Garner, James Packer and Alex Harrington
8+=======
9+Xibo - Digital Signage - http://www.xibo.org.uk
10+Copyright (C) 2006 - 2011 Daniel Garner, James Packer and Alex Harrington
11+>>>>>>> MERGE-SOURCE
12
13 This file is part of Xibo.
14
15
16=== modified file 'server/config/config.class.php'
17--- server/config/config.class.php 2013-10-20 13:42:02 +0000
18+++ server/config/config.class.php 2014-01-19 13:57:27 +0000
19@@ -1,6 +1,6 @@
20 <?php
21 /*
22- * Xibo - Digitial Signage - http://www.xibo.org.uk
23+ * Xibo - Digital Signage - http://www.xibo.org.uk
24 * Copyright (C) 2006-2013 Daniel Garner and James Packer
25 *
26 * This file is part of Xibo.
27@@ -176,7 +176,7 @@
28 }
29
30 // Check for MySQL
31- $message = __('MySQL database (PHP MySql and PDO MySql)');
32+ $message = __('MySQL database (PHP MySql)');
33
34 if ($this->CheckMySQL())
35 {
36@@ -193,6 +193,25 @@
37 </div>
38 END;
39 }
40+
41+ // Check for PDO
42+ $message = __('MySQL database (PDO MySql)');
43+
44+ if ($this->CheckPDO())
45+ {
46+ $output .= $imgGood.$message.'<br />';
47+ }
48+ else
49+ {
50+ $this->envFault = true;
51+
52+ $output .= $imgBad.$message.'<br />';
53+ $output .= <<<END
54+ <div class="check_explain">
55+ <p>Xibo requires the PHP PDO Extension to function.</p>
56+ </div>
57+END;
58+ }
59
60 // Check for JSON
61 $message = __('JSON Extension');
62@@ -459,10 +478,17 @@
63 */
64 function CheckMySQL()
65 {
66- return extension_loaded("pdo_mysql") && extension_loaded("mysql");
67+ return extension_loaded("mysql");
68 }
69
70 /**
71+ * Check PHP has the PDO module installed (with MySQL driver)
72+ */
73+ function CheckPDO() {
74+ return extension_loaded("pdo_mysql");
75+ }
76+
77+ /**
78 * Check PHP has the GetText module installed
79 * @return
80 */
81
82=== modified file 'server/config/db_config.php'
83--- server/config/db_config.php 2013-05-01 19:24:35 +0000
84+++ server/config/db_config.php 2014-01-19 13:57:27 +0000
85@@ -1,6 +1,6 @@
86 <?php
87 /*
88- * Xibo - Digitial Signage - http://www.xibo.org.uk
89+ * Xibo - Digital Signage - http://www.xibo.org.uk
90 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
91 *
92 * This file is part of Xibo.
93
94=== modified file 'server/index.php'
95--- server/index.php 2013-05-01 19:24:35 +0000
96+++ server/index.php 2014-01-19 13:57:27 +0000
97@@ -1,6 +1,6 @@
98 <?php
99 /*
100- * Xibo - Digitial Signage - http://www.xibo.org.uk
101+ * Xibo - Digital Signage - http://www.xibo.org.uk
102 * Copyright (C) 2006-2012 Daniel Garner, James Packer and Alex Harrington
103 *
104 * This file is part of Xibo.
105
106=== removed file 'server/install.php'
107--- server/install.php 2013-08-21 22:27:13 +0000
108+++ server/install.php 1970-01-01 00:00:00 +0000
109@@ -1,748 +0,0 @@
110-<?php
111-/*
112- * Xibo - Digital Signage - http://www.xibo.org.uk
113- * Copyright (C) 2009-2013 Alex Harrington
114- *
115- * This file is part of Xibo.
116- *
117- * Xibo is free software: you can redistribute it and/or modify
118- * it under the terms of the GNU Affero General Public License as published by
119- * the Free Software Foundation, either version 3 of the License, or
120- * any later version.
121- *
122- * Xibo is distributed in the hope that it will be useful,
123- * but WITHOUT ANY WARRANTY; without even the implied warranty of
124- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
125- * GNU Affero General Public License for more details.
126- *
127- * You should have received a copy of the GNU Affero General Public License
128- * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
129- */
130-DEFINE('XIBO', true);
131-
132-if (! checkPHP())
133-{
134- die('Xibo requires PHP 5.2.4 or later');
135-}
136-
137-error_reporting(0);
138-ini_set('display_errors', 0);
139-
140-include('lib/app/kit.class.php');
141-include('install/header.inc');
142-include('config/config.class.php');
143-include('config/db_config.php');
144-
145-// Setup for the Translations using Gettext.
146-// There is normally a class that will do this for us - but it requires a DB object (which we do not have at install time)
147-// Would be nice to include a method on the TranslationEngine that did this for us - but without the debugging
148-// The actual translation function __() is included later in this file.
149-$langs = Kit::GetParam('HTTP_ACCEPT_LANGUAGE', $_SERVER, _STRING);
150-$lang = 'en-gb'; // Default language
151-$encoding = ''; // We do not seem to need an encoding, but I read somewhere that we might - left as a reminder of this.
152-
153-if ($langs != '')
154-{
155- $langs = explode(',', $langs);
156- $lang = $langs[0];
157-}
158-
159-// For windows
160-putenv('LANG='.$lang.'.'.$encoding);
161-putenv('LANGUAGE='.$lang.'.'.$encoding);
162-putenv('LC_ALL='.$lang.'.'.$encoding);
163-
164-// Set local
165-setlocale(LC_ALL, $lang.'.'.$encoding);
166-
167-// Translations have been setup.
168-
169-$fault = false;
170-
171-$xibo_step = Kit::GetParam('xibo_step',_POST,_INT,'0');
172-
173-if (!isset($xibo_step) || $xibo_step == 0) {
174- # First step of the process.
175- # Show a welcome screen and next button
176- ?>
177- <?php echo __("Welcome to the Xibo Installer!"); ?><br /><br />
178- <?php echo __("The installer will take you through setting up Xibo one step at a time."); ?><br /><br />
179- <?php echo __("Lets get started!"); ?><br /><br />
180- <form action="install.php" method="POST">
181- <input type="hidden" name="xibo_step" value="1" />
182- <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
183- </form>
184- <?php
185-}
186-elseif ($xibo_step == 1) {
187- # Check environment
188- $db = new Database();
189- $cObj = new Config();
190- ?>
191- <p><?php echo __("First we need to check if your server meets Xibo's requirements."); ?></p>
192- <div class="checks">
193- <?php
194- echo $cObj->CheckEnvironment();
195- if ($cObj->EnvironmentFault()) {
196- ?>
197- <form action="install.php" method="POST">
198- <input type="hidden" name="xibo_step" value="1" />
199- <div class="loginbutton"><button type="submit"><?php echo __("Retest"); ?></button></div>
200- </form>
201- <?php
202- }
203- else if ($cObj->EnvironmentWarning()) {
204- ?>
205- <form action="install.php" method="POST">
206- <input type="hidden" name="xibo_step" value="1" />
207- <div class="loginbutton"><button type="submit"><?php echo __("Retest"); ?></button></div>
208- </form>
209- <form action="install.php" method="POST">
210- <input type="hidden" name="xibo_step" value="2" />
211- <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
212- </form>
213- <?php
214- }
215- else {
216- ?>
217- <form action="install.php" method="POST">
218- <input type="hidden" name="xibo_step" value="2" />
219- <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
220- </form>
221- <?php
222- }
223-}
224-elseif ($xibo_step == 2) {
225-# Create database
226-## Does database exist already?
227-
228- ?>
229- <div class="info">
230- <p><?php echo __("Xibo needs to setup a new database."); ?></p>
231- <p><?php echo __("If you have not yet created an empty database and database user for Xibo to use, and know the username/password of a MySQL administrator, click the \"Create New\" button, otherwise click \"Use Existing\"."); ?></p>
232- <p><i><?php echo __("Note that any existing database must be empty"); ?></i></p>
233- </div>
234- <form action="install.php" method="POST">
235- <input type="hidden" name="xibo_step" value="3" />
236- <button type="submit"><?php echo __("Create New"); ?></button>
237- </form>
238- <form action="install.php" method="POST">
239- <input type="hidden" name="xibo_step" value="4" />
240- <button type="submit"><?php echo __("Use Existing"); ?></button>
241- </form>
242- <?php
243-}
244-elseif ($xibo_step == 3) {
245-## If not, gather admin password and use to create empty db and new user.
246-?>
247-<div class="info">
248-<p><?php echo __("Since no empty database has been created for Xibo to use, we need the username and password of a MySQL administrator to create a new database, and database user for Xibo."); ?></p>
249-<p><?php echo __("Additionally, please give us a new username and password to create in MySQL for Xibo to use. Xibo will create this automatically for you."); ?></p>
250-<form action="install.php" method="POST">
251-<input type="hidden" name="xibo_step" value="5" />
252-<input type="hidden" name="db_create" value="On" />
253-<div class="install_table">
254- <p><label for="host"><?php echo __("Host:"); ?>&nbsp;</label><input class="username" type="text" id="host" name="host" size="12" value="localhost" /></p>
255- <p><label for="admin_username"><?php echo __("Admin Username:"); ?>&nbsp;</label><input class="username" type="text" id="admin_username" name="admin_username" size="12" /></p>
256- <p><label for="admin_password"><?php echo __("Admin Password:"); ?>&nbsp;</label><input class="username" type="password" id="admin_password" name="admin_password" size="12" /></p>
257- <p><label for="db_name"><?php echo __("Xibo Database Name:"); ?>&nbsp;</label><input class="username" type="text" id="db_name" name="db_name" size="12" value="xibo" /></p>
258- <p><label for="db_username"><?php echo __("Xibo Database Username:"); ?>&nbsp;</label><input class="username" type="text" id="db_username" name="db_username" size="12" value="xibo" /></p>
259- <p><label for="db_password"><?php echo __("Xibo Database Password:"); ?>&nbsp;</label><input class="username" type="password" id="db_password" name="db_password" size="12" /></p>
260-</div>
261-</div>
262-<button type="submit"><?php echo __("Create"); ?></button>
263-</form>
264-<?php
265-}
266-elseif ($xibo_step == 4) {
267-## Get details of db that's been created already for us
268-?>
269-<div class="info">
270-<p><?php echo __("Please enter the details of the database and user you have created for Xibo."); ?></p>
271-<form action="install.php" method="POST">
272-<input type="hidden" name="xibo_step" value="5" />
273-<input type="hidden" name="db_create" value="Off" />
274-<div class="install_table">
275- <p><label for="host"><?php echo __("Host:"); ?>&nbsp;</label><input class="username" type="text" id="host" name="host" size="12" value="localhost" /></p>
276- <p><label for="db_name"><?php echo __("Xibo Database Name:"); ?>&nbsp;</label><input class="username" type="text" id="db_name" name="db_name" size="12" value="xibo" /></p>
277- <p><label for="db_username"><?php echo __("Xibo Database Username:"); ?>&nbsp;</label><input class="username" type="text" id="db_username" name="db_username" size="12" value="xibo" /></p>
278- <p><label for="db_password"><?php echo __("Xibo Database Password:"); ?>&nbsp;</label><input class="username" type="password" id="db_password" name="db_password" size="12" /></p>
279-</div>
280-</div>
281-<button type="submit"><?php echo __("Create"); ?></button>
282-</form>
283-<?php
284-}
285-elseif ($xibo_step == 5) {
286-
287- $db_create = Kit::GetParam('db_create',_POST,_STRING);
288-
289- if (!isset($db_create)) {
290- reportError("2",__("Something went wrong"));
291- }
292- else {
293- $db_host = Kit::GetParam('host',_POST,_STRING,'localhost');
294- $db_user = Kit::GetParam('db_username',_POST,_PASSWORD);
295- $db_pass = Kit::GetParam('db_password',_POST,_PASSWORD);
296- $db_name = Kit::GetParam('db_name',_POST,_PASSWORD);
297- ?>
298- <div class="info">
299- <?php
300- if ($db_create == 'On') {
301- $db_admin_user = Kit::GetParam('admin_username',_POST,_PASSWORD);
302- $db_admin_pass = Kit::GetParam('admin_password',_POST,_PASSWORD);
303-
304- if (! ($db_host && $db_name && $db_user && $db_admin_user)) {
305- # Something was blank.
306- # Throw an error.
307- reportError("3", __("A field was blank. Please fill in all fields."));
308- }
309-
310- $db = @mysql_connect($db_host,$db_admin_user,$db_admin_pass);
311-
312- if (! $db) {
313- reportError("3", __("Could not connect to MySQL with the administrator details. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
314- }
315-
316- ?>
317- <p><?php echo __("Creating new database."); ?></p>
318- <?php
319- flush();
320-
321- $SQL = sprintf("CREATE DATABASE `%s`",
322- mysql_real_escape_string($db_name));
323- if (! @mysql_query($SQL, $db)) {
324- # Create database and user
325- reportError("3", __("Could not create a new database with the administrator details. Please check and try again.") . "<br /><br />" . "MySQL Error:" . "<br />" . mysql_error());
326- }
327-
328- # Choose the MySQL DB to create a user
329- @mysql_select_db("mysql", $db);
330-
331- # Make $db_host lowercase so it matches "localhost" if required.
332- $db_host = strtolower($db_host);
333-
334- ?>
335- <p><?php echo __("Creating new user"); ?></p>
336- <?php
337- flush();
338-
339- if ($db_host == 'localhost') {
340- $SQL = sprintf("GRANT ALL PRIVILEGES ON `%s`.* to '%s'@'%s' IDENTIFIED BY '%s'",
341- mysql_real_escape_string($db_name),
342- mysql_real_escape_string($db_user),
343- mysql_real_escape_string($db_host),
344- mysql_real_escape_string($db_pass));
345- }
346- else {
347- $SQL = sprintf("GRANT ALL PRIVILEGES ON `%s`.* to '%s'@'%%' IDENTIFIED BY '%s'",
348- mysql_real_escape_string($db_name),
349- mysql_real_escape_string($db_user),
350- mysql_real_escape_string($db_pass));
351- }
352- if (! @mysql_query($SQL, $db)) {
353- reportError("3", __("Could not create a new user with the administrator details. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
354- }
355-
356-
357- @mysql_query("FLUSH PRIVILEGES", $db);
358- @mysql_close($db);
359-
360- }
361- else {
362- if (! ($db_host && $db_name && $db_user && $db_pass)) {
363- # Something was blank
364- # Throw an error.
365- reportError("4", __("A field was blank. Please fill in all fields.") . " " . $db_host . " " . $db_name . " " . $db_user . " " . $db_pass);
366- }
367- }
368- ## Populate database
369-
370- $db = @mysql_connect($db_host,$db_user,$db_pass);
371-
372- if (! $db) {
373- reportError("4", __("Could not connect to MySQL with the Xibo User account details. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
374- }
375-
376- @mysql_select_db($db_name,$db);
377-
378- ?>
379- <p>Populating the database</p>
380- <?php
381- flush();
382-
383- # Load from sql files to db - HOW?
384- $sql_files = array('structure.sql', 'data.sql');
385-
386- $sqlStatementCount = 0;
387-
388- foreach ($sql_files as $filename) {
389- ?>
390- <p>Loading from <?php print $filename; ?>
391- <?php
392- flush();
393-
394- $delimiter = ';';
395- $sql_file = @file_get_contents('install/master/' . $filename);
396- $sql_file = remove_remarks($sql_file);
397- $sql_file = split_sql_file($sql_file, $delimiter);
398-
399- foreach ($sql_file as $sql) {
400- print ".";
401- $sqlStatementCount++;
402- flush();
403- if (! @mysql_query($sql,$db)) {
404- reportError("4", __("An error occured populating the database.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error() . "<br /><br />SQL executed:<br />" . $sql . "<br /><br />Statement number: " . $sqlStatementCount);
405- }
406- }
407- print "</p>";
408- }
409- @mysql_close($db);
410- }
411- # Write out a new settings.php
412- $fh = fopen("settings.php", 'wt');
413-
414- if (! $fh) {
415- reportError("0", __("Unable to write to settings.php. We already checked this was possible earlier, so something changed."));
416- }
417-
418- settings_strings();
419-
420- $settings_content = '$dbhost = \'' . $db_host . '\';' . "\n";
421- $settings_content .= '$dbuser = \'' . $db_user . '\';' . "\n";
422- $settings_content .= '$dbpass = \'' . $db_pass . '\';' . "\n";
423- $settings_content .= '$dbname = \'' . $db_name . '\';' . "\n\n";
424- $settings_content .= 'define(\'SECRET_KEY\',\'' . gen_secret() . '\');' . "\n";
425-
426- if (! fwrite($fh, $settings_header . $settings_content . $settings_footer)) {
427- reportError("0", __("Unable to write to settings.php. We already checked this was possible earlier, so something changed."));
428- }
429-
430- fclose($fh);
431-
432- ?>
433- </div>
434- <div class="install_table">
435- <form action="install.php" method="POST">
436- <input type="hidden" name="xibo_step" value="6" />
437- </div>
438- <button type="submit"><?php echo __("Next"); ?> ></button>
439- </form>
440- <?php
441-}
442-elseif ($xibo_step == 6) {
443- # Form to get new admin password
444- ?>
445- <div class="info">
446- <p><?php echo __("Xibo needs to set the \"xibo_admin\" user password. Please enter a password for this account below."); ?></p>
447- </div>
448- <div class="install_table">
449- <form action="install.php" method="POST">
450- <input type="hidden" name="xibo_step" value="7" />
451- <p><label for="password1"><?php echo __("Password:"); ?>&nbsp;</label><input type="password" name="password1" size="12" /></p>
452- <p><label for="password2"><?php echo __("Retype Password:"); ?>&nbsp;</label><input type="password" name="password2" size="12" /></p>
453- </div>
454- <button type="submit"><?php echo __("Next"); ?> ></button>
455- </form>
456- <?php
457-}
458-elseif ($xibo_step == 7) {
459- # Setup xibo_admin password
460- $password1 = Kit::GetParam('password1',_POST,_PASSWORD);
461- $password2 = Kit::GetParam('password2',_POST,_PASSWORD);
462-
463- if (!(($password1 && $password2) && ($password1 == $password2))) {
464- reportError("6", __("Please input a new password. Ensure both password fields are identical."));
465- }
466-
467- include('settings.php');
468-
469- $password_hash = md5($password1);
470-
471- $db = @mysql_connect($dbhost,$dbuser,$dbpass);
472-
473- if (! $db) {
474- reportError("6", __("Could not connect to MySQL with the Xibo User account details saved in settings.php. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
475- }
476-
477- @mysql_select_db($dbname,$db);
478-
479- $SQL = sprintf("UPDATE `user` SET UserPassword = '%s' WHERE UserID = 1 LIMIT 1",
480- mysql_real_escape_string($password_hash));
481- if (! @mysql_query($SQL, $db)) {
482- reportError("6", __("An error occured changing the xibo_admin password.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
483- }
484-
485- @mysql_close($db);
486-
487- ?>
488- <div class="info">
489- <?php echo __("Successfully changed the xibo_admin password. We're nearly there now. Just a couple more steps!"); ?>
490- </div>
491- <form action="install.php" method="POST">
492- <input type="hidden" name="xibo_step" value="8" />
493- <button type="submit"><?php echo __("Next"); ?> ></button>
494- </form>
495- <?php
496-}
497-elseif ($xibo_step == 8) {
498- # Configure paths and keys
499- ## nuSoap
500- ## libraries
501- ## server_key
502- ?>
503- <div class="info">
504- <p><b><?php echo __("Library Location"); ?></b></p>
505- <p><?php echo __("Xibo needs somewhere to store the things you upload to be shown. Ideally, this should be somewhere outside the root of your webserver - that is such that is not accessible by a web browser. Please input the full path to this folder. If the folder does not already exist, Xibo will attempt to create it for you."); ?></p>
506- <form action="install.php" method="POST">
507- <div class="install_table">
508- <p><label for="library_location"><?php echo __("Library Location:"); ?>&nbsp;</label><input type="text" name="library_location" value="" /></p>
509- </div>
510- <p><b><?php echo __("Server Key"); ?></b></p>
511- <p><?php echo __("Xibo needs you to choose a \"key\". This will be required each time you setup a new client. It should be complicated, and hard to remember. It is visible in the admin interface, so it need not be written down separately."); ?></p>
512- <div class="install_table">
513- <p><label for="server_key"><?php echo __("Server Key:"); ?> </label><input type="text" name="server_key" value="" /></p>
514- </div>
515- <p><b><?php echo __("Statistics"); ?></b></p>
516- <p><?php echo __("We'd love to know you're running Xibo. If you're happy for us to collect anonymous statistics (version number, number of displays) then please leave the box ticked. Please untick the box if your server does not have direct access to the internet."); ?></p>
517- <div class="install_table">
518- <p><label for="stats"><?php echo __("Anonymous Statistics:"); ?>&nbsp;</label><input type="checkbox" name="stats" value="true" checked /></p>
519- </div>
520- <input type="hidden" name="xibo_step" value="9" />
521- </div>
522- <button type="submit"><?php echo __("Next"); ?> ></button>
523- </form>
524- <?php
525-}
526-elseif ($xibo_step == 9) {
527-
528- $server_key = Kit::GetParam('server_key',_POST,_STRING);
529- $library_location = Kit::GetParam('library_location',_POST,_STRING);
530- $stats = Kit::GetParam('stats',_POST,_BOOL);
531-
532- // Remove trailing whitespace from the path given.
533- $library_location = trim($library_location);
534-
535- // Check both fields were completed
536- if (! ($server_key && $library_location)) {
537- reportError("8", __("A field was blank. Please make sure you complete all fields"));
538- }
539-
540- if ($stats) {
541- $stats="On"; // Fixme: translate ?
542- }
543- else {
544- $stats="Off"; //Fixme : translate ?
545- }
546-
547- // Does library_location exist already?
548- if (! is_dir($library_location)) {
549- if (is_file($library_location)) {
550- reportError("8", __("A file exists with the name you gave for the Library Location. Please choose another location"));
551- }
552-
553- // Directory does not exist. Attempt to make it
554- // Using mkdir recursively, so it will attempt to make any
555- // intermediate folders required.
556- if (! mkdir($library_location,0755,true)) {
557- reportError("8", __("Could not create the Library Location directory for you. Please ensure the webserver has permission to create a folder in this location, or create the folder manually and grant permission for the webserver to write to the folder."));
558- }
559-
560- }
561-
562- // Is library_location writable?
563- if (! is_writable($library_location)) {
564- // Directory is not writable.
565- reportError("8", __("The Library Location you gave is not writable by the webserver. Please fix the permissions and try again."));
566- }
567-
568- // Is library_location empty?
569- if (count(ls("*",$library_location,true)) > 0) {
570- reportError("8", __("The Library Location you gave is not empty. Please give the location of an empty folder"));
571- }
572-
573- // Check if the user has added a trailing slash.
574- // If not, add one.
575- if (!((substr($library_location, -1) == '/') || (substr($library_location, -1) == '\\'))) {
576- $library_location = $library_location . '/';
577- }
578-
579- include('settings.php');
580-
581- $db = @mysql_connect($dbhost,$dbuser,$dbpass);
582-
583- if (! $db) {
584- reportError("8", __("Could not connect to MySQL with the Xibo User account details saved in settings.php. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
585- }
586-
587- @mysql_select_db($dbname,$db);
588-
589- $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'LIBRARY_LOCATION' LIMIT 1",
590- mysql_real_escape_string($library_location));
591- if (! @mysql_query($SQL, $db)) {
592- reportError("8", __("An error occured changing the library location.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
593- }
594-
595- $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'SERVER_KEY' LIMIT 1",
596- mysql_real_escape_string($server_key));
597- if (! @mysql_query($SQL, $db)) {
598- reportError("8", __("An error occured changing the server key.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
599- }
600-
601- $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'defaultTimezone' LIMIT 1",
602- mysql_real_escape_string(date_default_timezone_get()));
603- if (! @mysql_query($SQL, $db)) {
604- reportError("8", __("An error occured setting the default timezone.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
605- }
606-
607- $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'PHONE_HOME' LIMIT 1",
608- mysql_real_escape_string($stats));
609- if (! @mysql_query($SQL, $db)) {
610- reportError("8", __("An error occured setting anonymous statistics.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
611- }
612- $SQL = "UPDATE `setting` SET `value` = '" . md5(uniqid(rand(), true)) . "' WHERE `setting`.`setting` = 'PHONE_HOME_KEY' LIMIT 1";
613- if (! @mysql_query($SQL, $db)) {
614- reportError("8", __("An error occured setting anonymous statistics.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
615- }
616-
617- @mysql_close($db);
618-
619- ?>
620- <div class="info">
621- <p><?php echo __("Successfully set library location and server key."); ?></p>
622- </div>
623- <form action="install.php" method="POST">
624- <input type="hidden" name="xibo_step" value="10" />
625- <button type="submit"><?php echo __("Next"); ?> ></button>
626- </form>
627- <?php
628-}
629-elseif ($xibo_step == 10) {
630-# Delete install.php
631-# Redirect to login page.
632- if (! unlink('install.php')) {
633- reportError("10", __("Unable to delete install.php. Please ensure the webserver has permission to unlink this file and retry"), __("Retry")); // Fixme : translate "Retry" ?
634- }
635- if (! unlink('upgrade.php')) {
636- reportError("10", __("Unable to delete upgrade.php. Please ensure the webserver has permission to unlink this file and retry"), __("Retry")); // Fixme : translate "Retry" ?
637- }
638- ?>
639- <div class="info">
640- <p><b><?php echo __("Xibo was successfully installed."); ?></b></p>
641- <p><?php echo __("Please click"); ?>&nbsp;<a href="index.php"><?php echo __("here"); ?></a>&nbsp;<?php echo __("to logon to Xibo as \"xibo_admin\" with the password you chose earlier."); ?></p>
642- </div>
643- <?php
644-}
645-else {
646- reportError("0", __("A required parameter was missing. Please go through the installer sequentially!"), __("Start Again")); // Fixme : translate "Start Again" ?
647-}
648-
649-include('install/footer.inc');
650-
651-# Functions
652-function checkFsPermissions() {
653- # Check for appropriate filesystem permissions
654- return ((is_writable("install.php") && (is_writable("settings.php")) && (is_writable("upgrade.php")) || is_writable(".")));
655-}
656-
657-function checkMySQL() {
658- # Check PHP has MySQL module installed
659- return extension_loaded("mysql");
660-}
661-
662-function checkJson() {
663- # Check PHP has JSON module installed
664- return extension_loaded("json");
665-}
666-
667-function checkGd() {
668- # Check PHP has JSON module installed
669- return extension_loaded("gd");
670-}
671-
672-function checkCal() {
673- # Check PHP has JSON module installed
674- return extension_loaded("calendar");
675-}
676-
677-function reportError($step, $message, $button_text="&lt; Back") { // fixme : translate ?
678-?>
679- <div class="info">
680- <?php print $message; ?>
681- </div>
682- <form action="install.php" method="POST">
683- <input type="hidden" name="xibo_step" value="<?php print $step; ?>"/>
684- <button type="submit"><?php print $button_text; ?></button>
685- </form>
686- <?php
687- include('install/footer.inc');
688- die();
689-}
690-
691-// Taken from http://forums.devshed.com/php-development-5/php-wont-load-sql-from-file-515902.html
692-// By Crackster
693-/**
694- * remove_remarks will strip the sql comment lines out of an uploaded sql file
695- */
696-function remove_remarks($sql){
697- $sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^[-].*$/m', "\n", $sql));
698- $sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql));
699- return $sql;
700-}
701-
702-// Taken from http://forums.devshed.com/php-development-5/php-wont-load-sql-from-file-515902.html
703-// By Crackster
704-/**
705- * split_sql_file will split an uploaded sql file into single sql statements.
706- * Note: expects trim() to have already been run on $sql.
707- */
708-function split_sql_file($sql, $delimiter){
709- $sql = str_replace("\r" , '', $sql);
710- $data = preg_split('/' . preg_quote($delimiter, '/') . '$/m', $sql);
711- $data = array_map('trim', $data);
712- // The empty case
713- $end_data = end($data);
714- if (empty($end_data))
715- {
716- unset($data[key($data)]);
717- }
718- return $data;
719-}
720-
721-/**
722- * This funtion will take a pattern and a folder as the argument and go thru it(recursivly if needed)and return the list of
723- * all files in that folder.
724- * Link : http://www.bin-co.com/php/scripts/filesystem/ls/
725- * License : BSD
726- * Arguments : $pattern - The pattern to look out for [OPTIONAL]
727- * $folder - The path of the directory of which's directory list you want [OPTIONAL]
728- * $recursivly - The funtion will traverse the folder tree recursivly if this is true. Defaults to false. [OPTIONAL]
729- * $options - An array of values 'return_files' or 'return_folders' or both
730- * Returns : A flat list with the path of all the files(no folders) that matches the condition given.
731- */
732-function ls($pattern="*", $folder="", $recursivly=false, $options=array('return_files','return_folders')) {
733- if($folder) {
734- $current_folder = realpath('.');
735- if(in_array('quiet', $options)) { // If quiet is on, we will suppress the 'no such folder' error
736- if(!file_exists($folder)) return array();
737- }
738-
739- if(!chdir($folder)) return array();
740- }
741-
742-
743- $get_files = in_array('return_files', $options);
744- $get_folders= in_array('return_folders', $options);
745- $both = array();
746- $folders = array();
747-
748- // Get the all files and folders in the given directory.
749- if($get_files) $both = glob($pattern, GLOB_BRACE + GLOB_MARK);
750- if($recursivly or $get_folders) $folders = glob("*", GLOB_ONLYDIR + GLOB_MARK);
751-
752- //If a pattern is specified, make sure even the folders match that pattern.
753- $matching_folders = array();
754- if($pattern !== '*') $matching_folders = glob($pattern, GLOB_ONLYDIR + GLOB_MARK);
755-
756- //Get just the files by removing the folders from the list of all files.
757- $all = array_values(array_diff($both,$folders));
758-
759- if($recursivly or $get_folders) {
760- foreach ($folders as $this_folder) {
761- if($get_folders) {
762- //If a pattern is specified, make sure even the folders match that pattern.
763- if($pattern !== '*') {
764- if(in_array($this_folder, $matching_folders)) array_push($all, $this_folder);
765- }
766- else array_push($all, $this_folder);
767- }
768-
769- if($recursivly) {
770- // Continue calling this function for all the folders
771- $deep_items = ls($pattern, $this_folder, $recursivly, $options); # :RECURSION:
772- foreach ($deep_items as $item) {
773- array_push($all, $this_folder . $item);
774- }
775- }
776- }
777- }
778-
779- if($folder) chdir($current_folder);
780- return $all;
781-}
782-
783-function gen_secret() {
784- # Generates a random 12 character alphanumeric string to use as a salt
785- mt_srand((double)microtime()*1000000);
786- $key = "";
787- for ($i=0; $i < 12; $i++) {
788- $c = mt_rand(0,2);
789- if ($c == 0) {
790- $key .= chr(mt_rand(65,90));
791- }
792- elseif ($c == 1) {
793- $key .= chr(mt_rand(97,122));
794- }
795- else {
796- $key .= chr(mt_rand(48,57));
797- }
798- }
799-
800- return $key;
801-}
802-
803-function checkPHP()
804-{
805- return (version_compare("5.2.4",phpversion(), "<="));
806-}
807-
808-function CheckGettext()
809-{
810- return extension_loaded("gettext");
811-}
812-
813-// Setup the translations for gettext
814-function __($string)
815-{
816- if (CheckGettext())
817- {
818- return _($string);
819- }
820- else
821- {
822- return $string;
823- }
824-}
825-
826-function settings_strings() {
827-global $settings_header;
828-global $settings_footer;
829-
830- $settings_header = <<<END
831-<?php
832-
833-/*
834- * Xibo - Digital Signage - http://www.xibo.org.uk
835- *
836- * This file is part of Xibo - and is automatically generated by the installer
837- *
838- * You should not need to edit this file, unless your SQL connection details have changed.
839- */
840-
841-defined('XIBO') or die(__("Sorry, you are not allowed to directly access this page.") . "<br />" . __("Please press the back button in your browser."));
842-
843-global \$dbhost;
844-global \$dbuser;
845-global \$dbpass;
846-global \$dbname;
847-
848-
849-END;
850-
851-$settings_footer = <<<END
852-?>
853-END;
854-
855- return;
856-}
857-?>
858
859=== modified file 'server/install/database/65.sql'
860--- server/install/database/65.sql 2013-11-11 09:06:47 +0000
861+++ server/install/database/65.sql 2014-01-19 13:57:27 +0000
862@@ -1,4 +1,5 @@
863
864+<<<<<<< TREE
865 INSERT INTO `setting` (`settingid`, `setting`, `value`, `type`, `helptext`, `options`, `cat`, `userChange`)
866 VALUES (NULL, 'SCHEDULE_WITH_VIEW_PERMISSION', 'No', 'dropdown', 'Should users with View permissions on displays be allowed to schedule to them?', 'Yes|No', 'permissions', '1');
867
868@@ -7,5 +8,8 @@
869 UPDATE `menuitem` SET `Args`='manual/index.php' WHERE `Text`='Manual';
870
871 UPDATE `version` SET `app_ver` = '1.5.2', `XmdsVersion` = 3;
872+=======
873+UPDATE `version` SET `app_ver` = '1.6.0-rc1', `XmdsVersion` = 3;
874+>>>>>>> MERGE-SOURCE
875 UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
876-UPDATE `version` SET `DBVersion` = '65';
877\ No newline at end of file
878+UPDATE `version` SET `DBVersion` = '66';
879\ No newline at end of file
880
881=== added file 'server/install/database/66.sql'
882--- server/install/database/66.sql 1970-01-01 00:00:00 +0000
883+++ server/install/database/66.sql 2014-01-19 13:57:27 +0000
884@@ -0,0 +1,83 @@
885+DELETE FROM `help`;
886+
887+INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
888+(1, 'Layout', 'General', 'manual/single.php?p=layout/overview'),
889+(2, 'Content', 'General', 'manual/single.php?p=content/overview'),
890+(4, 'Schedule', 'General', 'manual/single.php?p=schedule/overview'),
891+(5, 'Group', 'General', 'manual/single.php?p=users/groups'),
892+(6, 'Admin', 'General', 'manual/single.php?p=admin/settings'),
893+(7, 'Report', 'General', 'manual/single.php?p=admin/advanced'),
894+(8, 'Dashboard', 'General', 'manual/single.php?p=coreconcepts/dashboard'),
895+(9, 'User', 'General', 'manual/single.php?p=users/users'),
896+(10, 'Display', 'General', 'manual/single.php?p=admin/displays'),
897+(11, 'DisplayGroup', 'General', 'manual/single.php?p=admin/displaygroups'),
898+(12, 'Layout', 'Add', 'manual/single.php?p=layout/overview#Add_Layout'),
899+(13, 'Layout', 'Background', 'manual/single.php?p=layout/layoutdesigner#Background'),
900+(14, 'Content', 'Assign', 'manual/single.php?p=layout/assigncontent#Assigning_Content'),
901+(15, 'Layout', 'RegionOptions', 'manual/single.php?p=layout/assigncontent'),
902+(16, 'Content', 'AddtoLibrary', 'manual/single.php?p=content/adding'),
903+(17, 'Display', 'Edit', 'manual/single.php?p=admin/displays#Display_Edit'),
904+(18, 'Display', 'Delete', 'manual/single.php?p=admin/displays#Display_Delete'),
905+(19, 'Displays', 'Groups', 'manual/single.php?p=admin/displaygroups#Group_Members'),
906+(20, 'UserGroup', 'Add', 'manual/single.php?p=users/groups#Adding_Group'),
907+(21, 'User', 'Add', 'manual/single.php?p=users/users#Add_User'),
908+(22, 'User', 'Delete', 'manual/single.php?p=users/users#Delete_User'),
909+(23, 'Content', 'Config', 'manual/single.php?p=admin/settings#Content'),
910+(24, 'LayoutMedia', 'Permissions', 'manual/single.php?p=users/user_permissions'),
911+(25, 'Region', 'Permissions', 'manual/single.php?p=users/user_permissions'),
912+(26, 'Library', 'Assign', 'manual/single.php?p=layout/assigncontent#Add_From_Library'),
913+(27, 'Media', 'Delete', 'manual/single.php?p=content/deleting'),
914+(28, 'DisplayGroup', 'Add', 'manual/single.php?p=admin/displaygroups#Add_Group'),
915+(29, 'DisplayGroup', 'Edit', 'manual/single.php?p=admin/displaygroups#Edit_Group'),
916+(30, 'DisplayGroup', 'Delete', 'manual/single.php?p=admin/displaygroups#Delete_Group'),
917+(31, 'DisplayGroup', 'Members', 'manual/single.php?p=admin/displaygroups#Group_Members'),
918+(32, 'DisplayGroup', 'Permissions', 'manual/single.php?p=users/user_permissions'),
919+(34, 'Schedule', 'ScheduleNow', 'manual/single.php?p=schedule/schedule_now'),
920+(35, 'Layout', 'Delete', 'manual/single.php?p=layout/overview#Delete_Layout'),
921+(36, 'Layout', 'Copy', 'manual/single.php?p=layout/overview#Copy_Layout'),
922+(37, 'Schedule', 'Edit', 'manual/single.php?p=schedule/schedule_event'),
923+(38, 'Schedule', 'Add', 'manual/single.php?p=schedule/schedule_event'),
924+(39, 'Layout', 'Permissions', 'manual/single.php?p=users/user_permissions'),
925+(40, 'Display', 'MediaInventory', 'manual/single.php?p=admin/displays#Media_Inventory'),
926+(41, 'User', 'ChangePassword', 'manual/single.php?p=coreconcepts/navbar#Change_Password'),
927+(42, 'Schedule', 'Delete', 'manual/single.php?p=schedule/schedule_event'),
928+(43, 'Layout', 'Edit', 'manual/single.php?p=layout/overview#Edit_Layout'),
929+(44, 'Media', 'Permissions', 'manual/single.php?p=users/user_permissions'),
930+(45, 'Display', 'DefaultLayout', 'manual/single.php?p=admin/displays'),
931+(46, 'UserGroup', 'Edit', 'manual/single.php?p=users/groups#Edit_Group'),
932+(47, 'UserGroup', 'Members', 'manual/single.php?p=users/groups#Group_Member'),
933+(48, 'User', 'PageSecurity', 'manual/single.php?p=users/menu_page_security#Page_Security'),
934+(49, 'User', 'MenuSecurity', 'manual/single.php?p=users/menu_page_security#Menu_Security'),
935+(50, 'UserGroup', 'Delete', 'manual/single.php?p=users/groups#Delete_Group'),
936+(51, 'User', 'Edit', 'manual/single.php?p=users/users#Edit_User'),
937+(52, 'User', 'Applications', 'manual/single.php?p=users/users#Users_MyApplications'),
938+(53, 'User', 'SetHomepage', 'manual/single.php?p=coreconcepts/dashboard#Media_Dashboard'),
939+(54, 'DataSet', 'General', 'manual/single.php?p=content/content_dataset'),
940+(55, 'DataSet', 'Add', 'manual/single.php?p=content/content_dataset#Create_Dataset'),
941+(56, 'DataSet', 'Edit', 'manual/single.php?p=content/content_dataset#Edit_Dataset'),
942+(57, 'DataSet', 'Delete', 'manual/single.php?p=content/content_dataset#Delete_Dataset'),
943+(58, 'DataSet', 'AddColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
944+(59, 'DataSet', 'EditColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
945+(60, 'DataSet', 'DeleteColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
946+(61, 'DataSet', 'Data', 'manual/single.php?p=content/content_dataset#Dataset_Row'),
947+(62, 'DataSet', 'Permissions', 'manual/single.php?p=users/user_permissions'),
948+(63, 'Fault', 'General', 'manual/single.php?p=admin/advanced#Report_Fault'),
949+(65, 'Stats', 'General', 'manual/single.php?p=admin/displaystats'),
950+(66, 'Resolution', 'General', 'manual/single.php?p=templates/template_resolution'),
951+(67, 'Template', 'General', 'manual/single.php?p=templates/overview'),
952+(68, 'Services', 'Register', 'manual/single.php?p=admin/api_oauth#Registered_Applications'),
953+(69, 'OAuth', 'General', 'manual/single.php?p=admin/api_oauth'),
954+(70, 'Services', 'Log', 'manual/single.php?p=admin/api_oauth#oAuthLog'),
955+(71, 'Module', 'Edit', 'manual/single.php?p=admin/modules'),
956+(72, 'Module', 'General', 'manual/single.php?p=admin/modules'),
957+(73, 'Campaign', 'General', 'manual/single.php?p=layout/campaign_layout'),
958+(74, 'License', 'General', 'manual/single.php?p=license/licenses'),
959+(75, 'DataSet', 'ViewColumns', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
960+(76, 'Campaign', 'Permissions', 'manual/single.php?p=users/user_permissions'),
961+(77, 'Transition', 'Edit', 'manual/single.php?p=layout/transitions'),
962+(78, 'User', 'SetPassword', 'manual/single.php?p=users/users#Set_Password'),
963+(79, 'DataSet', 'ImportCSV', 'manual/single.php?p=content/content_dataset#Import_CSV');
964+
965+UPDATE `version` SET `app_ver` = '1.6.0-rc1', `XmdsVersion` = 3;
966+UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
967+UPDATE `version` SET `DBVersion` = '66';
968\ No newline at end of file
969
970=== modified file 'server/install/header.inc'
971--- server/install/header.inc 2013-05-01 19:25:37 +0000
972+++ server/install/header.inc 2014-01-19 13:57:27 +0000
973@@ -1,6 +1,6 @@
974 <?php
975 /*
976- * Xibo - Digitial Signage - http://www.xibo.org.uk
977+ * Xibo - Digital Signage - http://www.xibo.org.uk
978 * Copyright (C) 2006-2013 Daniel Garner
979 *
980 * This file is part of Xibo.
981
982=== modified file 'server/install/header_upgrade.inc'
983--- server/install/header_upgrade.inc 2013-05-01 19:25:37 +0000
984+++ server/install/header_upgrade.inc 2014-01-19 13:57:27 +0000
985@@ -1,6 +1,6 @@
986 <?php
987 /*
988- * Xibo - Digitial Signage - http://www.xibo.org.uk
989+ * Xibo - Digital Signage - http://www.xibo.org.uk
990 * Copyright (C) 2006-2013 Daniel Garner
991 *
992 * This file is part of Xibo.
993
994=== modified file 'server/install/install.css'
995--- server/install/install.css 2013-05-01 19:25:37 +0000
996+++ server/install/install.css 2014-01-19 13:57:27 +0000
997@@ -1,5 +1,5 @@
998 /*
999- * Xibo - Digitial Signage - http://www.xibo.org.uk
1000+ * Xibo - Digital Signage - http://www.xibo.org.uk
1001 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
1002 *
1003 * This file is part of Xibo.
1004
1005=== modified file 'server/install/master/data.sql'
1006--- server/install/master/data.sql 2013-11-11 09:06:47 +0000
1007+++ server/install/master/data.sql 2014-01-19 13:57:27 +0000
1008@@ -1,5 +1,5 @@
1009 INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES
1010-('1.5.2', 3, 1, 65);
1011+('1.6.0-rc1', 3, 1, 66);
1012
1013 INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES
1014 (1, 'Users', 0, 0),
1015@@ -7,82 +7,82 @@
1016 (3, 'xibo_admin', 1, 0);
1017
1018 INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
1019-(1, 'Layout', 'General', 'manual/content/layout/overview.php'),
1020-(2, 'Content', 'General', 'manual/content/content/types.php'),
1021-(4, 'Schedule', 'General', 'manual/content/schedule/schedule_calendar.php'),
1022-(5, 'Group', 'General', 'manual/content/users/groups.php'),
1023-(6, 'Admin', 'General', 'manual/content/admin/settings.php'),
1024-(7, 'Report', 'General', 'manual/content/admin/advanced.php'),
1025-(8, 'Dashboard', 'General', 'manual/content/dashboard/dashboard.php'),
1026-(9, 'User', 'General', 'manual/content/users/users.php'),
1027-(10, 'Display', 'General', 'manual/content/admin/displays.php'),
1028-(11, 'DisplayGroup', 'General', 'manual/content/admin/displays.php#Display_Group'),
1029-(12, 'Layout', 'Add', 'manual/content/layout/addlayout.php'),
1030-(13, 'Layout', 'Background', 'manual/content/layout/layoutdesigner.php#Background'),
1031-(14, 'Content', 'Assign', 'manual/content/content/types.php'),
1032-(15, 'Layout', 'RegionOptions', 'manual/content/layout/addregion.php'),
1033-(16, 'Content', 'AddtoLibrary', 'manual/content/content/adding.php'),
1034-(17, 'Display', 'Edit', 'manual/content/admin/displays.php#Display_Edit'),
1035-(18, 'Display', 'Delete', 'manual/content/admin/displays.php#Display_Delete'),
1036-(19, 'Displays', 'Groups', 'manual/content/admin/displays.php#Display_Group'),
1037-(20, 'UserGroup', 'Add', 'manual/content/users/groups.php#Adding_Group'),
1038-(21, 'User', 'Add', 'manual/content/users/users.php#Adding_User'),
1039-(22, 'User', 'Delete', 'manual/content/users/users.php#Delete_User'),
1040-(23, 'Content', 'Config', 'manual/content/admin/settings.php#Content'),
1041-(24, 'LayoutMedia', 'Permissions', 'manual/content/layout/addlayout.php#Layout_Permission'),
1042-(25, 'Region', 'Permissions', 'manual/content/layout/addregion.php#Region_Permissions'),
1043-(26, 'Library', 'Assign', 'manual/content/layout/assigncontent.php#Add_From_Library'),
1044-(27, 'Media', 'Delete', 'manual/content/content/types.php'),
1045-(28, 'DisplayGroup', 'Add', 'manual/content/admin/displays.php#Display_Group'),
1046-(29, 'DisplayGroup', 'Edit', 'manual/content/admin/displays.php#Display_Group'),
1047-(30, 'DisplayGroup', 'Delete', 'manual/content/admin/displays.php#Display_Group'),
1048-(31, 'DisplayGroup', 'Members', 'manual/content/admin/displays.php#Group_Members'),
1049-(32, 'DisplayGroup', 'Permissions', 'manual/content/users/user_permissions.php'),
1050-(34, 'Schedule', 'ScheduleNow', 'manual/content/schedule/schedule_now.php'),
1051-(35, 'Layout', 'Delete', 'manual/content/layout/addlayout.php#Delete_Layout'),
1052-(36, 'Layout', 'Copy', 'manual/content/layout/addlayout.php#Copy_Layout'),
1053-(37, 'Schedule', 'Edit', 'manual/content/schedule/schedule_calendar.php'),
1054-(38, 'Schedule', 'Add', 'manual/content/schedule/schedule_calendar.php'),
1055-(39, 'Layout', 'Permissions', 'manual/content/layout/addregion.php#Region_Permissions'),
1056-(40, 'Display', 'MediaInventory', 'manual/content/admin/displays.php#Media_Inventory'),
1057-(41, 'User', 'ChangePassword', 'manual/content/dashboard/navbar.php#Navigation_Top'),
1058-(42, 'Schedule', 'Delete', 'manual/content/schedule/schedule_event.htm'),
1059-(43, 'Layout', 'Edit', 'manual/content/layout/addlayout.php#Edit_Layout'),
1060-(44, 'Media', 'Permissions', 'manual/content/users/user_permissions.php'),
1061-(45, 'Display', 'DefaultLayout', 'manual/content/admin/displays.php'),
1062-(46, 'UserGroup', 'Edit', 'manual/content/users/groups.php#Edit_Group'),
1063-(47, 'UserGroup', 'Members', 'manual/content/users/groups.php#Group_Member'),
1064-(48, 'User', 'PageSecurity', 'manual/content/users/menu_page_security.php#Page_Security'),
1065-(49, 'User', 'MenuSecurity', 'manual/content/users/menu_page_security.php#Menu_Security'),
1066-(50, 'UserGroup', 'Delete', 'manual/content/users/groups.php#Delete_Group'),
1067-(51, 'User', 'Edit', 'manual/content/users/users.php#Edit_User'),
1068-(52, 'User', 'Applications', 'manual/content/users/menu_page_security.php'),
1069-(53, 'User', 'SetHomepage', 'manual/content/dashboard/dashboard.php#Media_Dashboard'),
1070-(54, 'DataSet', 'General', 'manual/content/layout/content_datasets.php'),
1071-(55, 'DataSet', 'Add', 'manual/content/layout/content_datasets.php#Create_Dataset'),
1072-(56, 'DataSet', 'Edit', 'manual/content/layout/content_datasets.php#Create_Dataset'),
1073-(57, 'DataSet', 'Delete', 'manual/content/layout/content_datasets.php#Create_Dataset'),
1074-(58, 'DataSet', 'AddColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),
1075-(59, 'DataSet', 'EditColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),
1076-(60, 'DataSet', 'DeleteColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),
1077-(61, 'DataSet', 'Data', 'manual/content/layout/content_datasets.php#Dataset_Row'),
1078-(62, 'DataSet', 'Permissions', 'manual/content/users/user_permissions.php'),
1079-(63, 'Fault', 'General', 'manual/content/admin/advanced.php'),
1080-(64, 'Report', 'General', 'manual/content/admin/advanced.php'),
1081-(65, 'Stats', 'General', 'manual/content/admin/displays.php#Display_Statistic'),
1082-(66, 'Resolution', 'General', 'manual/content/templates/template_resolution.php'),
1083-(67, 'Template', 'General', 'manual/content/templates/overview.php'),
1084-(68, 'Services', 'Register', 'manual/content/admin/api.php'),
1085-(69, 'OAuth', 'General', 'manual/content/admin/api.php'),
1086-(70, 'Services', 'Log', 'manual/content/admin/advanced.php'),
1087-(71, 'Module', 'Edit', 'manual/content/admin/modules.php'),
1088-(72, 'Module', 'General', 'manual/content/admin/modules.php'),
1089-(73, 'Campaign', 'General', 'manual/content/layout/campaign_layout.php'),
1090-(74, 'License', 'General', 'manual/content/license/licenses.php'),
1091-(75, 'DataSet', 'ViewColumns', 'manual/content/layout/content_datasets.php#Dataset_Column'),
1092-(76, 'Campaign', 'Permissions', 'manual/content/layout/addlayout.php#Layout_Permission'),
1093-(77, 'Transition', 'Edit', 'manual/content/transitions/transitions.php#Edit'),
1094-(78, 'User', 'SetPassword', 'manual/content/users/users.php#Set_Password');
1095+(1, 'Layout', 'General', 'manual/single.php?p=layout/overview'),
1096+(2, 'Content', 'General', 'manual/single.php?p=content/overview'),
1097+(4, 'Schedule', 'General', 'manual/single.php?p=schedule/overview'),
1098+(5, 'Group', 'General', 'manual/single.php?p=users/groups'),
1099+(6, 'Admin', 'General', 'manual/single.php?p=admin/settings'),
1100+(7, 'Report', 'General', 'manual/single.php?p=admin/advanced'),
1101+(8, 'Dashboard', 'General', 'manual/single.php?p=coreconcepts/dashboard'),
1102+(9, 'User', 'General', 'manual/single.php?p=users/users'),
1103+(10, 'Display', 'General', 'manual/single.php?p=admin/displays'),
1104+(11, 'DisplayGroup', 'General', 'manual/single.php?p=admin/displaygroups'),
1105+(12, 'Layout', 'Add', 'manual/single.php?p=layout/overview#Add_Layout'),
1106+(13, 'Layout', 'Background', 'manual/single.php?p=layout/layoutdesigner#Background'),
1107+(14, 'Content', 'Assign', 'manual/single.php?p=layout/assigncontent#Assigning_Content'),
1108+(15, 'Layout', 'RegionOptions', 'manual/single.php?p=layout/assigncontent'),
1109+(16, 'Content', 'AddtoLibrary', 'manual/single.php?p=content/adding'),
1110+(17, 'Display', 'Edit', 'manual/single.php?p=admin/displays#Display_Edit'),
1111+(18, 'Display', 'Delete', 'manual/single.php?p=admin/displays#Display_Delete'),
1112+(19, 'Displays', 'Groups', 'manual/single.php?p=admin/displaygroups#Group_Members'),
1113+(20, 'UserGroup', 'Add', 'manual/single.php?p=users/groups#Adding_Group'),
1114+(21, 'User', 'Add', 'manual/single.php?p=users/users#Add_User'),
1115+(22, 'User', 'Delete', 'manual/single.php?p=users/users#Delete_User'),
1116+(23, 'Content', 'Config', 'manual/single.php?p=admin/settings#Content'),
1117+(24, 'LayoutMedia', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1118+(25, 'Region', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1119+(26, 'Library', 'Assign', 'manual/single.php?p=layout/assigncontent#Add_From_Library'),
1120+(27, 'Media', 'Delete', 'manual/single.php?p=content/deleting'),
1121+(28, 'DisplayGroup', 'Add', 'manual/single.php?p=admin/displaygroups#Add_Group'),
1122+(29, 'DisplayGroup', 'Edit', 'manual/single.php?p=admin/displaygroups#Edit_Group'),
1123+(30, 'DisplayGroup', 'Delete', 'manual/single.php?p=admin/displaygroups#Delete_Group'),
1124+(31, 'DisplayGroup', 'Members', 'manual/single.php?p=admin/displaygroups#Group_Members'),
1125+(32, 'DisplayGroup', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1126+(34, 'Schedule', 'ScheduleNow', 'manual/single.php?p=schedule/schedule_now'),
1127+(35, 'Layout', 'Delete', 'manual/single.php?p=layout/overview#Delete_Layout'),
1128+(36, 'Layout', 'Copy', 'manual/single.php?p=layout/overview#Copy_Layout'),
1129+(37, 'Schedule', 'Edit', 'manual/single.php?p=schedule/schedule_event'),
1130+(38, 'Schedule', 'Add', 'manual/single.php?p=schedule/schedule_event'),
1131+(39, 'Layout', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1132+(40, 'Display', 'MediaInventory', 'manual/single.php?p=admin/displays#Media_Inventory'),
1133+(41, 'User', 'ChangePassword', 'manual/single.php?p=coreconcepts/navbar#Change_Password'),
1134+(42, 'Schedule', 'Delete', 'manual/single.php?p=schedule/schedule_event'),
1135+(43, 'Layout', 'Edit', 'manual/single.php?p=layout/overview#Edit_Layout'),
1136+(44, 'Media', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1137+(45, 'Display', 'DefaultLayout', 'manual/single.php?p=admin/displays'),
1138+(46, 'UserGroup', 'Edit', 'manual/single.php?p=users/groups#Edit_Group'),
1139+(47, 'UserGroup', 'Members', 'manual/single.php?p=users/groups#Group_Member'),
1140+(48, 'User', 'PageSecurity', 'manual/single.php?p=users/menu_page_security#Page_Security'),
1141+(49, 'User', 'MenuSecurity', 'manual/single.php?p=users/menu_page_security#Menu_Security'),
1142+(50, 'UserGroup', 'Delete', 'manual/single.php?p=users/groups#Delete_Group'),
1143+(51, 'User', 'Edit', 'manual/single.php?p=users/users#Edit_User'),
1144+(52, 'User', 'Applications', 'manual/single.php?p=users/users#Users_MyApplications'),
1145+(53, 'User', 'SetHomepage', 'manual/single.php?p=coreconcepts/dashboard#Media_Dashboard'),
1146+(54, 'DataSet', 'General', 'manual/single.php?p=content/content_dataset'),
1147+(55, 'DataSet', 'Add', 'manual/single.php?p=content/content_dataset#Create_Dataset'),
1148+(56, 'DataSet', 'Edit', 'manual/single.php?p=content/content_dataset#Edit_Dataset'),
1149+(57, 'DataSet', 'Delete', 'manual/single.php?p=content/content_dataset#Delete_Dataset'),
1150+(58, 'DataSet', 'AddColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
1151+(59, 'DataSet', 'EditColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
1152+(60, 'DataSet', 'DeleteColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
1153+(61, 'DataSet', 'Data', 'manual/single.php?p=content/content_dataset#Dataset_Row'),
1154+(62, 'DataSet', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1155+(63, 'Fault', 'General', 'manual/single.php?p=admin/advanced#Report_Fault'),
1156+(65, 'Stats', 'General', 'manual/single.php?p=admin/displaystats'),
1157+(66, 'Resolution', 'General', 'manual/single.php?p=templates/template_resolution'),
1158+(67, 'Template', 'General', 'manual/single.php?p=templates/overview'),
1159+(68, 'Services', 'Register', 'manual/single.php?p=admin/api_oauth#Registered_Applications'),
1160+(69, 'OAuth', 'General', 'manual/single.php?p=admin/api_oauth'),
1161+(70, 'Services', 'Log', 'manual/single.php?p=admin/api_oauth#oAuthLog'),
1162+(71, 'Module', 'Edit', 'manual/single.php?p=admin/modules'),
1163+(72, 'Module', 'General', 'manual/single.php?p=admin/modules'),
1164+(73, 'Campaign', 'General', 'manual/single.php?p=layout/campaign_layout'),
1165+(74, 'License', 'General', 'manual/single.php?p=license/licenses'),
1166+(75, 'DataSet', 'ViewColumns', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
1167+(76, 'Campaign', 'Permissions', 'manual/single.php?p=users/user_permissions'),
1168+(77, 'Transition', 'Edit', 'manual/single.php?p=layout/transitions'),
1169+(78, 'User', 'SetPassword', 'manual/single.php?p=users/users#Set_Password'),
1170+(79, 'DataSet', 'ImportCSV', 'manual/single.php?p=content/content_dataset#Import_CSV');
1171
1172 INSERT INTO `menu` (`MenuID`, `Menu`) VALUES
1173 (8, 'Administration Menu'),
1174@@ -95,15 +95,20 @@
1175
1176 INSERT INTO `module` (`ModuleID`, `Module`, `Name`, `Enabled`, `RegionSpecific`, `Description`, `ImageUri`, `SchemaVersion`, `ValidExtensions`, `PreviewEnabled`) VALUES
1177 (1, 'Image', 'Image', 1, 0, 'Images. PNG, JPG, BMP, GIF', 'forms/image.gif', 1, 'jpg,jpeg,png,bmp,gif', 1),
1178-(2, 'Video', 'Video', 1, 0, 'Videos. WMV.', 'forms/video.gif', 1, 'wmv,avi,mpg,mpeg', 1),
1179+(2, 'Video', 'Video', 1, 0, 'Videos - support varies depending on the client hardware you are using.', 'forms/video.gif', 1, 'wmv,avi,mpg,mpeg,webm,mp4', 1),
1180 (3, 'Flash', 'Flash', 1, 0, 'Flash', 'forms/flash.gif', 1, 'swf', 1),
1181 (4, 'PowerPoint', 'PowerPoint', 1, 0, 'Powerpoint. PPT, PPS', 'forms/powerpoint.gif', 1, 'ppt,pps,pptx', 1),
1182 (5, 'Webpage', 'Webpage', 1, 1, 'Webpages.', 'forms/webpage.gif', 1, NULL, 1),
1183 (6, 'Ticker', 'Ticker', 1, 1, 'RSS Ticker.', 'forms/ticker.gif', 1, NULL, 1),
1184 (7, 'Text', 'Text', 1, 1, 'Text. With Directional Controls.', 'forms/text.gif', 1, NULL, 1),
1185 (8, 'Embedded', 'Embedded', 1, 1, 'Embedded HTML', 'forms/webpage.gif', 1, NULL, 1),
1186+<<<<<<< TREE
1187 (9, 'MicroBlog', 'MicroBlog', 0, 1, NULL, 'forms/microblog.gif', 1, NULL, 1),
1188 (10, 'Counter', 'Counter', 1, 1, 'Customer Counter connected to a Remote Control', 'forms/counter.gif', 1, NULL, 1),
1189+=======
1190+(9, 'MicroBlog', 'MicroBlog', 0, 1, NULL, 'forms/microblog.gif', 1, NULL, 1),
1191+(10, 'Counter', 'Counter', 0, 1, 'Customer Counter connected to a Remote Control', 'forms/counter.gif', 1, NULL, 1),
1192+>>>>>>> MERGE-SOURCE
1193 (11, 'datasetview', 'Data Set', 1, 1, 'A view on a DataSet', 'forms/datasetview.gif', 1, NULL, 1),
1194 (12, 'shellcommand', 'Shell Command', 1, 1, 'Execute a shell command on the client', 'forms/shellcommand.gif', 1, NULL, 1),
1195 (13, 'localvideo', 'Local Video', 0, 1, 'Play a video locally stored on the client', 'forms/video.gif', 1, NULL, 1);
1196
1197=== modified file 'server/lib/app/app_functions.php'
1198--- server/lib/app/app_functions.php 2013-11-03 11:24:11 +0000
1199+++ server/lib/app/app_functions.php 2014-01-19 13:57:27 +0000
1200@@ -1,6 +1,6 @@
1201 <?php
1202 /*
1203- * Xibo - Digitial Signage - http://www.xibo.org.uk
1204+ * Xibo - Digital Signage - http://www.xibo.org.uk
1205 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
1206 *
1207 * This file is part of Xibo.
1208
1209=== modified file 'server/lib/app/datemanager.class.php'
1210--- server/lib/app/datemanager.class.php 2013-05-01 19:25:37 +0000
1211+++ server/lib/app/datemanager.class.php 2014-01-19 13:57:27 +0000
1212@@ -1,6 +1,6 @@
1213 <?php
1214 /*
1215- * Xibo - Digitial Signage - http://www.xibo.org.uk
1216+ * Xibo - Digital Signage - http://www.xibo.org.uk
1217 * Copyright (C) 2009-13 Daniel Garner
1218 *
1219 * This file is part of Xibo.
1220
1221=== modified file 'server/lib/app/debug.class.php'
1222--- server/lib/app/debug.class.php 2013-08-21 22:27:13 +0000
1223+++ server/lib/app/debug.class.php 2014-01-19 13:57:27 +0000
1224@@ -1,6 +1,6 @@
1225 <?php
1226 /*
1227- * Xibo - Digitial Signage - http://www.xibo.org.uk
1228+ * Xibo - Digital Signage - http://www.xibo.org.uk
1229 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
1230 *
1231 * This file is part of Xibo.
1232
1233=== modified file 'server/lib/app/formmanager.class.php'
1234--- server/lib/app/formmanager.class.php 2013-05-01 19:24:35 +0000
1235+++ server/lib/app/formmanager.class.php 2014-01-19 13:57:27 +0000
1236@@ -1,6 +1,6 @@
1237 <?php
1238 /*
1239- * Xibo - Digitial Signage - http://www.xibo.org.uk
1240+ * Xibo - Digital Signage - http://www.xibo.org.uk
1241 * Copyright (C) 2006,2007,2008 Daniel Garner
1242 *
1243 * This file is part of Xibo.
1244
1245=== modified file 'server/lib/app/helpmanager.class.php'
1246--- server/lib/app/helpmanager.class.php 2013-05-01 19:24:35 +0000
1247+++ server/lib/app/helpmanager.class.php 2014-01-19 13:57:27 +0000
1248@@ -1,6 +1,6 @@
1249 <?php
1250 /*
1251- * Xibo - Digitial Signage - http://www.xibo.org.uk
1252+ * Xibo - Digital Signage - http://www.xibo.org.uk
1253 * Copyright (C) 2006,2007,2008 Daniel Garner
1254 *
1255 * This file is part of Xibo.
1256
1257=== modified file 'server/lib/app/kit.class.php'
1258--- server/lib/app/kit.class.php 2013-09-03 10:06:55 +0000
1259+++ server/lib/app/kit.class.php 2014-01-19 13:57:27 +0000
1260@@ -1,6 +1,6 @@
1261 <?php
1262 /*
1263- * Xibo - Digitial Signage - http://www.xibo.org.uk
1264+ * Xibo - Digital Signage - http://www.xibo.org.uk
1265 * Copyright (C) 2006-2013 Daniel Garner and James Packer
1266 *
1267 * This file is part of Xibo.
1268@@ -61,7 +61,6 @@
1269 }
1270 else
1271 {
1272- header( 'HTTP/1.1 301 Moved Permanently' );
1273 header( 'Location: ' . $url );
1274 }
1275
1276@@ -615,5 +614,19 @@
1277 return false;
1278 }
1279 }
1280+
1281+ /**
1282+ * Format Bytes
1283+ * http://stackoverflow.com/questions/2510434/format-bytes-to-kilobytes-megabytes-gigabytes
1284+ * @param [int] $size The file size in bytes
1285+ * @param integer $precision The precision to go to
1286+ * @return [string] The Formatted string with suffix
1287+ */
1288+ public static function formatBytes($size, $precision = 2) {
1289+ $base = log($size) / log(1024);
1290+ $suffixes = array('', 'k', 'M', 'G', 'T');
1291+
1292+ return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
1293+ }
1294 }
1295 ?>
1296
1297=== modified file 'server/lib/app/menumanager.class.php'
1298--- server/lib/app/menumanager.class.php 2013-05-01 19:24:35 +0000
1299+++ server/lib/app/menumanager.class.php 2014-01-19 13:57:27 +0000
1300@@ -1,6 +1,6 @@
1301 <?php
1302 /*
1303- * Xibo - Digitial Signage - http://www.xibo.org.uk
1304+ * Xibo - Digital Signage - http://www.xibo.org.uk
1305 * Copyright (C) 2006,2007,2008 Daniel Garner
1306 *
1307 * This file is part of Xibo.
1308
1309=== modified file 'server/lib/app/modulemanager.class.php'
1310--- server/lib/app/modulemanager.class.php 2013-05-01 19:24:35 +0000
1311+++ server/lib/app/modulemanager.class.php 2014-01-19 13:57:27 +0000
1312@@ -1,6 +1,6 @@
1313 <?php
1314 /*
1315- * Xibo - Digitial Signage - http://www.xibo.org.uk
1316+ * Xibo - Digital Signage - http://www.xibo.org.uk
1317 * Copyright (C) 2006-2012 Daniel Garner
1318 *
1319 * This file is part of Xibo.
1320
1321=== modified file 'server/lib/app/pagemanager.class.php'
1322--- server/lib/app/pagemanager.class.php 2013-11-03 11:24:11 +0000
1323+++ server/lib/app/pagemanager.class.php 2014-01-19 13:57:27 +0000
1324@@ -1,6 +1,6 @@
1325 <?php
1326 /*
1327- * Xibo - Digitial Signage - http://www.xibo.org.uk
1328+ * Xibo - Digital Signage - http://www.xibo.org.uk
1329 * Copyright (C) 2006-2013 Daniel Garner
1330 *
1331 * This file is part of Xibo.
1332
1333=== modified file 'server/lib/app/pdoconnect.class.php'
1334--- server/lib/app/pdoconnect.class.php 2013-08-21 09:51:59 +0000
1335+++ server/lib/app/pdoconnect.class.php 2014-01-19 13:57:27 +0000
1336@@ -1,6 +1,6 @@
1337 <?php
1338 /*
1339- * Xibo - Digitial Signage - http://www.xibo.org.uk
1340+ * Xibo - Digital Signage - http://www.xibo.org.uk
1341 * Copyright (C) 2006-2013 Daniel Garner
1342 *
1343 * This file is part of Xibo.
1344
1345=== modified file 'server/lib/app/permissionmanager.class.php'
1346--- server/lib/app/permissionmanager.class.php 2013-05-01 19:24:35 +0000
1347+++ server/lib/app/permissionmanager.class.php 2014-01-19 13:57:27 +0000
1348@@ -1,6 +1,6 @@
1349 <?php
1350 /*
1351- * Xibo - Digitial Signage - http://www.xibo.org.uk
1352+ * Xibo - Digital Signage - http://www.xibo.org.uk
1353 * Copyright (C) 2011 Daniel Garner
1354 *
1355 * This file is part of Xibo.
1356
1357=== modified file 'server/lib/app/responsemanager.class.php'
1358--- server/lib/app/responsemanager.class.php 2013-11-03 11:24:11 +0000
1359+++ server/lib/app/responsemanager.class.php 2014-01-19 13:57:27 +0000
1360@@ -1,6 +1,6 @@
1361 <?php
1362 /*
1363- * Xibo - Digitial Signage - http://www.xibo.org.uk
1364+ * Xibo - Digital Signage - http://www.xibo.org.uk
1365 * Copyright (C) 2006-2013 Daniel Garner
1366 *
1367 * This file is part of Xibo.
1368
1369=== modified file 'server/lib/app/rssreader.class.php'
1370--- server/lib/app/rssreader.class.php 2013-05-01 19:24:35 +0000
1371+++ server/lib/app/rssreader.class.php 2014-01-19 13:57:27 +0000
1372@@ -1,6 +1,6 @@
1373 <?php
1374 /*
1375- * Xibo - Digitial Signage - http://www.xibo.org.uk
1376+ * Xibo - Digital Signage - http://www.xibo.org.uk
1377 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
1378 *
1379 * This file is part of Xibo.
1380
1381=== modified file 'server/lib/app/session.class.php'
1382--- server/lib/app/session.class.php 2013-09-03 10:06:55 +0000
1383+++ server/lib/app/session.class.php 2014-01-19 13:57:27 +0000
1384@@ -1,6 +1,6 @@
1385 <?php
1386 /*
1387- * Xibo - Digitial Signage - http://www.xibo.org.uk
1388+ * Xibo - Digital Signage - http://www.xibo.org.uk
1389 * Copyright (C) 2006-2013 Daniel Garner
1390 *
1391 * This file is part of Xibo.
1392
1393=== modified file 'server/lib/app/thememanager.class.php'
1394--- server/lib/app/thememanager.class.php 2013-08-21 09:36:12 +0000
1395+++ server/lib/app/thememanager.class.php 2014-01-19 13:57:27 +0000
1396@@ -1,6 +1,6 @@
1397 <?php
1398 /*
1399- * Xibo - Digitial Signage - http://www.xibo.org.uk
1400+ * Xibo - Digital Signage - http://www.xibo.org.uk
1401 * Copyright (C) 2006-2013 Daniel Garner
1402 *
1403 * This file is part of Xibo.
1404
1405=== modified file 'server/lib/app/translationengine.class.php'
1406--- server/lib/app/translationengine.class.php 2013-08-21 09:51:59 +0000
1407+++ server/lib/app/translationengine.class.php 2014-01-19 13:57:27 +0000
1408@@ -1,6 +1,6 @@
1409 <?php
1410 /*
1411- * Xibo - Digitial Signage - http://www.xibo.org.uk
1412+ * Xibo - Digital Signage - http://www.xibo.org.uk
1413 * Copyright (C) 2009 Daniel Garner
1414 *
1415 * This file is part of Xibo.
1416
1417=== modified file 'server/lib/data/campaign.data.class.php'
1418--- server/lib/data/campaign.data.class.php 2013-09-21 14:58:19 +0000
1419+++ server/lib/data/campaign.data.class.php 2014-01-19 13:57:27 +0000
1420@@ -1,6 +1,6 @@
1421 <?php
1422 /*
1423- * Xibo - Digitial Signage - http://www.xibo.org.uk
1424+ * Xibo - Digital Signage - http://www.xibo.org.uk
1425 * Copyright (C) 2012-2013 Daniel Garner
1426 *
1427 * This file is part of Xibo.
1428
1429=== modified file 'server/lib/data/campaignsecurity.data.class.php'
1430--- server/lib/data/campaignsecurity.data.class.php 2013-09-14 17:51:02 +0000
1431+++ server/lib/data/campaignsecurity.data.class.php 2014-01-19 13:57:27 +0000
1432@@ -1,6 +1,6 @@
1433 <?php
1434 /*
1435- * Xibo - Digitial Signage - http://www.xibo.org.uk
1436+ * Xibo - Digital Signage - http://www.xibo.org.uk
1437 * Copyright (C) 2012-13 Daniel Garner
1438 *
1439 * This file is part of Xibo.
1440
1441=== modified file 'server/lib/data/data.class.php'
1442--- server/lib/data/data.class.php 2013-09-16 19:43:53 +0000
1443+++ server/lib/data/data.class.php 2014-01-19 13:57:27 +0000
1444@@ -1,6 +1,6 @@
1445 <?php
1446 /*
1447- * Xibo - Digitial Signage - http://www.xibo.org.uk
1448+ * Xibo - Digital Signage - http://www.xibo.org.uk
1449 * Copyright (C) 2009-2012 Daniel Garner
1450 *
1451 * This file is part of Xibo.
1452
1453=== modified file 'server/lib/data/dataset.data.class.php'
1454--- server/lib/data/dataset.data.class.php 2013-09-21 14:58:19 +0000
1455+++ server/lib/data/dataset.data.class.php 2014-01-19 13:57:27 +0000
1456@@ -1,6 +1,6 @@
1457 <?php
1458 /*
1459- * Xibo - Digitial Signage - http://www.xibo.org.uk
1460+ * Xibo - Digital Signage - http://www.xibo.org.uk
1461 * Copyright (C) 2011-13 Daniel Garner
1462 *
1463 * This file is part of Xibo.
1464
1465=== modified file 'server/lib/data/datasetcolumn.data.class.php'
1466--- server/lib/data/datasetcolumn.data.class.php 2013-09-14 17:51:02 +0000
1467+++ server/lib/data/datasetcolumn.data.class.php 2014-01-19 13:57:27 +0000
1468@@ -1,6 +1,6 @@
1469 <?php
1470 /*
1471- * Xibo - Digitial Signage - http://www.xibo.org.uk
1472+ * Xibo - Digital Signage - http://www.xibo.org.uk
1473 * Copyright (C) 2011-13 Daniel Garner
1474 *
1475 * This file is part of Xibo.
1476
1477=== modified file 'server/lib/data/datasetdata.data.class.php'
1478--- server/lib/data/datasetdata.data.class.php 2013-09-21 14:58:19 +0000
1479+++ server/lib/data/datasetdata.data.class.php 2014-01-19 13:57:27 +0000
1480@@ -1,6 +1,6 @@
1481 <?php
1482 /*
1483- * Xibo - Digitial Signage - http://www.xibo.org.uk
1484+ * Xibo - Digital Signage - http://www.xibo.org.uk
1485 * Copyright (C) 2011-13 Daniel Garner
1486 *
1487 * This file is part of Xibo.
1488
1489=== modified file 'server/lib/data/datasetgroupsecurity.data.class.php'
1490--- server/lib/data/datasetgroupsecurity.data.class.php 2013-09-14 18:06:51 +0000
1491+++ server/lib/data/datasetgroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1492@@ -1,6 +1,6 @@
1493 <?php
1494 /*
1495- * Xibo - Digitial Signage - http://www.xibo.org.uk
1496+ * Xibo - Digital Signage - http://www.xibo.org.uk
1497 * Copyright (C) 2011-13 Daniel Garner
1498 *
1499 * This file is part of Xibo.
1500
1501=== modified file 'server/lib/data/display.data.class.php'
1502--- server/lib/data/display.data.class.php 2013-10-20 14:36:21 +0000
1503+++ server/lib/data/display.data.class.php 2014-01-19 13:57:27 +0000
1504@@ -1,6 +1,6 @@
1505 <?php
1506 /*
1507- * Xibo - Digitial Signage - http://www.xibo.org.uk
1508+ * Xibo - Digital Signage - http://www.xibo.org.uk
1509 * Copyright (C) 2009-2013 Daniel Garner
1510 *
1511 * This file is part of Xibo.
1512
1513=== modified file 'server/lib/data/displaygroup.data.class.php'
1514--- server/lib/data/displaygroup.data.class.php 2013-09-21 14:58:19 +0000
1515+++ server/lib/data/displaygroup.data.class.php 2014-01-19 13:57:27 +0000
1516@@ -1,6 +1,6 @@
1517 <?php
1518 /*
1519- * Xibo - Digitial Signage - http://www.xibo.org.uk
1520+ * Xibo - Digital Signage - http://www.xibo.org.uk
1521 * Copyright (C) 2009-13 Daniel Garner
1522 *
1523 * This file is part of Xibo.
1524
1525=== modified file 'server/lib/data/displaygroupsecurity.data.class.php'
1526--- server/lib/data/displaygroupsecurity.data.class.php 2013-09-21 15:18:29 +0000
1527+++ server/lib/data/displaygroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1528@@ -1,6 +1,6 @@
1529 <?php
1530 /*
1531- * Xibo - Digitial Signage - http://www.xibo.org.uk
1532+ * Xibo - Digital Signage - http://www.xibo.org.uk
1533 * Copyright (C) 2009-13 Daniel Garner
1534 *
1535 * This file is part of Xibo.
1536
1537=== modified file 'server/lib/data/file.data.class.php'
1538--- server/lib/data/file.data.class.php 2013-09-22 10:37:35 +0000
1539+++ server/lib/data/file.data.class.php 2014-01-19 13:57:27 +0000
1540@@ -1,6 +1,6 @@
1541 <?php
1542 /*
1543- * Xibo - Digitial Signage - http://www.xibo.org.uk
1544+ * Xibo - Digital Signage - http://www.xibo.org.uk
1545 * Copyright (C) 2010-13 Daniel Garner
1546 *
1547 * This file is part of Xibo.
1548
1549=== modified file 'server/lib/data/help.data.class.php'
1550--- server/lib/data/help.data.class.php 2013-09-22 10:37:35 +0000
1551+++ server/lib/data/help.data.class.php 2014-01-19 13:57:27 +0000
1552@@ -1,6 +1,6 @@
1553 <?php
1554 /*
1555- * Xibo - Digitial Signage - http://www.xibo.org.uk
1556+ * Xibo - Digital Signage - http://www.xibo.org.uk
1557 * Copyright (C) 2012-13 Daniel Garner
1558 *
1559 * This file is part of Xibo.
1560
1561=== modified file 'server/lib/data/layout.data.class.php'
1562--- server/lib/data/layout.data.class.php 2013-11-03 22:44:50 +0000
1563+++ server/lib/data/layout.data.class.php 2014-01-19 13:57:27 +0000
1564@@ -1,6 +1,6 @@
1565 <?php
1566 /*
1567- * Xibo - Digitial Signage - http://www.xibo.org.uk
1568+ * Xibo - Digital Signage - http://www.xibo.org.uk
1569 * Copyright (C) 2011-2013 Daniel Garner
1570 *
1571 * This file is part of Xibo.
1572
1573=== modified file 'server/lib/data/layoutmediagroupsecurity.data.class.php'
1574--- server/lib/data/layoutmediagroupsecurity.data.class.php 2013-09-22 15:49:19 +0000
1575+++ server/lib/data/layoutmediagroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1576@@ -1,6 +1,6 @@
1577 <?php
1578 /*
1579- * Xibo - Digitial Signage - http://www.xibo.org.uk
1580+ * Xibo - Digital Signage - http://www.xibo.org.uk
1581 * Copyright (C) 2011-13 Daniel Garner
1582 *
1583 * This file is part of Xibo.
1584
1585=== modified file 'server/lib/data/layoutregiongroupsecurity.data.class.php'
1586--- server/lib/data/layoutregiongroupsecurity.data.class.php 2013-09-22 13:31:06 +0000
1587+++ server/lib/data/layoutregiongroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1588@@ -1,6 +1,6 @@
1589 <?php
1590 /*
1591- * Xibo - Digitial Signage - http://www.xibo.org.uk
1592+ * Xibo - Digital Signage - http://www.xibo.org.uk
1593 * Copyright (C) 2013 Daniel Garner
1594 *
1595 * This file is part of Xibo.
1596
1597=== modified file 'server/lib/data/maintenance.data.class.php'
1598--- server/lib/data/maintenance.data.class.php 2013-08-21 09:36:12 +0000
1599+++ server/lib/data/maintenance.data.class.php 2014-01-19 13:57:27 +0000
1600@@ -1,6 +1,6 @@
1601 <?php
1602 /*
1603- * Xibo - Digitial Signage - http://www.xibo.org.uk
1604+ * Xibo - Digital Signage - http://www.xibo.org.uk
1605 * Copyright (C) 2012 Daniel Garner
1606 *
1607 * This file is part of Xibo.
1608
1609=== modified file 'server/lib/data/media.data.class.php'
1610--- server/lib/data/media.data.class.php 2013-09-22 15:49:19 +0000
1611+++ server/lib/data/media.data.class.php 2014-01-19 13:57:27 +0000
1612@@ -1,6 +1,6 @@
1613 <?php
1614 /*
1615- * Xibo - Digitial Signage - http://www.xibo.org.uk
1616+ * Xibo - Digital Signage - http://www.xibo.org.uk
1617 * Copyright (C) 2010-2013 Daniel Garner
1618 *
1619 * This file is part of Xibo.
1620
1621=== modified file 'server/lib/data/mediagroupsecurity.data.class.php'
1622--- server/lib/data/mediagroupsecurity.data.class.php 2013-09-22 13:31:06 +0000
1623+++ server/lib/data/mediagroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1624@@ -1,6 +1,6 @@
1625 <?php
1626 /*
1627- * Xibo - Digitial Signage - http://www.xibo.org.uk
1628+ * Xibo - Digital Signage - http://www.xibo.org.uk
1629 * Copyright (C) 2011-13 Daniel Garner
1630 *
1631 * This file is part of Xibo.
1632
1633=== modified file 'server/lib/data/region.data.class.php'
1634--- server/lib/data/region.data.class.php 2013-11-02 13:30:06 +0000
1635+++ server/lib/data/region.data.class.php 2014-01-19 13:57:27 +0000
1636@@ -1,6 +1,6 @@
1637 <?php
1638 /*
1639- * Xibo - Digitial Signage - http://www.xibo.org.uk
1640+ * Xibo - Digital Signage - http://www.xibo.org.uk
1641 * Copyright (C) 2006-2013 Daniel Garner
1642 *
1643 * This file is part of Xibo.
1644
1645=== modified file 'server/lib/data/resolution.data.class.php'
1646--- server/lib/data/resolution.data.class.php 2013-09-22 14:01:16 +0000
1647+++ server/lib/data/resolution.data.class.php 2014-01-19 13:57:27 +0000
1648@@ -1,6 +1,6 @@
1649 <?php
1650 /*
1651- * Xibo - Digitial Signage - http://www.xibo.org.uk
1652+ * Xibo - Digital Signage - http://www.xibo.org.uk
1653 * Copyright (C) 2009-13 Daniel Garner
1654 *
1655 * This file is part of Xibo.
1656
1657=== modified file 'server/lib/data/schedule.data.class.php'
1658--- server/lib/data/schedule.data.class.php 2013-11-11 10:32:42 +0000
1659+++ server/lib/data/schedule.data.class.php 2014-01-19 13:57:27 +0000
1660@@ -1,6 +1,6 @@
1661 <?php
1662 /*
1663- * Xibo - Digitial Signage - http://www.xibo.org.uk
1664+ * Xibo - Digital Signage - http://www.xibo.org.uk
1665 * Copyright (C) 2009-2013 Daniel Garner
1666 *
1667 * This file is part of Xibo.
1668
1669=== modified file 'server/lib/data/setting.data.class.php'
1670--- server/lib/data/setting.data.class.php 2013-09-22 14:01:16 +0000
1671+++ server/lib/data/setting.data.class.php 2014-01-19 13:57:27 +0000
1672@@ -1,6 +1,6 @@
1673 <?php
1674 /*
1675- * Xibo - Digitial Signage - http://www.xibo.org.uk
1676+ * Xibo - Digital Signage - http://www.xibo.org.uk
1677 * Copyright (C) 2009 Daniel Garner
1678 *
1679 * This file is part of Xibo.
1680
1681=== modified file 'server/lib/data/stat.data.class.php'
1682--- server/lib/data/stat.data.class.php 2013-09-28 14:00:01 +0000
1683+++ server/lib/data/stat.data.class.php 2014-01-19 13:57:27 +0000
1684@@ -1,6 +1,6 @@
1685 <?php
1686 /*
1687- * Xibo - Digitial Signage - http://www.xibo.org.uk
1688+ * Xibo - Digital Signage - http://www.xibo.org.uk
1689 * Copyright (C) 2009-13 Daniel Garner
1690 *
1691 * This file is part of Xibo.
1692
1693=== modified file 'server/lib/data/template.data.class.php'
1694--- server/lib/data/template.data.class.php 2013-09-22 14:01:16 +0000
1695+++ server/lib/data/template.data.class.php 2014-01-19 13:57:27 +0000
1696@@ -1,6 +1,6 @@
1697 <?php
1698 /*
1699- * Xibo - Digitial Signage - http://www.xibo.org.uk
1700+ * Xibo - Digital Signage - http://www.xibo.org.uk
1701 * Copyright (C) 2011-2013 Daniel Garner
1702 *
1703 * This file is part of Xibo.
1704
1705=== modified file 'server/lib/data/templategroupsecurity.data.class.php'
1706--- server/lib/data/templategroupsecurity.data.class.php 2013-09-22 14:34:20 +0000
1707+++ server/lib/data/templategroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
1708@@ -1,6 +1,6 @@
1709 <?php
1710 /*
1711- * Xibo - Digitial Signage - http://www.xibo.org.uk
1712+ * Xibo - Digital Signage - http://www.xibo.org.uk
1713 * Copyright (C) 2011-13 Daniel Garner
1714 *
1715 * This file is part of Xibo.
1716
1717=== modified file 'server/lib/data/userdata.data.class.php'
1718--- server/lib/data/userdata.data.class.php 2013-09-22 14:34:20 +0000
1719+++ server/lib/data/userdata.data.class.php 2014-01-19 13:57:27 +0000
1720@@ -1,6 +1,6 @@
1721 <?php
1722 /*
1723- * Xibo - Digitial Signage - http://www.xibo.org.uk
1724+ * Xibo - Digital Signage - http://www.xibo.org.uk
1725 * Copyright (C) 2009-13 Daniel Garner
1726 *
1727 * This file is part of Xibo.
1728
1729=== modified file 'server/lib/data/usergroup.data.class.php'
1730--- server/lib/data/usergroup.data.class.php 2013-09-22 14:34:20 +0000
1731+++ server/lib/data/usergroup.data.class.php 2014-01-19 13:57:27 +0000
1732@@ -1,6 +1,6 @@
1733 <?php
1734 /*
1735- * Xibo - Digitial Signage - http://www.xibo.org.uk
1736+ * Xibo - Digital Signage - http://www.xibo.org.uk
1737 * Copyright (C) 2009-11 Daniel Garner
1738 *
1739 * This file is part of Xibo.
1740
1741=== modified file 'server/lib/include.php'
1742--- server/lib/include.php 2013-08-21 22:27:13 +0000
1743+++ server/lib/include.php 2014-01-19 13:57:27 +0000
1744@@ -1,6 +1,6 @@
1745 <?php
1746 /*
1747- * Xibo - Digitial Signage - http://www.xibo.org.uk
1748+ * Xibo - Digital Signage - http://www.xibo.org.uk
1749 * Copyright (C) 2006-2012 Daniel Garner and James Packer
1750 *
1751 * This file is part of Xibo.
1752@@ -20,7 +20,7 @@
1753 */
1754 defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
1755
1756-define('WEBSITE_VERSION', 65);
1757+define('WEBSITE_VERSION', 66);
1758
1759 // No errors reported until we read the settings from the DB
1760 error_reporting(0);
1761
1762=== modified file 'server/lib/modules/module.class.php'
1763--- server/lib/modules/module.class.php 2013-11-11 08:36:36 +0000
1764+++ server/lib/modules/module.class.php 2014-01-19 13:57:27 +0000
1765@@ -1,6 +1,6 @@
1766 <?php
1767 /*
1768- * Xibo - Digitial Signage - http://www.xibo.org.uk
1769+ * Xibo - Digital Signage - http://www.xibo.org.uk
1770 * Copyright (C) 2006-2013 Daniel Garner
1771 *
1772 * This file is part of Xibo.
1773
1774=== modified file 'server/lib/modules/module.interface.php'
1775--- server/lib/modules/module.interface.php 2013-05-01 19:24:35 +0000
1776+++ server/lib/modules/module.interface.php 2014-01-19 13:57:27 +0000
1777@@ -1,6 +1,6 @@
1778 <?php
1779 /*
1780- * Xibo - Digitial Signage - http://www.xibo.org.uk
1781+ * Xibo - Digital Signage - http://www.xibo.org.uk
1782 * Copyright (C) 2006,2007,2008 Daniel Garner
1783 *
1784 * This file is part of Xibo.
1785
1786=== modified file 'server/lib/oauth.inc.php'
1787--- server/lib/oauth.inc.php 2013-08-21 09:36:12 +0000
1788+++ server/lib/oauth.inc.php 2014-01-19 13:57:27 +0000
1789@@ -1,6 +1,6 @@
1790 <?php
1791 /*
1792- * Xibo - Digitial Signage - http://www.xibo.org.uk
1793+ * Xibo - Digital Signage - http://www.xibo.org.uk
1794 * Copyright (C) 2010 Daniel Garner
1795 *
1796 * This file is part of Xibo.
1797
1798=== modified file 'server/lib/pages/admin.class.php'
1799--- server/lib/pages/admin.class.php 2013-10-20 14:26:32 +0000
1800+++ server/lib/pages/admin.class.php 2014-01-19 13:57:27 +0000
1801@@ -1,6 +1,6 @@
1802 <?php
1803 /*
1804- * Xibo - Digitial Signage - http://www.xibo.org.uk
1805+ * Xibo - Digital Signage - http://www.xibo.org.uk
1806 * Copyright (C) 2006-2013 Daniel Garner
1807 *
1808 * This file is part of Xibo.
1809
1810=== modified file 'server/lib/pages/campaign.class.php'
1811--- server/lib/pages/campaign.class.php 2013-08-21 09:36:12 +0000
1812+++ server/lib/pages/campaign.class.php 2014-01-19 13:57:27 +0000
1813@@ -1,6 +1,6 @@
1814 <?php
1815 /*
1816- * Xibo - Digitial Signage - http://www.xibo.org.uk
1817+ * Xibo - Digital Signage - http://www.xibo.org.uk
1818 * Copyright (C) 2012-2013 Daniel Garner
1819 *
1820 * This file is part of Xibo.
1821
1822=== modified file 'server/lib/pages/clock.class.php'
1823--- server/lib/pages/clock.class.php 2013-05-01 19:25:37 +0000
1824+++ server/lib/pages/clock.class.php 2014-01-19 13:57:27 +0000
1825@@ -1,6 +1,6 @@
1826 <?php
1827 /*
1828- * Xibo - Digitial Signage - http://www.xibo.org.uk
1829+ * Xibo - Digital Signage - http://www.xibo.org.uk
1830 * Copyright (C) 2009 Daniel Garner
1831 *
1832 * This file is part of Xibo.
1833
1834=== modified file 'server/lib/pages/content.class.php'
1835--- server/lib/pages/content.class.php 2013-11-03 12:54:28 +0000
1836+++ server/lib/pages/content.class.php 2014-01-19 13:57:27 +0000
1837@@ -1,6 +1,6 @@
1838 <?php
1839 /*
1840- * Xibo - Digitial Signage - http://www.xibo.org.uk
1841+ * Xibo - Digital Signage - http://www.xibo.org.uk
1842 * Copyright (C) 2006-2013 Daniel Garner
1843 *
1844 * This file is part of Xibo.
1845@@ -112,11 +112,8 @@
1846 $row['permissions'] = $group = $this->GroupsForMedia($row['mediaid']);
1847 $row['revised'] = ($row['parentid'] != 0) ? Theme::Image('act.gif') : '';
1848
1849- // Display a friendly filesize
1850- $sz = 'BKMGTP';
1851- $factor = floor((strlen($row['filesize']) - 1) / 3);
1852- $fileSize = sprintf('%.2f', $row['filesize'] / pow(1024, $factor)) . @$sz[$factor];
1853- $row['size_text'] = $fileSize;
1854+ // Display a friendly file size
1855+ $row['size_text'] = Kit::FormatBytes($row['filesize']);
1856
1857 $row['buttons'] = array();
1858
1859
1860=== modified file 'server/lib/pages/dashboard.class.php'
1861--- server/lib/pages/dashboard.class.php 2013-05-01 19:24:35 +0000
1862+++ server/lib/pages/dashboard.class.php 2014-01-19 13:57:27 +0000
1863@@ -1,6 +1,6 @@
1864 <?php
1865 /*
1866- * Xibo - Digitial Signage - http://www.xibo.org.uk
1867+ * Xibo - Digital Signage - http://www.xibo.org.uk
1868 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
1869 *
1870 * This file is part of Xibo.
1871
1872=== modified file 'server/lib/pages/dataset.class.php'
1873--- server/lib/pages/dataset.class.php 2013-08-21 09:36:12 +0000
1874+++ server/lib/pages/dataset.class.php 2014-01-19 13:57:27 +0000
1875@@ -1,6 +1,6 @@
1876 <?php
1877 /*
1878- * Xibo - Digitial Signage - http://www.xibo.org.uk
1879+ * Xibo - Digital Signage - http://www.xibo.org.uk
1880 * Copyright (C) 2011-2013 Daniel Garner
1881 *
1882 * This file is part of Xibo.
1883
1884=== modified file 'server/lib/pages/display.class.php'
1885--- server/lib/pages/display.class.php 2013-08-21 09:36:12 +0000
1886+++ server/lib/pages/display.class.php 2014-01-19 13:57:27 +0000
1887@@ -1,6 +1,6 @@
1888 <?php
1889 /*
1890- * Xibo - Digitial Signage - http://www.xibo.org.uk
1891+ * Xibo - Digital Signage - http://www.xibo.org.uk
1892 * Copyright (C) 2006-2013 Daniel Garner
1893 *
1894 * This file is part of Xibo.
1895
1896=== modified file 'server/lib/pages/displaygroup.class.php'
1897--- server/lib/pages/displaygroup.class.php 2013-08-20 20:17:11 +0000
1898+++ server/lib/pages/displaygroup.class.php 2014-01-19 13:57:27 +0000
1899@@ -1,6 +1,6 @@
1900 <?php
1901 /*
1902- * Xibo - Digitial Signage - http://www.xibo.org.uk
1903+ * Xibo - Digital Signage - http://www.xibo.org.uk
1904 * Copyright (C) 2009-13 Daniel Garner
1905 *
1906 * This file is part of Xibo.
1907
1908=== modified file 'server/lib/pages/error.class.php'
1909--- server/lib/pages/error.class.php 2013-05-01 19:24:35 +0000
1910+++ server/lib/pages/error.class.php 2014-01-19 13:57:27 +0000
1911@@ -1,6 +1,6 @@
1912 <?php
1913 /*
1914- * Xibo - Digitial Signage - http://www.xibo.org.uk
1915+ * Xibo - Digital Signage - http://www.xibo.org.uk
1916 * Copyright (C) 2006,2007,2008 Daniel Garner
1917 *
1918 * This file is part of Xibo.
1919
1920=== modified file 'server/lib/pages/fault.class.php'
1921--- server/lib/pages/fault.class.php 2013-08-21 22:27:13 +0000
1922+++ server/lib/pages/fault.class.php 2014-01-19 13:57:27 +0000
1923@@ -1,6 +1,6 @@
1924 <?php
1925 /*
1926- * Xibo - Digitial Signage - http://www.xibo.org.uk
1927+ * Xibo - Digital Signage - http://www.xibo.org.uk
1928 * Copyright (C) 2009-13 Daniel Garner
1929 *
1930 * This file is part of Xibo.
1931
1932=== modified file 'server/lib/pages/group.class.php'
1933--- server/lib/pages/group.class.php 2013-08-21 09:36:12 +0000
1934+++ server/lib/pages/group.class.php 2014-01-19 13:57:27 +0000
1935@@ -1,6 +1,6 @@
1936 <?php
1937 /*
1938- * Xibo - Digitial Signage - http://www.xibo.org.uk
1939+ * Xibo - Digital Signage - http://www.xibo.org.uk
1940 * Copyright (C) 2006,2007,2008,2009 Daniel Garner and James Packer
1941 *
1942 * This file is part of Xibo.
1943@@ -695,7 +695,7 @@
1944 $form = Theme::RenderReturn('usergroup_form_user_assign');
1945
1946 $response->SetFormRequestResponse($form, __('Manage Membership'), '400', '375', 'ManageMembersCallBack');
1947- $response->AddButton(__('Help'), "XiboHelpRender(". HelpManager::Link('UserGroup', 'Members') .")");
1948+ $response->AddButton(__('Help'), "XiboHelpRender('" . HelpManager::Link('UserGroup', 'Members') . "')");
1949 $response->AddButton(__('Cancel'), 'XiboDialogClose()');
1950 $response->AddButton(__('Save'), 'MembersSubmit()');
1951 $response->Respond();
1952
1953=== modified file 'server/lib/pages/help.class.php'
1954--- server/lib/pages/help.class.php 2013-08-21 09:36:12 +0000
1955+++ server/lib/pages/help.class.php 2014-01-19 13:57:27 +0000
1956@@ -1,6 +1,6 @@
1957 <?php
1958 /*
1959- * Xibo - Digitial Signage - http://www.xibo.org.uk
1960+ * Xibo - Digital Signage - http://www.xibo.org.uk
1961 * Copyright (C) 2009-2013 Daniel Garner
1962 *
1963 * This file is part of Xibo.
1964@@ -159,6 +159,13 @@
1965 'url' => 'index.php?p=help&q=DeleteForm&HelpID=' . $row['helpid'],
1966 'text' => __('Delete')
1967 );
1968+
1969+ // Test
1970+ $row['buttons'][] = array(
1971+ 'id' => 'help_button_test',
1972+ 'url' => HelpManager::Link($row['topic'], $row['category']),
1973+ 'text' => __('Test')
1974+ );
1975 }
1976
1977 $rows[] = $row;
1978
1979=== modified file 'server/lib/pages/index.class.php'
1980--- server/lib/pages/index.class.php 2013-11-03 11:24:11 +0000
1981+++ server/lib/pages/index.class.php 2014-01-19 13:57:27 +0000
1982@@ -1,6 +1,6 @@
1983 <?php
1984 /*
1985- * Xibo - Digitial Signage - http://www.xibo.org.uk
1986+ * Xibo - Digital Signage - http://www.xibo.org.uk
1987 * Copyright (C) 2006-2013 Daniel Garner
1988 *
1989 * This file is part of Xibo.
1990
1991=== modified file 'server/lib/pages/layout.class.php'
1992--- server/lib/pages/layout.class.php 2013-08-21 09:36:12 +0000
1993+++ server/lib/pages/layout.class.php 2014-01-19 13:57:27 +0000
1994@@ -1,6 +1,6 @@
1995 <?php
1996 /*
1997- * Xibo - Digitial Signage - http://www.xibo.org.uk
1998+ * Xibo - Digital Signage - http://www.xibo.org.uk
1999 * Copyright (C) 2006-2013 Daniel Garner
2000 *
2001 * This file is part of Xibo.
2002@@ -547,7 +547,7 @@
2003 }
2004 else
2005 {
2006- $thumbBgImage = "theme/default/img/forms/filenotfound.png";
2007+ $thumbBgImage = "theme/default/img/forms/filenotfound.gif";
2008 }
2009
2010 // Configure some template variables.
2011
2012=== modified file 'server/lib/pages/license.class.php'
2013--- server/lib/pages/license.class.php 2013-05-01 19:24:35 +0000
2014+++ server/lib/pages/license.class.php 2014-01-19 13:57:27 +0000
2015@@ -1,6 +1,6 @@
2016 <?php
2017 /*
2018- * Xibo - Digitial Signage - http://www.xibo.org.uk
2019+ * Xibo - Digital Signage - http://www.xibo.org.uk
2020 * Copyright (C) 2006-2013 Daniel Garner
2021 *
2022 * This file is part of Xibo.
2023
2024=== modified file 'server/lib/pages/log.class.php'
2025--- server/lib/pages/log.class.php 2013-08-20 20:17:11 +0000
2026+++ server/lib/pages/log.class.php 2014-01-19 13:57:27 +0000
2027@@ -1,6 +1,6 @@
2028 <?php
2029 /*
2030- * Xibo - Digitial Signage - http://www.xibo.org.uk
2031+ * Xibo - Digital Signage - http://www.xibo.org.uk
2032 * Copyright (C) 2006-2013 Daniel Garner
2033 *
2034 * This file is part of Xibo.
2035
2036=== modified file 'server/lib/pages/mediamanager.class.php'
2037--- server/lib/pages/mediamanager.class.php 2013-05-01 19:24:35 +0000
2038+++ server/lib/pages/mediamanager.class.php 2014-01-19 13:57:27 +0000
2039@@ -1,6 +1,6 @@
2040 <?php
2041 /*
2042- * Xibo - Digitial Signage - http://www.xibo.org.uk
2043+ * Xibo - Digital Signage - http://www.xibo.org.uk
2044 * Copyright (C) 2011-2013 Daniel Garner
2045 *
2046 * This file is part of Xibo.
2047
2048=== modified file 'server/lib/pages/module.class.php'
2049--- server/lib/pages/module.class.php 2013-08-21 09:36:12 +0000
2050+++ server/lib/pages/module.class.php 2014-01-19 13:57:27 +0000
2051@@ -1,6 +1,6 @@
2052 <?php
2053 /*
2054- * Xibo - Digitial Signage - http://www.xibo.org.uk
2055+ * Xibo - Digital Signage - http://www.xibo.org.uk
2056 * Copyright (C) 2006-2013 Daniel Garner
2057 *
2058 * This file is part of Xibo.
2059
2060=== modified file 'server/lib/pages/oauth.class.php'
2061--- server/lib/pages/oauth.class.php 2013-08-21 09:36:12 +0000
2062+++ server/lib/pages/oauth.class.php 2014-01-19 13:57:27 +0000
2063@@ -1,6 +1,6 @@
2064 <?php
2065 /*
2066- * Xibo - Digitial Signage - http://www.xibo.org.uk
2067+ * Xibo - Digital Signage - http://www.xibo.org.uk
2068 * Copyright (C) 2010-13 Daniel Garner
2069 *
2070 * This file is part of Xibo.
2071@@ -283,7 +283,7 @@
2072 $output = Theme::RenderReturn('application_form_user_applications');
2073
2074 $response->SetFormRequestResponse($output, __('Authorized applications for user'), '650', '450');
2075- $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=General')");
2076+ $response->AddButton(__('Help'), "XiboHelpRender('" . HelpManager::Link('User', 'Applications') . "')");
2077 $response->AddButton(__('Close'), 'XiboDialogClose()');
2078 $response->Respond();
2079 }
2080
2081=== modified file 'server/lib/pages/resolution.class.php'
2082--- server/lib/pages/resolution.class.php 2013-08-20 20:17:11 +0000
2083+++ server/lib/pages/resolution.class.php 2014-01-19 13:57:27 +0000
2084@@ -1,6 +1,6 @@
2085 <?php
2086 /*
2087- * Xibo - Digitial Signage - http://www.xibo.org.uk
2088+ * Xibo - Digital Signage - http://www.xibo.org.uk
2089 * Copyright (C) 2009-2013 Daniel Garner
2090 *
2091 * This file is part of Xibo.
2092
2093=== modified file 'server/lib/pages/schedule.class.php'
2094--- server/lib/pages/schedule.class.php 2013-11-03 13:30:21 +0000
2095+++ server/lib/pages/schedule.class.php 2014-01-19 13:57:27 +0000
2096@@ -1,6 +1,6 @@
2097 <?php
2098 /*
2099- * Xibo - Digitial Signage - http://www.xibo.org.uk
2100+ * Xibo - Digital Signage - http://www.xibo.org.uk
2101 * Copyright (C) 2006-2013 Daniel Garner
2102 *
2103 * This file is part of Xibo.
2104@@ -753,8 +753,8 @@
2105 }
2106 }
2107
2108- Debug::LogEntry('audit', 'Built Month Array');
2109- Debug::LogEntry('audit', var_export($events, true));
2110+ //Debug::LogEntry('audit', 'Built Month Array');
2111+ //Debug::LogEntry('audit', var_export($events, true));
2112
2113 return $events;
2114 }
2115@@ -1404,7 +1404,7 @@
2116 <tr>
2117 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>
2118 <td><input type=text" name="DisplayOrder" value="0" />
2119- <td><label title="Sets whether or not this event has priority. If set the event will be show in preferance to other events." for="cb_is_priority">Priority</label></td>
2120+ <td><label title="Sets whether or not this event has priority. If set the event will be show in preference to other events." for="cb_is_priority">Priority</label></td>
2121 <td><input type="checkbox" id="cb_is_priority" name="is_priority" value="1" title="Sets whether or not this event has priority. If set the event will be show in preference to other events."></td>
2122 </tr>
2123 END;
2124@@ -1572,7 +1572,7 @@
2125 <tr>
2126 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>
2127 <td><input type=text" name="DisplayOrder" value="$displayOrder" />
2128- <td><label title="Sets whether or not this event has priority. If set the event will be show in preferance to other events." for="cb_is_priority">Priority</label></td>
2129+ <td><label title="Sets whether or not this event has priority. If set the event will be show in preference to other events." for="cb_is_priority">Priority</label></td>
2130 <td><input type="checkbox" id="cb_is_priority" name="is_priority" $isPriority title="Sets whether or not this event has priority. If set the event will be show in preference to other events."></td>
2131 </tr>
2132 END;
2133@@ -1921,7 +1921,7 @@
2134 <td><input type=text" name="DisplayOrder" value="0" />
2135 </tr>
2136 <tr>
2137- <td><label title="Sets whether or not this event has priority. If set the event will be show in preferance to other events." for="cb_is_priority">Priority</label></td>
2138+ <td><label title="Sets whether or not this event has priority. If set the event will be show in preference to other events." for="cb_is_priority">Priority</label></td>
2139 <td><input type="checkbox" id="cb_is_priority" name="is_priority" value="1" title="Sets whether or not this event has priority. If set the event will be show in preference to other events."></td>
2140 </tr>
2141 <tr>
2142
2143=== modified file 'server/lib/pages/sessions.class.php'
2144--- server/lib/pages/sessions.class.php 2013-08-20 20:17:11 +0000
2145+++ server/lib/pages/sessions.class.php 2014-01-19 13:57:27 +0000
2146@@ -1,6 +1,6 @@
2147 <?php
2148 /*
2149- * Xibo - Digitial Signage - http://www.xibo.org.uk
2150+ * Xibo - Digital Signage - http://www.xibo.org.uk
2151 * Copyright (C) 2006-2013 Daniel Garner
2152 *
2153 * This file is part of Xibo.
2154@@ -70,10 +70,7 @@
2155 $fromdt = Kit::GetParam('filter_fromdt', _POST, _STRING);
2156
2157 ///get the dates and times
2158- if ($fromdt == '') {
2159- $starttime_timestamp = time();
2160- }
2161- else {
2162+ if ($fromdt != '') {
2163 $start_date = explode("/",$fromdt); // dd/mm/yyyy
2164 $starttime_timestamp = strtotime($start_date[1] . "/" . $start_date[0] . "/" . $start_date[2] . ' ' . date("H", time()) . ":" . date("i", time()) . ':59');
2165 }
2166@@ -84,7 +81,10 @@
2167
2168 $SQL = "SELECT session.userID, user.UserName, IsExpired, LastPage, session.LastAccessed, RemoteAddr, UserAgent ";
2169 $SQL .= "FROM `session` LEFT OUTER JOIN user ON user.userID = session.userID ";
2170- $SQL .= sprintf(" WHERE session_expiration < '%s' ", $starttime_timestamp);
2171+ $SQL .= "WHERE 1 = 1 ";
2172+
2173+ if ($fromdt != '')
2174+ $SQL .= sprintf(" AND session_expiration < '%s' ", $starttime_timestamp);
2175
2176 if ($type == "active")
2177 $SQL .= " AND IsExpired = 0 ";
2178@@ -110,7 +110,7 @@
2179
2180 $row['userid'] = Kit::ValidateParam($row['userID'], _INT);
2181 $row['username'] = Kit::ValidateParam($row['UserName'], _STRING);
2182- $row['isexpired'] = (Kit::ValidateParam($row['IsExpired'], _INT) == 1) ? 'icon-ok' : 'icon-remove';
2183+ $row['isexpired'] = (Kit::ValidateParam($row['IsExpired'], _INT) == 0) ? 'icon-ok' : 'icon-remove';
2184 $row['lastpage'] = Kit::ValidateParam($row['LastPage'], _STRING);
2185 $row['lastaccessed'] = Kit::ValidateParam($row['LastAccessed'], _STRING);
2186 $row['ip'] = Kit::ValidateParam($row['RemoteAddr'], _STRING);
2187
2188=== modified file 'server/lib/pages/stats.class.php'
2189--- server/lib/pages/stats.class.php 2013-08-21 09:36:12 +0000
2190+++ server/lib/pages/stats.class.php 2014-01-19 13:57:27 +0000
2191@@ -1,6 +1,6 @@
2192 <?php
2193 /*
2194- * Xibo - Digitial Signage - http://www.xibo.org.uk
2195+ * Xibo - Digital Signage - http://www.xibo.org.uk
2196 * Copyright (C) 2009-2013 Daniel Garner
2197 *
2198 * This file is part of Xibo.
2199
2200=== modified file 'server/lib/pages/template.class.php'
2201--- server/lib/pages/template.class.php 2013-09-22 14:01:16 +0000
2202+++ server/lib/pages/template.class.php 2014-01-19 13:57:27 +0000
2203@@ -1,6 +1,6 @@
2204 <?php
2205 /*
2206- * Xibo - Digitial Signage - http://www.xibo.org.uk
2207+ * Xibo - Digital Signage - http://www.xibo.org.uk
2208 * Copyright (C) 2006-2013 Daniel Garner
2209 *
2210 * This file is part of Xibo.
2211
2212=== modified file 'server/lib/pages/timeline.class.php'
2213--- server/lib/pages/timeline.class.php 2013-11-02 15:32:17 +0000
2214+++ server/lib/pages/timeline.class.php 2014-01-19 13:57:27 +0000
2215@@ -1,6 +1,6 @@
2216 <?php
2217 /*
2218- * Xibo - Digitial Signage - http://www.xibo.org.uk
2219+ * Xibo - Digital Signage - http://www.xibo.org.uk
2220 * Copyright (C) 2006-2013 Daniel Garner
2221 *
2222 * This file is part of Xibo.
2223
2224=== modified file 'server/lib/pages/transition.class.php'
2225--- server/lib/pages/transition.class.php 2013-08-21 09:36:12 +0000
2226+++ server/lib/pages/transition.class.php 2014-01-19 13:57:27 +0000
2227@@ -1,6 +1,6 @@
2228 <?php
2229 /*
2230- * Xibo - Digitial Signage - http://www.xibo.org.uk
2231+ * Xibo - Digital Signage - http://www.xibo.org.uk
2232 * Copyright (C) 2006-2013 Daniel Garner
2233 *
2234 * This file is part of Xibo.
2235
2236=== modified file 'server/lib/pages/user.class.php'
2237--- server/lib/pages/user.class.php 2013-08-21 09:36:12 +0000
2238+++ server/lib/pages/user.class.php 2014-01-19 13:57:27 +0000
2239@@ -1,6 +1,6 @@
2240 <?php
2241 /*
2242- * Xibo - Digitial Signage - http://www.xibo.org.uk
2243+ * Xibo - Digital Signage - http://www.xibo.org.uk
2244 * Copyright (C) 2006-2013 Daniel Garner
2245 *
2246 * This file is part of Xibo.
2247
2248=== modified file 'server/lib/service/rest.class.php'
2249--- server/lib/service/rest.class.php 2013-10-20 14:59:58 +0000
2250+++ server/lib/service/rest.class.php 2014-01-19 13:57:27 +0000
2251@@ -1,6 +1,6 @@
2252 <?php
2253 /*
2254- * Xibo - Digitial Signage - http://www.xibo.org.uk
2255+ * Xibo - Digital Signage - http://www.xibo.org.uk
2256 * Copyright (C) 2010-2013 Daniel Garner
2257 *
2258 * This file is part of Xibo.
2259@@ -850,7 +850,7 @@
2260 $layoutId = $this->GetParam('layoutId', _INT);
2261 $regionId = $this->GetParam('regionId', _STRING);
2262 $type = $this->GetParam('type', _WORD);
2263- $xlf = $this->GetParam('xlf', _STRING);
2264+ $xlf = $this->GetParam('xlf', _HTMLSTRING);
2265
2266 // Does the user have permissions to view this layout?
2267 if (!$this->user->LayoutAuth($layoutId))
2268@@ -892,7 +892,7 @@
2269 $regionId = $this->GetParam('regionId', _STRING);
2270 $mediaId = $this->GetParam('mediaId', _STRING);
2271 $type = $this->GetParam('type', _WORD);
2272- $xlf = $this->GetParam('xlf', _STRING);
2273+ $xlf = $this->GetParam('xlf', _HTMLSTRING);
2274
2275 // Does the user have permissions to view this layout?
2276 if (!$this->user->LayoutAuth($layoutId))
2277
2278=== modified file 'server/lib/service/restjson.class.php'
2279--- server/lib/service/restjson.class.php 2013-09-21 15:09:35 +0000
2280+++ server/lib/service/restjson.class.php 2014-01-19 13:57:27 +0000
2281@@ -1,6 +1,6 @@
2282 <?php
2283 /*
2284- * Xibo - Digitial Signage - http://www.xibo.org.uk
2285+ * Xibo - Digital Signage - http://www.xibo.org.uk
2286 * Copyright (C) 2010 Daniel Garner
2287 *
2288 * This file is part of Xibo.
2289
2290=== modified file 'server/lib/service/restxml.class.php'
2291--- server/lib/service/restxml.class.php 2013-09-21 15:09:35 +0000
2292+++ server/lib/service/restxml.class.php 2014-01-19 13:57:27 +0000
2293@@ -1,6 +1,6 @@
2294 <?php
2295 /*
2296- * Xibo - Digitial Signage - http://www.xibo.org.uk
2297+ * Xibo - Digital Signage - http://www.xibo.org.uk
2298 * Copyright (C) 2010 Daniel Garner
2299 *
2300 * This file is part of Xibo.
2301
2302=== modified file 'server/lib/service/serviceoauth.class.php'
2303--- server/lib/service/serviceoauth.class.php 2013-05-01 19:24:35 +0000
2304+++ server/lib/service/serviceoauth.class.php 2014-01-19 13:57:27 +0000
2305@@ -1,6 +1,6 @@
2306 <?php
2307 /*
2308- * Xibo - Digitial Signage - http://www.xibo.org.uk
2309+ * Xibo - Digital Signage - http://www.xibo.org.uk
2310 * Copyright (C) 2010 Daniel Garner
2311 *
2312 * This file is part of Xibo.
2313
2314=== modified file 'server/lib/service/serviceresponse.class.php'
2315--- server/lib/service/serviceresponse.class.php 2013-09-24 17:57:08 +0000
2316+++ server/lib/service/serviceresponse.class.php 2014-01-19 13:57:27 +0000
2317@@ -1,6 +1,6 @@
2318 <?php
2319 /*
2320- * Xibo - Digitial Signage - http://www.xibo.org.uk
2321+ * Xibo - Digital Signage - http://www.xibo.org.uk
2322 * Copyright (C) 2009 Daniel Garner
2323 *
2324 * This file is part of Xibo.
2325
2326=== modified file 'server/lib/service/xmdssoap.class.php'
2327--- server/lib/service/xmdssoap.class.php 2013-09-29 18:54:12 +0000
2328+++ server/lib/service/xmdssoap.class.php 2014-01-19 13:57:27 +0000
2329@@ -1,6 +1,6 @@
2330 <?php
2331 /*
2332- * Xibo - Digitial Signage - http://www.xibo.org.uk
2333+ * Xibo - Digital Signage - http://www.xibo.org.uk
2334 * Copyright (C) 2009-2013 Daniel Garner
2335 *
2336 * This file is part of Xibo.
2337@@ -1069,7 +1069,7 @@
2338
2339 // See if the client was offline and if appropriate send an alert
2340 // to say that it has come back online
2341- if (($row[5] == 0) and ($row[6] == 1))
2342+ if (($row[5] == 0) && ($row[6] == 1) && Config::GetSetting('MAINTENANCE_ENABLED') == 'On') && Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On'))
2343 {
2344 $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD);
2345 $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD);
2346
2347=== modified file 'server/lib/xmds.inc.php'
2348--- server/lib/xmds.inc.php 2013-08-23 18:25:01 +0000
2349+++ server/lib/xmds.inc.php 2014-01-19 13:57:27 +0000
2350@@ -1,6 +1,6 @@
2351 <?php
2352 /*
2353- * Xibo - Digitial Signage - http://www.xibo.org.uk
2354+ * Xibo - Digital Signage - http://www.xibo.org.uk
2355 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
2356 *
2357 * This file is part of Xibo.
2358
2359=== modified file 'server/locale/dbtranslate.php'
2360--- server/locale/dbtranslate.php 2013-11-03 13:30:21 +0000
2361+++ server/locale/dbtranslate.php 2014-01-19 13:57:27 +0000
2362@@ -1,6 +1,6 @@
2363 <?php
2364 /*
2365- * Xibo - Digitial Signage - http://www.xibo.org.uk
2366+ * Xibo - Digital Signage - http://www.xibo.org.uk
2367 * Copyright (C) 2009-12 Daniel Garner
2368 *
2369 * This file is part of Xibo.
2370@@ -53,6 +53,7 @@
2371 echo __('Modules');
2372 echo __('Campaigns');
2373 echo __('Transitions');
2374+echo __('Resolutions');
2375
2376 // Settings translations
2377 echo __('jpg_length');
2378
2379=== modified file 'server/maintenance.php'
2380--- server/maintenance.php 2013-08-21 09:51:59 +0000
2381+++ server/maintenance.php 2014-01-19 13:57:27 +0000
2382@@ -1,7 +1,7 @@
2383 <?php
2384 /*
2385- * Xibo - Digitial Signage - http://www.xibo.org.uk
2386- * Copyright (C) 2010 Alex Harrington
2387+ * Xibo - Digital Signage - http://www.xibo.org.uk
2388+ * Copyright (C) 2010-13 Alex Harrington
2389 *
2390 * This file is part of Xibo.
2391 *
2392@@ -29,6 +29,7 @@
2393
2394 // Required Library Files
2395 require_once("lib/app/translationengine.class.php");
2396+require_once("lib/app/pdoconnect.class.php");
2397 require_once("lib/app/debug.class.php");
2398 require_once("lib/app/kit.class.php");
2399 require_once("lib/data/data.class.php");
2400
2401=== modified file 'server/manual/content/admin/advanced.php'
2402--- server/manual/content/admin/advanced.php 2013-05-01 19:24:35 +0000
2403+++ server/manual/content/admin/advanced.php 2014-01-19 13:57:27 +0000
2404@@ -1,57 +1,44 @@
2405-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2406-<?php include('../../template.php'); ?>
2407-<html>
2408- <head>
2409- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
2410- <title><?php echo PRODUCT_NAME; ?> Documentation</title>
2411- <link rel=stylesheet type="text/css" href="../../css/doc.css">
2412- <meta http-equiv="Content-Type" content="text/html" />
2413- <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />
2414- <meta name="description" content="<?php echo PRODUCT_NAME; ?> is an open source digital signage solution. It supports all main media types and can be interfaced to other sources of data using CSV, Databases or RSS." />
2415-
2416- <link href="img/favicon.ico" rel="shortcut icon"/>
2417- <!-- Javascript Libraries -->
2418- <script type="text/javascript" src="lib/jquery.pack.js"></script>
2419- <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>
2420- <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>
2421- </head>
2422- <body>
2423-
2424- <h1>Advanced</h1>
2425- <p>The Advanced page is mainly used by system administrator to help troubleshooting system problem or reporting fault
2426- to the <?php echo PRODUCT_NAME; ?> xstreamedia team for assistance</p>
2427- <p>Click Advanced from the Navigation Bar. System loads the Log page by default.</p>
2428-
2429- <blockquote>
2430- <a name="Error_Log_Help" id="Error_Log_Help"></a><h3>System Log</h3>
2431-
2432- <p><img alt="SA Advanced" src="sa_advanced.png"
2433- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
2434- width="803" height="161"></p>
2435-
2436- <p>The system log is used to help troubleshoot problems with <?php echo PRODUCT_NAME; ?>. When you encounter an error it will be logged
2437- and listed in the system here. These error messages can help the xstreamedia team solve your problem.</p>
2438- <p>Truncating the log helps you to troubleshoot a problem by clearing the current error messages</p>
2439- <p>The page and sub page items helps locate where the error has been generated from.</p>
2440- <ul>
2441- <li><strong>Log Date</strong><p> states the date and time the error message was logged.</p></li>
2442- <li><strong>Page</strong><p> states the page that the error has been generated from.</p></li>
2443- <li><strong>Function</strong><p>state function that the error message has been generated from.</p></li>
2444- <li><strong>Message</strong><p> gives details of what error has occurred in the system.</p></li>
2445- </ul>
2446- <a name="Session" id="Session"></a><h3>Sessions</h3>
2447- <p>Sessions provide details of the current user activity on the network</p>
2448- <p><img alt="SA Advanced Session" src="sa_advanced_sessions.png"
2449- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
2450- width="805" height="208"></p>
2451-
2452- <a name="Report_Fault" id="Report_Fault"></a><h3>Report Fault</h3>
2453- <p>Simple instruaction on the collection of system error and report fault to <?php echo PRODUCT_NAME; ?> xsteamedia team.</p>
2454-
2455- <a name="License" id="License"></a><h3>License Information</h3>
2456- <p>The license page provides details of all the relevant licenses for the system.</p>
2457- </blockquote>
2458-
2459- <?php include('../../template/footer.php'); ?>
2460- </body>
2461-</html>
2462+<?php
2463+/*
2464+ * Xibo - Digital Signage - http://www.xibo.org.uk
2465+ * Copyright (C) 2006-2013 Daniel Garner
2466+ *
2467+ * This file is part of Xibo.
2468+ *
2469+ * Xibo is free software: you can redistribute it and/or modify
2470+ * it under the terms of the GNU Affero General Public License as published by
2471+ * the Free Software Foundation, either version 3 of the License, or
2472+ * any later version.
2473+ *
2474+ * Xibo is distributed in the hope that it will be useful,
2475+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2476+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2477+ * GNU Affero General Public License for more details.
2478+ *
2479+ * You should have received a copy of the GNU Affero General Public License
2480+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
2481+ */
2482+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
2483+?>
2484+
2485+<h1>Troubleshooting <small>The Advanced Menu</small></h1>
2486+<p>The CMS contains a number of useful tools for first line debugging and reporting faults to technical support.</p>
2487+
2488+<h2 id="Report_Fault">Report Fault</h2>
2489+<p>The Report Fault Wizard is designed to be enabled by the CMS administrator to recreate the problem and collect logging information that can be analysed or submitted to the Technical Support team for further analysis. The Wizard lists 6 steps which should be followed in order.</p>
2490+
2491+<p><img class="img-thumbnail" alt="Report Fault Wizard" src="content/admin/report_fault_wizard.png"></p>
2492+
2493+
2494+<h2>System Log</h2>
2495+<p>The CMS keeps a detailed log of all errors that have been recorded as well as detailed debugging information. This is intended for a more technical user to analyse and fix issues.</p>
2496+
2497+<p>The System Log is available from the Advanced Menu.</p>
2498+
2499+<p><img class="img-thumbnail" alt="System Log" src="content/admin/sa_advanced.png"></p>
2500+
2501+<p class="alert alert-warning">The system log can get quite large over time and should be manually truncated after any debugging session. This is done from the System Log page using the "Truncate" menu item in the top right corner of the Log Table.</p>
2502+
2503+<h2>Sessions</h2>
2504+<p>Sessions provide details of the current user activity on the network</p>
2505+<p><img class="img-thumbnail" alt="Sessions" src="content/admin/sa_advanced_sessions.png"></p>
2506\ No newline at end of file
2507
2508=== added file 'server/manual/content/admin/api_displaygroups.php'
2509--- server/manual/content/admin/api_displaygroups.php 1970-01-01 00:00:00 +0000
2510+++ server/manual/content/admin/api_displaygroups.php 2014-01-19 13:57:27 +0000
2511@@ -0,0 +1,11 @@
2512+
2513+<h3> <span class="mw-headline" id="DisplayGroups"> DisplayGroups </span></h3>
2514+<ul><li> DisplayGroupList
2515+</li><li> DisplayGroupAdd
2516+</li><li> DisplayGroupEdit
2517+</li><li> DisplayGroupDelete
2518+</li><li> DisplayGroupMembersList
2519+</li><li> DisplayGroupMembersEdit
2520+</li><li> DisplayGroupUserGroupList
2521+</li><li> DisplayGroupUserGroupEdit
2522+</li></ul>
2523\ No newline at end of file
2524
2525=== added file 'server/manual/content/admin/api_displays.php'
2526--- server/manual/content/admin/api_displays.php 1970-01-01 00:00:00 +0000
2527+++ server/manual/content/admin/api_displays.php 2014-01-19 13:57:27 +0000
2528@@ -0,0 +1,8 @@
2529+<h3> <span class="mw-headline" id="Displays"> Displays </span></h3>
2530+<ul><li> DisplayList
2531+</li><li> DisplayEdit
2532+</li><li> DisplayRetire
2533+</li><li> DisplayDelete
2534+</li><li> DisplayUserGroupSecurity
2535+</li><li> DisplayUserGroupEdit
2536+</li></ul>
2537\ No newline at end of file
2538
2539=== added file 'server/manual/content/admin/api_layouts.php'
2540--- server/manual/content/admin/api_layouts.php 1970-01-01 00:00:00 +0000
2541+++ server/manual/content/admin/api_layouts.php 2014-01-19 13:57:27 +0000
2542@@ -0,0 +1,260 @@
2543+
2544+<h3> <span class="mw-headline" id="Layout"> Layout </span></h3>
2545+<ul><li> LayoutList
2546+</li><li> LayoutAdd
2547+</li><li> LayoutEdit
2548+</li><li> LayoutCopy
2549+</li><li> LayoutDelete
2550+</li><li> LayoutRetire
2551+</li><li> LayoutBackgroundList
2552+</li><li> LayoutBackgroundEdit
2553+</li><li> LayoutGetXlf
2554+</li><li> LayoutRegionList
2555+</li><li> LayoutRegionAdd
2556+</li><li> LayoutRegionEdit
2557+</li><li> LayoutRegionPosition
2558+</li><li> LayoutRegionTimelineList
2559+</li><li> LayoutRegionMediaAdd
2560+</li><li> LayoutRegionMediaReorder
2561+</li><li> LayoutRegionMediaDelete
2562+</li><li> LayoutRegionLibraryAdd
2563+</li><li> LayoutRegionMediaEdit
2564+</li><li> LayoutRegionMediaDetails
2565+</li></ul>
2566+
2567+
2568+<h2> <span class="mw-headline" id="Layout_2"> Layout </span></h2>
2569+<p>Transactions Related to Layouts
2570+</p>
2571+<h3> <span class="mw-headline" id="LayoutAdd"> LayoutAdd </span></h3>
2572+<p>Parameters
2573+</p>
2574+<ul><li> layout - The Name of the Layout
2575+</li><li> description - The Description of the Layout
2576+</li><li> permissionid - PermissionID for the layout
2577+</li><li> tags - Tags for the Layout
2578+</li><li> templateid - Template for the Layout
2579+</li></ul>
2580+<p>Response
2581+</p>
2582+<ul><li> layout - The ID of the layout
2583+</li></ul>
2584+<p>Errors
2585+</p>
2586+<ul><li> Code 1 - Access Denied
2587+</li><li> Code 25001 - Layout Name must be between 1 and 50 characters
2588+</li><li> Code 25002 - Description must be less than 254 characters
2589+</li><li> Code 25003 - All tags combined must be less that 254 characters
2590+</li><li> Code 25004 - User already has a layout with this name
2591+</li><li> Code 25005 - Database error adding layout
2592+</li><li> Code 25006 - Failed to Parse Tags
2593+</li><li> Code 25007 - Unable to update layout xml
2594+</li><li> Code 25008 - Unable to Delete layout on failure
2595+</li></ul>
2596+<h3> <span class="mw-headline" id="LayoutDelete"> LayoutDelete </span></h3>
2597+<p>Parameters
2598+</p>
2599+<ul><li> layoutId - The ID of the layout to delete
2600+</li></ul>
2601+<p>Response
2602+</p>
2603+<ul><li> success = true
2604+</li></ul>
2605+<p>Errors
2606+</p>
2607+<ul><li> Code 1 - Access Denied
2608+</li><li> Code 25008 - Unable to delete layout
2609+</li></ul>
2610+
2611+
2612+<h3> <span class="mw-headline" id="LayoutRegionList"> LayoutRegionList </span></h3>
2613+<p>Parameters
2614+</p>
2615+<ul><li> layoutId
2616+</li></ul>
2617+<p>Response
2618+</p><p>A list of region timelines. Each item will have the following values:
2619+</p>
2620+<ul><li> regionid
2621+</li><li> width
2622+</li><li> height
2623+</li><li> top
2624+</li><li> left
2625+</li><li> ownerid
2626+</li><li> permission_edit
2627+</li><li> permission_del
2628+</li><li> permission_update_permissions
2629+</li></ul>
2630+<p>Error Codes
2631+</p>
2632+<ul><li> 1 - Access Denied
2633+</li></ul>
2634+<h3> <span class="mw-headline" id="LayoutRegionAdd"> LayoutRegionAdd </span></h3>
2635+<p>Adds a new Region Timeline to a Layout
2636+</p><p>Parameters
2637+</p>
2638+<ul><li> layoutId
2639+</li><li> width
2640+</li><li> height
2641+</li><li> top
2642+</li><li> left
2643+</li><li> name
2644+</li></ul>
2645+<p>Response
2646+</p>
2647+<ul><li> success = true
2648+</li></ul>
2649+<p>Error Codes
2650+</p>
2651+<ul><li> 1 - Access Denied
2652+</li></ul>
2653+<h3> <span class="mw-headline" id="LayoutRegionEdit"> LayoutRegionEdit </span></h3>
2654+<p>Edits an existing Region Timeline on a Layout
2655+</p><p>Parameters
2656+</p>
2657+<ul><li> layoutId
2658+</li><li> regionId
2659+</li><li> width
2660+</li><li> height
2661+</li><li> top
2662+</li><li> left
2663+</li><li> name
2664+</li></ul>
2665+<p>Response
2666+</p>
2667+<ul><li> success = true
2668+</li></ul>
2669+<p>Error Codes
2670+</p>
2671+<ul><li> 1 - Access Denied
2672+</li></ul>
2673+<h3> <span class="mw-headline" id="LayoutRegionDelete"> LayoutRegionDelete </span></h3>
2674+<p>Deletes an existing Region Timeline on a Layout
2675+</p><p>Parameters
2676+</p>
2677+<ul><li> layoutId
2678+</li><li> regionId
2679+</li></ul>
2680+<p>Response
2681+</p>
2682+<ul><li> success = true
2683+</li></ul>
2684+<p>Error Codes
2685+</p>
2686+<ul><li> 1 - Access Denied
2687+</li></ul>
2688+<h2> <span class="mw-headline" id="Layout_Timelines"> Layout Timelines </span></h2>
2689+<p>Transactions related to layout timelines
2690+</p>
2691+<h3> <span class="mw-headline" id="LayoutRegionTimelineList"> LayoutRegionTimelineList </span></h3>
2692+<p>Parameters
2693+</p>
2694+<ul><li> layoutId
2695+</li><li> regionId
2696+</li></ul>
2697+<p>Response
2698+</p><p>A list of media items on a region timeline. Each item will have the following values:
2699+</p>
2700+<ul><li> mediaid
2701+</li><li> lkid
2702+</li><li> type
2703+</li><li> duration
2704+</li><li> permission_edit
2705+</li><li> permission_del
2706+</li><li> permission_update_duration
2707+</li><li> permission_update_permissions
2708+</li></ul>
2709+<p>Error Codes
2710+</p>
2711+<ul><li> 1 - Access Denied
2712+</li></ul>
2713+<h3> <span class="mw-headline" id="LayoutRegionMediaDetails"> LayoutRegionMediaDetails </span></h3>
2714+<p>Parameters
2715+</p>
2716+<ul><li> layoutId
2717+</li><li> regionId
2718+</li><li> mediaId
2719+</li></ul>
2720+<p>Response
2721+The XLF for the provided media id (XML format)
2722+</p><p>Error Codes
2723+</p>
2724+<ul><li> 1 - Access Denied
2725+</li></ul>
2726+<h3> <span class="mw-headline" id="LayoutRegionMediaAdd"> LayoutRegionMediaAdd </span></h3>
2727+<p>Parameters
2728+</p>
2729+<ul><li> layoutId
2730+</li><li> regionId
2731+</li><li> type (the type of media item being added)
2732+</li><li> xlf (the xibo layout file xml representing the media to add)
2733+</li></ul>
2734+<p>The XLF will be checked for the attributes that are required for all media type. It is the callers responsibility to ensure media type specific attributes are set correctly.
2735+</p><p>Response
2736+</p>
2737+<pre> The Media ID added
2738+</pre>
2739+<p>Error Codes
2740+</p>
2741+<ul><li> 1 - Access Denied
2742+</li></ul>
2743+<h3> <span class="mw-headline" id="LayoutRegionLibraryAdd"> LayoutRegionLibraryAdd </span></h3>
2744+<p>Parameters
2745+</p>
2746+<ul><li> layoutId
2747+</li><li> regionId
2748+</li><li> mediaList (A list of media id's from the library that should be added to to supplied layout/region)
2749+</li></ul>
2750+<p>Response
2751+</p>
2752+<pre>success (true|error)
2753+</pre>
2754+<p>Error Codes
2755+</p>
2756+<ul><li> 1 - Access Denied
2757+</li></ul>
2758+<h3> <span class="mw-headline" id="LayoutRegionMediaEdit"> LayoutRegionMediaEdit </span></h3>
2759+<p>Parameters
2760+</p>
2761+<ul><li> layoutId
2762+</li><li> regionId
2763+</li><li> mediaId
2764+</li><li> xlf (the xibo layout file xml representing the media to add)
2765+</li></ul>
2766+<p>The XLF will be checked for the attributes that are required for all media type. It is the callers responsibility to ensure media type specific attributes are set correctly.
2767+</p><p>Response
2768+</p>
2769+<pre>success (true|error)
2770+</pre>
2771+<p>Error Codes
2772+</p>
2773+<ul><li> 1 - Access Denied
2774+</li></ul>
2775+<h3> <span class="mw-headline" id="LayoutRegionMediaReorder"> LayoutRegionMediaReorder </span></h3>
2776+<p>Parameters
2777+</p>
2778+<ul><li> layoutId
2779+</li><li> regionId
2780+</li><li> mediaList (array('mediaid' =&gt; <i>, 'lkid' =&gt; 0))</i>
2781+</li></ul>
2782+<p>Response
2783+</p>
2784+<ul><li> success (true|false)
2785+</li></ul>
2786+<p>Error Codes
2787+</p>
2788+<ul><li> 1 - Access Denied
2789+</li></ul>
2790+<h3> <span class="mw-headline" id="LayoutRegionMediaDelete"> LayoutRegionMediaDelete </span></h3>
2791+<p>Parameters
2792+</p>
2793+<ul><li> layoutId
2794+</li><li> regionId
2795+</li><li> mediaId
2796+</li></ul>
2797+<p>Response
2798+success (true|error)
2799+</p><p>Error Codes
2800+</p>
2801+<ul><li> 1 - Access Denied
2802+</li></ul>
2803\ No newline at end of file
2804
2805=== added file 'server/manual/content/admin/api_library.php'
2806--- server/manual/content/admin/api_library.php 1970-01-01 00:00:00 +0000
2807+++ server/manual/content/admin/api_library.php 2014-01-19 13:57:27 +0000
2808@@ -0,0 +1,132 @@
2809+
2810+<h3> <span class="mw-headline" id="Library"> Library </span></h3>
2811+<ul><li> LibraryMediaFileUpload
2812+</li><li> LibraryMediaFileRevise
2813+</li><li> LibraryMediaAdd
2814+</li><li> LibraryMediaEdit
2815+</li><li> LibraryMediaRetire
2816+</li><li> LibraryMediaDownload
2817+</li><li> LibraryMediaList
2818+</li></ul>
2819+
2820+<p>Transactions related to the Library
2821+</p>
2822+<h3> <span class="mw-headline" id="LibraryMediaFileUpload"> LibraryMediaFileUpload </span></h3>
2823+<p>Parameters
2824+</p>
2825+<ul><li> FileID - Null for 1st call
2826+</li><li> Chunk Offset
2827+</li><li> Check Sum (MD5)
2828+</li></ul>
2829+<p>Response
2830+</p>
2831+<ul><li> FileID
2832+</li><li> Offset (file length)
2833+</li></ul>
2834+<p>Errors
2835+</p>
2836+<ul><li> 1 - Access Denied
2837+</li><li> 2 - Payload Checksum doesn't match provided checksum
2838+</li><li> 3 - Unable to add File record to the Database
2839+</li><li> 4 - Library location does not exist
2840+</li><li> 5 - Unable to create file in the library location
2841+</li><li> 6 - Unable to write to file in the library location
2842+</li><li> 7 - File does not exist
2843+</li></ul>
2844+<h3> <span class="mw-headline" id="LibraryMediaAdd"> LibraryMediaAdd </span></h3>
2845+<p>Parameters
2846+</p>
2847+<ul><li> fileId
2848+</li><li> type (image|video|flash|ppt)
2849+</li><li> name
2850+</li><li> duration
2851+</li><li> fileName (including extension)
2852+</li></ul>
2853+<p>Response
2854+</p>
2855+<ul><li> MediaID
2856+</li></ul>
2857+<p>Errors
2858+</p>
2859+<ul><li> Code 1 - Access Denied
2860+</li><li> Code 10 - The Name cannot be longer than 100 characters
2861+</li><li> Code 11 - You must enter a duration
2862+</li><li> Code 12 - This user already owns media with this name
2863+</li><li> Code 13 - Error inserting media into the database
2864+</li><li> Code 14 - Cannot clean up after failure
2865+</li><li> Code 15 - Cannot store file
2866+</li><li> Code 16 - Cannot update stored file location
2867+</li><li> Code 18 - Invalid File Extension
2868+</li></ul>
2869+<h3> <span class="mw-headline" id="LibraryMediaEdit"> LibraryMediaEdit </span></h3>
2870+<p>Parameters
2871+</p>
2872+<ul><li> mediaId
2873+</li><li> name
2874+</li><li> duration
2875+</li></ul>
2876+<p>Response
2877+</p>
2878+<ul><li> success
2879+</li></ul>
2880+<p>Errors
2881+</p>
2882+<ul><li> 1 - Access Denied
2883+</li><li> 10 - The Name cannot be longer than 100 characters
2884+</li><li> 11 - You must enter a duration
2885+</li><li> 12 - This user already owns media with this name
2886+</li><li> 30 - Database failure updating media
2887+</li></ul>
2888+<h3> <span class="mw-headline" id="LibraryMediaFileRevise"> LibraryMediaFileRevise </span></h3>
2889+<p>Parameters
2890+</p>
2891+<ul><li> mediaId
2892+</li><li> fileId
2893+</li><li> fileName (including extension)
2894+</li></ul>
2895+<p>Response
2896+</p>
2897+<ul><li> mediaId
2898+</li></ul>
2899+<p>Errors
2900+</p>
2901+<ul><li> 1 - Access Denied
2902+</li><li> 13 - Error inserting media into the database
2903+</li><li> 14 - Cannot clean up after failure
2904+</li><li> 15 - Cannot store file
2905+</li><li> 16 - Cannot update stored file location
2906+</li><li> 18 - Invalid File Extension
2907+</li><li> 31 - Unable to get information about existing media record
2908+</li><li> 32 - Unable to update existing media record
2909+</li></ul>
2910+<h3> <span class="mw-headline" id="LibraryMediaRetire"> LibraryMediaRetire </span></h3>
2911+<p>Parameters
2912+</p>
2913+<ul><li> mediaId
2914+</li></ul>
2915+<p>Response
2916+</p>
2917+<ul><li> success
2918+</li></ul>
2919+<p>Error Codes
2920+</p>
2921+<ul><li> 1 - Access Denied
2922+</li><li> 19 - Error retiring media
2923+</li></ul>
2924+<h3> <span class="mw-headline" id="LibraryMediaDelete"> LibraryMediaDelete </span></h3>
2925+<p>Parameters
2926+</p>
2927+<ul><li> mediaId
2928+</li></ul>
2929+<p>Response
2930+</p>
2931+<ul><li> Success = True
2932+</li></ul>
2933+<p>Error Codes
2934+</p>
2935+<ul><li> 1 - Access Denied
2936+</li><li> 20 - Cannot check if media is assigned to layouts
2937+</li><li> 21 - Media is in use
2938+</li><li> 22 - Cannot locate stored files, unable to delete
2939+</li><li> 23 - Database error deleting media
2940+</li></ul>
2941\ No newline at end of file
2942
2943=== added file 'server/manual/content/admin/api_methods.php'
2944--- server/manual/content/admin/api_methods.php 1970-01-01 00:00:00 +0000
2945+++ server/manual/content/admin/api_methods.php 2014-01-19 13:57:27 +0000
2946@@ -0,0 +1,144 @@
2947+<?php
2948+/*
2949+ * Xibo - Digital Signage - http://www.xibo.org.uk
2950+ * Copyright (C) 2006-2013 Daniel Garner
2951+ *
2952+ * This file is part of Xibo.
2953+ *
2954+ * Xibo is free software: you can redistribute it and/or modify
2955+ * it under the terms of the GNU Affero General Public License as published by
2956+ * the Free Software Foundation, either version 3 of the License, or
2957+ * any later version.
2958+ *
2959+ * Xibo is distributed in the hope that it will be useful,
2960+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2961+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2962+ * GNU Affero General Public License for more details.
2963+ *
2964+ * You should have received a copy of the GNU Affero General Public License
2965+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
2966+ */
2967+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
2968+?>
2969+<h2> <span class="mw-headline" id="Request_Formats"> Request Formats </span></h2>
2970+<p>Xibo supports the following request formats
2971+</p>
2972+<ul><li> REST
2973+</li></ul>
2974+<h3> <span class="mw-headline" id="REST"> REST </span></h3>
2975+<p>A simple POST or GET.
2976+</p><p>To request the Xibo Version method:
2977+</p>
2978+<pre>services.php?service=rest&amp;method=version
2979+</pre>
2980+<p>By default the response type is xml. To get a different response type send "&amp;response="
2981+</p><p><br />
2982+</p>
2983+<h2> <span class="mw-headline" id="Response_Types"> Response Types </span></h2>
2984+<p>Xibo supports the following response types
2985+</p>
2986+<ul><li> JSON (not implemented)
2987+</li><li> XML
2988+</li></ul>
2989+<h3> <span class="mw-headline" id="JSON"> JSON </span></h3>
2990+<p>To return a JSON object specify the response to be JSON (response="json")
2991+</p><p>A method call returns:
2992+</p>
2993+<pre>xiboApi({
2994+ "stat":"ok",
2995+ "response": {...}
2996+})
2997+</pre>
2998+<p><br />
2999+A failure call returns:
3000+</p>
3001+<pre>xiboApi({
3002+ "stat":"error",
3003+ "error": {
3004+ "code": "[error-code]",
3005+ "message": "[error-message]"
3006+ }
3007+})
3008+</pre>
3009+<h3> <span class="mw-headline" id="XML"> XML </span></h3>
3010+<p>A successful call returns this:
3011+</p>
3012+<pre>&lt;?xml version="1.0" encoding="utf-8"&#160;?&gt;
3013+&lt;rsp status="ok"&gt;
3014+ [xml-payload-here]
3015+&lt;/rsp&gt;
3016+</pre>
3017+<p>A failure call returns this:
3018+</p>
3019+<pre>&lt;?xml version="1.0" encoding="utf-8"&#160;?&gt;
3020+&lt;rsp status="error"&gt;
3021+ &lt;error code="[error-code]" message="[error-message]"
3022+&lt;/rsp&gt;
3023+</pre>
3024+<h2> <span class="mw-headline" id="Error_Codes">General Error Codes </span></h2>
3025+<p>A list of the potential error codes from each method call can be found with the documentation of that call.
3026+</p>
3027+
3028+<table border="1">
3029+<caption> Error code numbers and explanations
3030+</caption>
3031+<tr>
3032+<th>Error Code</th>
3033+<th>Explanation</th>
3034+<th>Use case
3035+</th></tr>
3036+<tr>
3037+<td> 1 </td>
3038+<td>Access Denied</td>
3039+<td>OAuth was successful, but Xibo denied access to that functionality for the user
3040+</td></tr>
3041+<tr>
3042+<td> 2 </td>
3043+<td>Checksum does not match with the generated checksum for the current payload</td>
3044+<td>Used when Uploading data or requesting file offset
3045+</td></tr>
3046+<tr>
3047+<td> 3 </td>
3048+<td>Unable to add File record to the Database</td>
3049+<td>
3050+</td></tr>
3051+<tr>
3052+<td> 4 </td>
3053+<td>Library location does not exist</td>
3054+<td>
3055+</td></tr>
3056+<tr>
3057+<td> 5 </td>
3058+<td>Unable to create file in the library location</td>
3059+<td>
3060+</td></tr>
3061+<tr>
3062+<td> 6 </td>
3063+<td>Unable to write to file in the library location</td>
3064+<td>
3065+</td></tr>
3066+<tr>
3067+<td> 7 </td>
3068+<td>File does not exist</td>
3069+<td>
3070+</td></tr>
3071+<tr>
3072+<td>10</td>
3073+<td>The Layout Name cannot be longer than 100 characters</td>
3074+<td>
3075+</td></tr>
3076+<tr>
3077+<td>11</td>
3078+<td>You must enter a duration</td>
3079+<td>
3080+</td></tr>
3081+<tr>
3082+<td>12</td>
3083+<td>The user already owns media with this name</td>
3084+<td>
3085+</td></tr>
3086+<tr>
3087+<td>13</td>
3088+<td>Error inserting media into the database</td>
3089+<td>
3090+</td></tr></table>
3091\ No newline at end of file
3092
3093=== added file 'server/manual/content/admin/api_misc.php'
3094--- server/manual/content/admin/api_misc.php 1970-01-01 00:00:00 +0000
3095+++ server/manual/content/admin/api_misc.php 2014-01-19 13:57:27 +0000
3096@@ -0,0 +1,15 @@
3097+
3098+<h3> <span class="mw-headline" id="Other"> Other </span></h3>
3099+<ul><li> Version
3100+</li><li> ServerStatus
3101+</li></ul>
3102+
3103+
3104+<h3> <span class="mw-headline" id="Version"> Version </span></h3>
3105+<p>Response
3106+</p>
3107+<pre>&lt;?xml version="1.0"?&gt;
3108+&lt;rsp status="ok"&gt;
3109+ &lt;version app_ver="1.1.1" XlfVersion="1" XmdsVersion="2" DBVersion="22"/&gt;
3110+&lt;/rsp&gt;
3111+</pre>
3112\ No newline at end of file
3113
3114=== added file 'server/manual/content/admin/api_modules.php'
3115--- server/manual/content/admin/api_modules.php 1970-01-01 00:00:00 +0000
3116+++ server/manual/content/admin/api_modules.php 2014-01-19 13:57:27 +0000
3117@@ -0,0 +1,19 @@
3118+
3119+<h3> <span class="mw-headline" id="Modules"> Modules</span></h3>
3120+<ul><li> ModuleList
3121+</li></ul>
3122+
3123+
3124+<h3> <span class="mw-headline" id="ModuleList"> ModuleList </span></h3>
3125+<p>Response
3126+A list of modules with the following attributes:
3127+</p>
3128+<ul><li> module - The Module Name
3129+</li><li> layoutOnly- Whether the module is a library based module or only available for layouts
3130+</li><li> description - A description of the module
3131+</li><li> extensions - Extensions allowed by this module
3132+</li></ul>
3133+<p>Error Codes
3134+</p>
3135+<ul><li> 40 - Unable to query for modules
3136+</li></ul>
3137\ No newline at end of file
3138
3139=== added file 'server/manual/content/admin/api_oauth.php'
3140--- server/manual/content/admin/api_oauth.php 1970-01-01 00:00:00 +0000
3141+++ server/manual/content/admin/api_oauth.php 2014-01-19 13:57:27 +0000
3142@@ -0,0 +1,100 @@
3143+<?php
3144+/*
3145+ * Xibo - Digital Signage - http://www.xibo.org.uk
3146+ * Copyright (C) 2006-2013 Daniel Garner
3147+ *
3148+ * This file is part of Xibo.
3149+ *
3150+ * Xibo is free software: you can redistribute it and/or modify
3151+ * it under the terms of the GNU Affero General Public License as published by
3152+ * the Free Software Foundation, either version 3 of the License, or
3153+ * any later version.
3154+ *
3155+ * Xibo is distributed in the hope that it will be useful,
3156+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3157+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3158+ * GNU Affero General Public License for more details.
3159+ *
3160+ * You should have received a copy of the GNU Affero General Public License
3161+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
3162+ */
3163+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
3164+?>
3165+<h1>Applications <small>API Authentication with oAuth</small></h1>
3166+<p>Any application that connects to the CMS API will require pre-registration and user authentication before it is allowed to connect.</p>
3167+
3168+<p>Applications must have an "Application" record in the CMS, which describes the application name, home page location and authentication information (application keys). Applications can be viewed from the Administration > Applications menu.</p>
3169+
3170+<p><img class="img-thumbnail" alt="API" src="content/admin/sa_api.png"></p>
3171+
3172+<p class="alert alert-danger">It is recommended to keep this information confidential and only accessible to super administrator users.</p>
3173+
3174+
3175+<h3 id="Registered_Applications">Registered Applications</h3>
3176+
3177+<p>You must obtain a consumer_key and consumer_secret for your application. Keys for "Supported" applications will be shipped with <?php echo PRODUCT_NAME; ?> meaning no extra steps are required. If you have made your own application you will need to register it with your <?php echo PRODUCT_NAME; ?> CMS using the "Add Application" menu button.</p>
3178+
3179+<p><img class="img-thumbnail" alt="API" src="content/admin/api_register_application.png"></p>
3180+
3181+
3182+<h3 id="Callback_URL">Callback URL</h3>
3183+<p>The Callback URL will be automatically called by <?php echo PRODUCT_NAME; ?> on a completely Authorize request. It will be called regardless
3184+of whether the authorization was successful and will contain an OAuth message indicating the authorize success.</p>
3185+
3186+<p>If you do not specify a Callback URL <?php echo PRODUCT_NAME; ?> will show a message requesting the user return to the application once authorized.</p>
3187+
3188+<h2 id="oAuthLog">oAuth Log <small>Debugging authentication requests</small></h2>
3189+<p>The CMS provides a log of all oAuth requests for tokens in the oAuth Log. Currently this log is a list of the last 50 oAuth requests, showing the date and header provided by the client.</p>
3190+
3191+<p><img class="img-thumbnail" alt="API" src="content/admin/api_oauth_log.png"></p>
3192+
3193+<h1 id="Authorization">Application Code <small>within the 3rd party application</small></h1>
3194+<p>The 3rd party application must obtain an access token which is used when making requests. This is done using the standard oAuth pattern. The specific URL's for the CMS are shown below:</p>
3195+
3196+<p>Service location: <code>http:://**YourCMS**/services.php</code></p>
3197+<p>OAuth methods:</p>
3198+
3199+<ul>
3200+ <li>XRDS: <code>services.php?xrds</code></li>
3201+ <li>Request Token: <code>services.php?service=oauth&amp;method=request_token</code></li>
3202+ <li>Authorize Token: <code>index.php?p=oauth&amp;q=authorize</code></li>
3203+ <li>Access Token: <code>services.php?service=oauth&amp;method=access_token</code></li>
3204+</ul>
3205+
3206+<h3 id="XRDS">XRDS</h3>
3207+<p>The service is also discoverable by XRDS. The schema is below: </p>
3208+
3209+<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
3210+ &lt;XRDS xmlns="xri://$xrds"&gt;
3211+ &lt;XRD xmlns:simple="<a href="http://xrds-simple.net/core/1.0" class="external free" title="http://xrds-simple.net/core/1.0"
3212+ rel="nofollow">http://xrds-simple.net/core/1.0</a>"
3213+ xmlns="xri://$XRD*($v*2.0)" xmlns:openid="<a href="http://openid.net/xmlns/1.0" class="external free" title="http://openid.net/xmlns/1.0" rel="nofollow">http://openid.net/xmlns/1.0</a>" version="2.0" xml:id="main"&gt;
3214+ &lt;Type&gt;xri://$xrds*simple&lt;/Type&gt;
3215+&lt;Service&gt;
3216+ &lt;Type&gt;<a href="http://oauth.net/discovery/1.0" class="external free" title="http://oauth.net/discovery/1.0" rel="nofollow">http://oauth.net/discovery/1.0</a>&lt;/Type&gt;
3217+ &lt;URI&gt;#main&lt;/URI&gt;
3218+&lt;/Service&gt;
3219+&lt;Service&gt;
3220+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/request" class="external free" title="http://oauth.net/core/1.0/endpoint/request" rel="nofollow">http://oauth.net/core/1.0/endpoint/request</a>&lt;/Type&gt;
3221+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/auth-header" class="external free" title="http://oauth.net/core/1.0/parameters/auth-header" rel="nofollow">http://oauth.net/core/1.0/parameters/auth-header</a>&lt;/Type&gt;
3222+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3223+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/HMAC-SHA1" class="external free" title="http://oauth.net/core/1.0/signature/HMAC-SHA1" rel="nofollow">http://oauth.net/core/1.0/signature/HMAC-SHA1</a>&lt;/Type&gt;
3224+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/PLAINTEXT" class="external free" title="http://oauth.net/core/1.0/signature/PLAINTEXT" rel="nofollow">http://oauth.net/core/1.0/signature/PLAINTEXT</a>&lt;/Type&gt;
3225+ &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/services.php?service=oauth&amp;method=request_token&lt;/URI&gt;
3226+&lt;/Service&gt;
3227+&lt;Service&gt;
3228+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/authorize" class="external free" title="http://oauth.net/core/1.0/endpoint/authorize" rel="nofollow">http://oauth.net/core/1.0/endpoint/authorize</a>&lt;/Type&gt;
3229+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3230+ &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/index.php?p=oauth&amp;q=authorize&lt;/URI&gt;
3231+&lt;/Service&gt;
3232+&lt;Service&gt;
3233+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/access" class="external free" title="http://oauth.net/core/1.0/endpoint/access" rel="nofollow">http://oauth.net/core/1.0/endpoint/access</a>&lt;/Type&gt;
3234+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/auth-header" class="external free" title="http://oauth.net/core/1.0/parameters/auth-header" rel="nofollow">http://oauth.net/core/1.0/parameters/auth-header</a>&lt;/Type&gt;
3235+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3236+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/HMAC-SHA1" class="external free" title="http://oauth.net/core/1.0/signature/HMAC-SHA1" rel="nofollow">http://oauth.net/core/1.0/signature/HMAC-SHA1</a>&lt;/Type&gt;
3237+ &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/PLAINTEXT" class="external free" title="http://oauth.net/core/1.0/signature/PLAINTEXT" rel="nofollow">http://oauth.net/core/1.0/signature/PLAINTEXT</a>&lt;/Type&gt;
3238+ &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/services.php?service=oauth&amp;method=access_token&lt;/URI&gt;
3239+&lt;/Service&gt;
3240+&lt;/XRD&gt;
3241+&lt;/XRDS&gt;
3242+</pre>
3243\ No newline at end of file
3244
3245=== added file 'server/manual/content/admin/api_oauth_log.png'
3246Binary files server/manual/content/admin/api_oauth_log.png 1970-01-01 00:00:00 +0000 and server/manual/content/admin/api_oauth_log.png 2014-01-19 13:57:27 +0000 differ
3247=== renamed file 'server/manual/content/admin/api.php' => 'server/manual/content/admin/api_overview.php'
3248--- server/manual/content/admin/api.php 2013-05-01 19:24:35 +0000
3249+++ server/manual/content/admin/api_overview.php 2014-01-19 13:57:27 +0000
3250@@ -1,396 +1,25 @@
3251-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3252-<?php include('../../template.php'); ?>
3253-<html>
3254- <head>
3255- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
3256- <title><?php echo PRODUCT_NAME; ?> Documentation</title>
3257- <link rel=stylesheet type="text/css" href="../../css/doc.css">
3258- <meta http-equiv="Content-Type" content="text/html" />
3259- <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />
3260- <meta name="description" content="<?php echo PRODUCT_NAME; ?> is an open source digital signage solution. It supports all main media types and can be interfaced to other sources of data using CSV, Databases or RSS." />
3261-
3262- <link href="img/favicon.ico" rel="shortcut icon"/>
3263- <!-- Javascript Libraries -->
3264- <script type="text/javascript" src="lib/jquery.pack.js"></script>
3265- <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>
3266- <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>
3267- </head>
3268- <body>
3269- <h1><?php echo PRODUCT_NAME; ?> API</h1>
3270-
3271- <p><img alt="SA <?php echo PRODUCT_NAME; ?> API" src="sa_api.png"
3272- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
3273- width="805" height="149"></p>
3274-
3275- <a name="Authorization" id="Authorization"></a><h2>Authorization</h2>
3276- <p>OAuth will be used to provide authorization for access to the <?php echo PRODUCT_NAME; ?> API.</p>
3277-
3278-<blockquote>
3279- <a name="OAuth_Information" id="OAuth_Information"></a><h3>OAuth Information</h3>
3280- <p>Service location: services.php</p>
3281- <p>OAuth methods:</p>
3282-
3283- <ul>
3284- <li> XRDS: services.php?xrds</li>
3285- <li> Request Token: services.php?service=oauth&amp;method=request_token</li>
3286- <li> Authorize Token: index.php?p=oauth&amp;q=authorize</li>
3287- <li> Access Token: services.php?service=oauth&amp;method=access_token</li>
3288- </ul>
3289-
3290- <a name="XRDS" id="XRDS"></a><h3>XRDS</h3>
3291- <pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
3292- &lt;XRDS xmlns="xri://$xrds"&gt;
3293- &lt;XRD xmlns:simple="<a href="http://xrds-simple.net/core/1.0" class="external free" title="http://xrds-simple.net/core/1.0"
3294- rel="nofollow">http://xrds-simple.net/core/1.0</a>"
3295- xmlns="xri://$XRD*($v*2.0)" xmlns:openid="<a href="http://openid.net/xmlns/1.0" class="external free" title="http://openid.net/xmlns/1.0" rel="nofollow">http://openid.net/xmlns/1.0</a>" version="2.0" xml:id="main"&gt;
3296- &lt;Type&gt;xri://$xrds*simple&lt;/Type&gt;
3297- &lt;Service&gt;
3298- &lt;Type&gt;<a href="http://oauth.net/discovery/1.0" class="external free" title="http://oauth.net/discovery/1.0" rel="nofollow">http://oauth.net/discovery/1.0</a>&lt;/Type&gt;
3299- &lt;URI&gt;#main&lt;/URI&gt;
3300- &lt;/Service&gt;
3301- &lt;Service&gt;
3302- &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/request" class="external free" title="http://oauth.net/core/1.0/endpoint/request" rel="nofollow">http://oauth.net/core/1.0/endpoint/request</a>&lt;/Type&gt;
3303- &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/auth-header" class="external free" title="http://oauth.net/core/1.0/parameters/auth-header" rel="nofollow">http://oauth.net/core/1.0/parameters/auth-header</a>&lt;/Type&gt;
3304- &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3305- &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/HMAC-SHA1" class="external free" title="http://oauth.net/core/1.0/signature/HMAC-SHA1" rel="nofollow">http://oauth.net/core/1.0/signature/HMAC-SHA1</a>&lt;/Type&gt;
3306- &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/PLAINTEXT" class="external free" title="http://oauth.net/core/1.0/signature/PLAINTEXT" rel="nofollow">http://oauth.net/core/1.0/signature/PLAINTEXT</a>&lt;/Type&gt;
3307- &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/services.php?service=oauth&amp;method=request_token&lt;/URI&gt;
3308- &lt;/Service&gt;
3309- &lt;Service&gt;
3310- &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/authorize" class="external free" title="http://oauth.net/core/1.0/endpoint/authorize" rel="nofollow">http://oauth.net/core/1.0/endpoint/authorize</a>&lt;/Type&gt;
3311- &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3312- &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/index.php?p=oauth&amp;q=authorize&lt;/URI&gt;
3313- &lt;/Service&gt;
3314- &lt;Service&gt;
3315- &lt;Type&gt;<a href="http://oauth.net/core/1.0/endpoint/access" class="external free" title="http://oauth.net/core/1.0/endpoint/access" rel="nofollow">http://oauth.net/core/1.0/endpoint/access</a>&lt;/Type&gt;
3316- &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/auth-header" class="external free" title="http://oauth.net/core/1.0/parameters/auth-header" rel="nofollow">http://oauth.net/core/1.0/parameters/auth-header</a>&lt;/Type&gt;
3317- &lt;Type&gt;<a href="http://oauth.net/core/1.0/parameters/uri-query" class="external free" title="http://oauth.net/core/1.0/parameters/uri-query" rel="nofollow">http://oauth.net/core/1.0/parameters/uri-query</a>&lt;/Type&gt;
3318- &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/HMAC-SHA1" class="external free" title="http://oauth.net/core/1.0/signature/HMAC-SHA1" rel="nofollow">http://oauth.net/core/1.0/signature/HMAC-SHA1</a>&lt;/Type&gt;
3319- &lt;Type&gt;<a href="http://oauth.net/core/1.0/signature/PLAINTEXT" class="external free" title="http://oauth.net/core/1.0/signature/PLAINTEXT" rel="nofollow">http://oauth.net/core/1.0/signature/PLAINTEXT</a>&lt;/Type&gt;
3320- &lt;URI&gt;http://<a href="/index.php?title=Template:XRDS_LOCATION&amp;action=edit&amp;redlink=1" class="new" title="Template:XRDS LOCATION (page does not exist)">Template:XRDS LOCATION</a>/services.php?service=oauth&amp;method=access_token&lt;/URI&gt;
3321- &lt;/Service&gt;
3322- &lt;/XRD&gt;
3323- &lt;/XRDS&gt;
3324- </pre>
3325-
3326- <a name="Registered_Applications" id="Registered_Applications"></a><h3>Registered Applications</h3>
3327- <p>You must obtain a consumer_key and consumer_secret for your application. Keys for "Supported" applications
3328- will be shipped with <?php echo PRODUCT_NAME; ?> meaning no extra steps are required. If you have made your own application you will need
3329- to register it with your <?php echo PRODUCT_NAME; ?> Server using the following address:</p>
3330- <p>Register Service: index.php?p=oauth</p>
3331- <p>You will be asked for:</p>
3332- <ul>
3333- <li>Your Name</li>
3334- <li> Your email address</li>
3335- <li> A URL for your Application</li>
3336- <li> A Callback URL</li>
3337- </ul>
3338- <p><?php echo PRODUCT_NAME; ?> will (at a later date) have a UI for displaying all registered applications.</p>
3339-
3340- <a name="Callback_URL" id="Callback_URL"></a><h3>Callback URL</h3>
3341- <p>The Callback URL will be automatically called by <?php echo PRODUCT_NAME; ?> on a completely Authorize request. It will be called regardless
3342- of whether the authorization was successful and will contain an OAuth message indicating the authorize success.</p>
3343- <p>If you do not specify a Callback URL <?php echo PRODUCT_NAME; ?> will show a message requesting the user return to the application once authorized.</p>
3344-</blockquote>
3345-
3346- <a name="Request_Formats" id="Request_Formats"></a><h2>Request Formats</h2>
3347- <p><?php echo PRODUCT_NAME; ?> supports the following request formats</p>
3348-
3349- <ul><li>REST</li></ul>
3350-
3351-<blockquote>
3352- <a name="REST" id="REST"></a><h3>REST</h3>
3353- <p>A simple POST or GET.</p>
3354- <p>To request the <?php echo PRODUCT_NAME; ?> Version method:</p>
3355- <pre>services.php?service=rest&amp;method=version</pre>
3356- <p>By default the response type is xml. To get a different response type send "&amp;response="</p>
3357-</blockquote>
3358-
3359- <a name="Response_Types" id="Response_Types"></a><h2>Response Types</h2>
3360- <p><?php echo PRODUCT_NAME; ?> supports the following response types</p>
3361-
3362- <blockquote>
3363- <ul><li>JSON</li>
3364- <li> XML</li></ul>
3365-
3366- <a name="JSON" id="JSON"></a><h3>JSON</h3>
3367- <p>To return a JSON object specify the response to be JSON (response="json")</p>
3368- <p>A method call returns:</p>
3369- <pre><?php echo PRODUCT_NAME; ?>Api({
3370- "stat":"ok",
3371- "response": {...}
3372- })
3373- </pre>
3374-
3375- <p>A failure call returns:</p>
3376- <pre><?php echo PRODUCT_NAME; ?>Api({
3377- "stat":"error",
3378- "error": {
3379- "code": "[error-code]",
3380- "message": "[error-message]"
3381- }
3382- })
3383- </pre>
3384-
3385- <a name="XML" id="XML"></a><h3>XML</h3>
3386- <p>A successful call returns this:</p>
3387- <pre>&lt;?xml version="1.0" encoding="utf-8"&nbsp;?&gt;
3388- &lt;rsp status="ok"&gt;
3389- [xml-payload-here]
3390- &lt;/rsp&gt;
3391- </pre>
3392- <p>A failure call returns this:</p>
3393- <pre>&lt;?xml version="1.0" encoding="utf-8"&nbsp;?&gt;
3394- &lt;rsp status="error"&gt;
3395- &lt;error code="[error-code]" message="[error-message]"
3396- &lt;/rsp&gt;
3397- </pre>
3398-</blockquote>
3399-
3400- <a name="Error_Codes" id="Error_Codes"></a><h2>Error Codes</h2>
3401- <p>A complete list of error codes can be found here: <a href="http://wiki.<?php echo PRODUCT_NAME; ?>.org.uk/wiki/Error_codes"
3402- class="external free" title="http://wiki.<?php echo PRODUCT_NAME; ?>.org.uk/wiki/Error_codes" rel="nofollow">http://wiki.<?php echo PRODUCT_NAME; ?>.org.uk/wiki/Error_codes</a></p>
3403- <p>A list of the potential error codes from each method call can be found with the documentation of that call.</p>
3404-
3405- <a name="Methods" id="Methods"></a><h2>Methods</h2>
3406- <p>Transactions supported by <?php echo PRODUCT_NAME; ?></p>
3407-
3408- <blockquote>
3409- <a name="Displays" id="Displays"></a><h3>Displays</h3>
3410- <ul><li>DisplayList</li>
3411- <li>DisplayEdit</li>
3412- <li>DisplayRetire</li>
3413- <li>DisplayDelete</li>
3414- <li>DisplayUserGroupSecurity</li>
3415- <li>DisplayUserGroupEdit</li>
3416- </ul>
3417-
3418- <a name="DisplayGroups" id="DisplayGroups"></a><h3>DisplayGroups</h3>
3419- <ul><li> DisplayGroupList</li>
3420- <li> DisplayGroupAdd</li>
3421- <li> DisplayGroupEdit</li>
3422- <li> DisplayGroupDelete</li>
3423- <li> DisplayGroupMembersList</li>
3424- <li> DisplayGroupMembersEdit</li>
3425- <li> DisplayGroupUserGroupList</li>
3426- <li> DisplayGroupUserGroupEdit</li></ul>
3427-
3428- <a name="Layout" id="Layout"></a><h3>Layout</h3>
3429- <ul><li> LayoutList</li>
3430- <li> LayoutAdd</li>
3431- <li> LayoutEdit</li>
3432- <li> LayoutCopy</li>
3433- <li> LayoutDelete</li>
3434- <li> LayoutRetire</li>
3435- <li> LayoutBackgroundList</li>
3436- <li> LayoutBackgroundEdit</li>
3437- <li> LayoutGetXlf</li>
3438- <li> LayoutRegionList</li>
3439- <li> LayoutRegionAdd</li><li> LayoutRegionEdit</li>
3440- <li> LayoutRegionPosition</li><li> LayoutRegionTimelineList</li>
3441- <li> LayoutRegionMediaAdd</li>
3442- <li> LayoutRegionMediaReorder</li>
3443- <li> LayoutRegionMediaDelete</li>
3444- <li> LayoutRegionLibraryAdd</li>
3445- <li> LayoutRegionMediaEdit</li>
3446- <li> LayoutRegionMediaDetails</li></ul>
3447-
3448- <a name="Library" id="Library"></a><h3>Library</h3>
3449- <ul><li> LibraryMediaFileUpload</li>
3450- <li> LibraryMediaFileRevise</li>
3451- <li> LibraryMediaAdd</li>
3452- <li> LibraryMediaEdit</li>
3453- <li> LibraryMediaRetire</li>
3454- <li> LibraryMediaDownload</li>
3455- <li> LibraryMediaList</li></ul>
3456-
3457- <a name="Schedule" id="Schedule"></a><h3>Schedule</h3>
3458- <ul><li> ScheduleList</li>
3459- <li> ScheduleAdd</li>
3460- <li> ScheduleEdit</li>
3461- <li> ScheduleDelete</li></ul>
3462-
3463- <a name="Template" id="Template"></a><h3>Template</h3>
3464- <ul><li> TemplateList</li>
3465- <li> TemplateDelete</li></ul>
3466-
3467- <a name="Resolution" id="Resolution"></a><h3>Resolution</h3>
3468- <ul><li> ResolutionList</li></ul>
3469-
3470- <a name="Modules" id="Modules"></a><h3>Modules</h3>
3471- <ul><li> ModuleList</li></ul>
3472-
3473- <a name="Other" id="Other"></a><h3>Other</h3>
3474- <ul><li> Version</li>
3475- <li> ServerStatus</li></ul>
3476- </blockquote>
3477-
3478- <a name="Method_Calls" id="Method_Calls"></a><h2>Method Calls</h2>
3479-
3480- <blockquote>
3481- <a name="LayoutAdd" id="LayoutAdd"></a><h3>LayoutAdd</h3>
3482- <p>Parameters</p>
3483- <ul><li> layout - The Name of the Layout</li>
3484- <li> description - The Description of the Layout</li>
3485- <li> permissionid - PermissionID for the layout</li>
3486- <li> tags - Tags for the Layout</li>
3487- <li> templateid - Template for the Layout</li>
3488- </ul>
3489-
3490- <p>Response</p>
3491- <ul><li> layout - The ID of the layout</li></ul>
3492-
3493- <p>Errors</p>
3494- <ul><li> Code 1 - Access Denied</li>
3495- <li> Code 25001 - Layout Name must be between 1 and 50 characters</li>
3496- <li> Code 25002 - Description must be less than 254 characters</li>
3497- <li> Code 25003 - All tags combined must be less that 254 characters</li>
3498- <li> Code 25004 - User already has a layout with this name</li>
3499- <li> Code 25005 - Database error adding layout</li>
3500- <li> Code 25006 - Failed to Parse Tags</li>
3501- <li> Code 25007 - Unable to update layout xml</li>
3502- <li> Code 25008 - Unable to Delete layout on failure</li>
3503- </ul>
3504-
3505- <a name="LayoutEdit" id="LayoutEdit"></a><h3> <span class="mw-headline"> LayoutEdit </span></h3>
3506- <p>Not implemented</p>
3507-
3508- <a name="LayoutUpdateXlf" id="LayoutUpdateXlf"></a><h3> <span class="mw-headline"> LayoutUpdateXlf </span></h3>
3509- <p>Not Implemented</p>
3510-
3511- <a name="LayoutBackground" id="LayoutBackground"></a><h3> <span class="mw-headline"> LayoutBackground </span></h3>
3512- <p>Not Implemented</p>
3513-
3514- <a name="LayoutDelete" id="LayoutDelete"></a><h3> <span class="mw-headline"> LayoutDelete </span></h3>
3515- <p>Parameters</p>
3516- <ul><li> layoutId - The ID of the layout to delete</li></ul>
3517- <p>Response</p>
3518- <ul><li> success = true</li></ul>
3519- <p>Errors</p>
3520- <ul><li> Code 1 - Access Denied</li><li> Code 25008 - Unable to delete layout</li></ul>
3521-
3522- <a name="TemplateDelete" id="TemplateDelete"></a><h3> <span class="mw-headline"> TemplateDelete </span></h3>
3523- <p>Parameters</p>
3524- <ul><li> templateId - The ID of the template to delete</li></ul>
3525- <p>Response</p>
3526- <ul><li> success = true</li></ul>
3527- <p>Errors</p>
3528- <ul><li> Code 1 - Access Denied</li><li> Code 25105 - Unable to delete template</li></ul>
3529-
3530- <a name="LibraryMediaFileUpload" id="LibraryMediaFileUpload"></a><h3> <span class="mw-headline"> LibraryMediaFileUpload </span></h3>
3531- <p>Parameters</p>
3532- <ul>
3533- <li> FileID - Null for 1st call</li><li> Chunk Offset</li>
3534- <li> Check Sum (MD5)</li></ul>
3535- <p>Response</p>
3536- <ul><li> FileID</li>
3537- <li> Offset (file length)</li></ul>
3538- <p>Errors</p>
3539- <ul><li> 1 - Access Denied</li>
3540- <li> 2 - Payload Checksum doesn't match provided checksum</li>
3541- <li> 3 - Unable to add File record to the Database</li>
3542- <li> 4 - Library location does not exist</li>
3543- <li> 5 - Unable to create file in the library location</li>
3544- <li> 6 - Unable to write to file in the library location</li>
3545- <li> 7 - File does not exist</li></ul>
3546-
3547- <a name="LibraryMediaAdd" id="LibraryMediaAdd"></a><h3> <span class="mw-headline"> LibraryMediaAdd </span></h3>
3548- <p>Parameters </p>
3549- <ul><li> fileId</li>
3550- <li>type (image|video|flash|ppt)</li>
3551- <li> name</li>
3552- <li>duration</li>
3553- <li> permissionId (1|2|3)</li>
3554- <li> fileName (including extension)</li></ul>
3555- <p>Response</p>
3556- <ul><li> MediaID</li></ul>
3557- <p>Errors</p>
3558- <ul><li> Code 1 - Access Denied</li>
3559- <li> Code 10 - The Name cannot be longer than 100 characters</li>
3560- <li> Code 11 - You must enter a duration</li>
3561- <li> Code 12 - This user already owns media with this name</li>
3562- <li> Code 13 - Error inserting media into the database</li>
3563- <li> Code 14 - Cannot clean up after failure</li>
3564- <li> Code 15 - Cannot store file</li>
3565- <li> Code 16 - Cannot update stored file location</li>
3566- <li> Code 18 - Invalid File Extension</li></ul>
3567-
3568- <a name="LibraryMediaEdit" id="LibraryMediaEdit"></a><h3> <span class="mw-headline"> LibraryMediaEdit </span></h3>
3569- <p>Parameters</p>
3570- <ul><li> mediaId</li>
3571- <li> name</li>
3572- <li>duration</li>
3573- <li> permissionId (1|2|3)</li>
3574- </ul>
3575- <p>Response</p>
3576- <ul><li> success</li></ul>
3577- <p>Errors</p>
3578- <ul><li> 1 - Access Denied</li>
3579- <li> 10 - The Name cannot be longer than 100 characters</li>
3580- <li> 11 - You must enter a duration</li>
3581- <li> 12 - This user already owns media with this name</li>
3582- <li> 30 - Database failure updating media</li>
3583- </ul>
3584-
3585- <a name="LibraryMediaFileRevise" id="LibraryMediaFileRevise"></a><h3> <span class="mw-headline"> LibraryMediaFileRevise </span></h3>
3586- <p>Parameters</p>
3587- <ul><li> mediaId</li>
3588- <li> fileId</li>
3589- <li> fileName (including extension)</li></ul>
3590- <p>Response</p>
3591- <ul><li> mediaId</li></ul>
3592- <p>Errors</p>
3593- <ul><li> 1 - Access Denied</li>
3594- <li> 13 - Error inserting media into the database</li>
3595- <li> 14 - Cannot clean up after failure</li>
3596- <li> 15 - Cannot store file</li>
3597- <li> 16 - Cannot update stored file location</li>
3598- <li> 18 - Invalid File Extension</li>
3599- <li> 31 - Unable to get information about existing media record</li>
3600- <li> 32 - Unable to update existing media record</li>
3601- </ul>
3602-
3603- <a name="LibraryMediaRetire" id="LibraryMediaRetire"></a><h3> <span class="mw-headline"> LibraryMediaRetire </span></h3>
3604- <p>Parameters</p>
3605- <ul><li> mediaId</li></ul>
3606- <p>Response</p>
3607- <ul><li> success</li></ul>
3608- <p>Error Codes</p>
3609- <ul><li> 1 - Access Denied</li>
3610- <li> 19 - Error retiring media</li></ul>
3611-
3612- <a name="LibraryMediaDelete" id="LibraryMediaDelete"></a><h3> <span class="mw-headline"> LibraryMediaDelete </span></h3>
3613- <p>Parameters</p>
3614- <ul><li> mediaId</li></ul>
3615- <p>Response</p>
3616- <ul><li> Success = True</li></ul>
3617- <p>Error Codes</p>
3618- <ul><li> 1 - Access Denied</li>
3619- <li> 20 - Cannot check if media is assigned to layouts</li>
3620- <li> 21 - Media is in use</li>
3621- <li> 22 - Cannot locate stored files, unable to delete</li>
3622- <li> 23 - Database error deleting media</li>
3623- </ul>
3624-
3625- <a name="ModuleList" id="ModuleList"></a><h3> <span class="mw-headline"> ModuleList </span></h3>
3626- <p>Response A list of modules with the following attributes:</p>
3627- <ul><li> module - The Module Name</li>
3628- <li> layoutOnly- Whether the module is a library based module or only available for layouts</li>
3629- <li> description - A description of the module</li>
3630- <li> extensions - Extensions allowed by this module</li>
3631- </ul>
3632- <p>Error Codes</p>
3633- <ul><li> 40 - Unable to query for modules</li></ul>
3634-
3635- <a name="Version" id="Version"></a><h3> <span class="mw-headline"> Version </span></h3>
3636- <p>Response</p>
3637- <pre>&lt;?xml version="1.0"?&gt;
3638- &lt;rsp status="ok"&gt;
3639- &lt;version app_ver="1.1.1" XlfVersion="1" XmdsVersion="2" DBVersion="22"/&gt;
3640- &lt;/rsp&gt;
3641- </pre>
3642- </blockquote>
3643-
3644- <?php include('../../template/footer.php'); ?>
3645- </body>
3646-</html>
3647+<?php
3648+/*
3649+ * Xibo - Digital Signage - http://www.xibo.org.uk
3650+ * Copyright (C) 2006-2013 Daniel Garner
3651+ *
3652+ * This file is part of Xibo.
3653+ *
3654+ * Xibo is free software: you can redistribute it and/or modify
3655+ * it under the terms of the GNU Affero General Public License as published by
3656+ * the Free Software Foundation, either version 3 of the License, or
3657+ * any later version.
3658+ *
3659+ * Xibo is distributed in the hope that it will be useful,
3660+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3661+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3662+ * GNU Affero General Public License for more details.
3663+ *
3664+ * You should have received a copy of the GNU Affero General Public License
3665+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
3666+ */
3667+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
3668+?>
3669+<h1><?php echo PRODUCT_NAME; ?> API</h1>
3670+
3671+<p>The CMS comes with an API for external applications to integrate with <?php echo PRODUCT_NAME; ?>.</p>
3672
3673=== added file 'server/manual/content/admin/api_register_application.png'
3674Binary files server/manual/content/admin/api_register_application.png 1970-01-01 00:00:00 +0000 and server/manual/content/admin/api_register_application.png 2014-01-19 13:57:27 +0000 differ
3675=== added file 'server/manual/content/admin/api_resolution.php'
3676--- server/manual/content/admin/api_resolution.php 1970-01-01 00:00:00 +0000
3677+++ server/manual/content/admin/api_resolution.php 2014-01-19 13:57:27 +0000
3678@@ -0,0 +1,4 @@
3679+
3680+<h3> <span class="mw-headline" id="Resolution"> Resolution </span></h3>
3681+<ul><li> ResolutionList
3682+</li></ul>
3683\ No newline at end of file
3684
3685=== added file 'server/manual/content/admin/api_schedule.php'
3686--- server/manual/content/admin/api_schedule.php 1970-01-01 00:00:00 +0000
3687+++ server/manual/content/admin/api_schedule.php 2014-01-19 13:57:27 +0000
3688@@ -0,0 +1,7 @@
3689+
3690+<h3> <span class="mw-headline" id="Schedule"> Schedule </span></h3>
3691+<ul><li> ScheduleList
3692+</li><li> ScheduleAdd
3693+</li><li> ScheduleEdit
3694+</li><li> ScheduleDelete
3695+</li></ul>
3696\ No newline at end of file
3697
3698=== added file 'server/manual/content/admin/api_template.php'
3699--- server/manual/content/admin/api_template.php 1970-01-01 00:00:00 +0000
3700+++ server/manual/content/admin/api_template.php 2014-01-19 13:57:27 +0000
3701@@ -0,0 +1,21 @@
3702+
3703+<h3> <span class="mw-headline" id="Template"> Template </span></h3>
3704+<ul><li> TemplateList
3705+</li><li> TemplateDelete
3706+</li></ul>
3707+
3708+
3709+<h3> <span class="mw-headline" id="TemplateDelete"> TemplateDelete </span></h3>
3710+<p>Parameters
3711+</p>
3712+<ul><li> templateId - The ID of the template to delete
3713+</li></ul>
3714+<p>Response
3715+</p>
3716+<ul><li> success = true
3717+</li></ul>
3718+<p>Errors
3719+</p>
3720+<ul><li> Code 1 - Access Denied
3721+</li><li> Code 25105 - Unable to delete template
3722+</li></ul>
3723\ No newline at end of file
3724
3725=== added file 'server/manual/content/admin/blueprints.php'
3726--- server/manual/content/admin/blueprints.php 1970-01-01 00:00:00 +0000
3727+++ server/manual/content/admin/blueprints.php 2014-01-19 13:57:27 +0000
3728@@ -0,0 +1,24 @@
3729+<?php
3730+/*
3731+ * Xibo - Digital Signage - http://www.xibo.org.uk
3732+ * Copyright (C) 2006-2013 Daniel Garner
3733+ *
3734+ * This file is part of Xibo.
3735+ *
3736+ * Xibo is free software: you can redistribute it and/or modify
3737+ * it under the terms of the GNU Affero General Public License as published by
3738+ * the Free Software Foundation, either version 3 of the License, or
3739+ * any later version.
3740+ *
3741+ * Xibo is distributed in the hope that it will be useful,
3742+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3743+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3744+ * GNU Affero General Public License for more details.
3745+ *
3746+ * You should have received a copy of the GNU Affero General Public License
3747+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
3748+ */
3749+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
3750+?>
3751+<h1>Blueprints</h1>
3752+<p>For the time being blueprints will be managed on the <a href="https://blueprints.launchpad.net/xibo">Launchpad Project Page</a>.</p>
3753\ No newline at end of file
3754
3755=== added file 'server/manual/content/admin/contributing.php'
3756--- server/manual/content/admin/contributing.php 1970-01-01 00:00:00 +0000
3757+++ server/manual/content/admin/contributing.php 2014-01-19 13:57:27 +0000
3758@@ -0,0 +1,167 @@
3759+<table id="toc" class="toc"><tr><td><div id="toctitle"><h1>Contributing <small>How can you help?</small></h1></div>
3760+<ul>
3761+<li class="toclevel-1 tocsection-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
3762+<li class="toclevel-1 tocsection-2"><a href="#Ways_to_Contribute"><span class="tocnumber">2</span> <span class="toctext">Ways to Contribute</span></a></li>
3763+<li class="toclevel-1 tocsection-3"><a href="#Licensing"><span class="tocnumber">3</span> <span class="toctext">Licensing</span></a></li>
3764+<li class="toclevel-1 tocsection-4"><a href="#Answering_Questions"><span class="tocnumber">4</span> <span class="toctext">Answering Questions</span></a></li>
3765+<li class="toclevel-1 tocsection-5"><a href="#Reporting_Bugs"><span class="tocnumber">5</span> <span class="toctext">Reporting Bugs</span></a></li>
3766+<li class="toclevel-1 tocsection-6"><a href="#Suggest_Improvements"><span class="tocnumber">6</span> <span class="toctext">Suggest Improvements</span></a></li>
3767+<li class="toclevel-1 tocsection-7"><a href="#Translate_Xibo"><span class="tocnumber">7</span> <span class="toctext">Translate Xibo</span></a></li>
3768+<li class="toclevel-1 tocsection-8"><a href="#Triage_Bugs"><span class="tocnumber">8</span> <span class="toctext">Triage Bugs</span></a></li>
3769+<li class="toclevel-1 tocsection-9"><a href="#Test_Unstable_Releases"><span class="tocnumber">9</span> <span class="toctext">Test Unstable Releases</span></a></li>
3770+<li class="toclevel-1 tocsection-10"><a href="#Documentation"><span class="tocnumber">10</span> <span class="toctext">Documentation</span></a></li>
3771+<li class="toclevel-1 tocsection-11"><a href="#Fix_Bugs_.2F_Implement_Blueprints"><span class="tocnumber">11</span> <span class="toctext">Fix Bugs / Implement Blueprints</span></a>
3772+<ul>
3773+<li class="toclevel-2 tocsection-12"><a href="#Development_Overview"><span class="tocnumber">11.1</span> <span class="toctext">Development Overview</span></a></li>
3774+<li class="toclevel-2 tocsection-13"><a href="#Important_Links"><span class="tocnumber">11.2</span> <span class="toctext">Important Links</span></a></li>
3775+<li class="toclevel-2 tocsection-14"><a href="#Development_Process_.28how_to_contribute.29"><span class="tocnumber">11.3</span> <span class="toctext">Development Process (how to contribute)</span></a>
3776+<ul>
3777+<li class="toclevel-3 tocsection-15"><a href="#Blueprints_.28new_features.29"><span class="tocnumber">11.3.1</span> <span class="toctext">Blueprints (new features)</span></a></li>
3778+<li class="toclevel-3 tocsection-16"><a href="#Bugs"><span class="tocnumber">11.3.2</span> <span class="toctext">Bugs</span></a></li>
3779+</ul>
3780+</li>
3781+</ul>
3782+</li>
3783+<li class="toclevel-1 tocsection-17"><a href="#Translatability"><span class="tocnumber">12</span> <span class="toctext">Translatability</span></a></li>
3784+<li class="toclevel-1 tocsection-18"><a href="#Coding_Style_Guide"><span class="tocnumber">13</span> <span class="toctext">Coding Style Guide</span></a>
3785+<ul>
3786+<li class="toclevel-2 tocsection-19"><a href="#Server"><span class="tocnumber">13.1</span> <span class="toctext">Server</span></a></li>
3787+<li class="toclevel-2 tocsection-20"><a href="#Notes"><span class="tocnumber">13.2</span> <span class="toctext">Notes</span></a></li>
3788+</ul>
3789+</li>
3790+</ul>
3791+</td></tr></table>
3792+<h2> <span class="mw-headline" id="Introduction">Introduction</span></h2>
3793+<p>Xibo is primarily developed by Daniel Garner and Alex Harrington. Xibo 1.0.0 also has heavy involvement from James Packer. Being a small development team we are very intimate with the Xibo code and design.
3794+</p><p>We are always delighted to accept contributions from others and we would always encourage this.
3795+</p>
3796+<h2> <span class="mw-headline" id="Ways_to_Contribute">Ways to Contribute</span></h2>
3797+<p>There are lots of ways to contribute to the Xibo project, and there are jobs that everyone can do, even if you're not a programmer! Here are the main ways, listed in ascending order of difficulty.
3798+</p>
3799+<ul><li>Answer questions in Launchpad Answers: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a>
3800+</li><li>Report bugs you find in Launchpad Bugs: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (The new bug report wizard in 1.0.0 greatly simplifies this)
3801+</li><li>Suggest improvements and new features in Launchpad Blueprints: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
3802+</li><li>Translate Xibo in to new Languages: <a rel="nofollow" class="external free" href="https://translations.launchpad.net/xibo">https://translations.launchpad.net/xibo</a>
3803+</li><li>Help triage bugs in Launchpad Bugs: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
3804+</li><li>Test unstable development releases and report bugs
3805+</li><li>Improve the documentation in the wiki or manual: <a rel="nofollow" class="external free" href="http://www.xibo.org.uk/manual">http://www.xibo.org.uk/manual</a>
3806+</li><li>Fix bugs in Launchpad Bugs: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
3807+</li><li>Implement Xibo Blueprints (new features) <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
3808+</li></ul>
3809+<p>Each of these areas is covered in more detail below:
3810+</p>
3811+<h2> <span class="mw-headline" id="Licensing">Licensing</span></h2>
3812+<p>Xibo is released under the AGPL v3. Xibo documentation is released under the Creative Commons Attribution Sharealike License. Xibo Translations are licensed by Launchpad under the BSD license (revised, without advertising clause).
3813+</p><p>All contributions to Xibo should be under the appropriate license listed above. If you object to contributing code under the appropriate license, please email info@xibo.org.uk BEFORE starting work, as there is a strong possibility that your contribution would be rejected.
3814+</p><p><br />
3815+</p>
3816+<h2> <span class="mw-headline" id="Answering_Questions">Answering Questions</span></h2>
3817+<p>Xibo isn't particularly well documented at present. There is a manual-in-progress, but it isn't complete. A great deal of time is taken up answering queries from people asking how to install Xibo, or how to use Xibo, or asking if various behaviours are bugs or not etc.
3818+</p><p>If you've used Xibo for a little while, and become familiar with its operation, you are more than qualified to suggest answers to these questions. All we ask is that you are polite and factual at all times.
3819+</p><p>We're particularly interested in people who speak more than one language who would be happy to answer questions posed in non-english languages (as Alex and Dan have very limited skills in that area!) or who can translate for us!
3820+</p>
3821+<h2> <span class="mw-headline" id="Reporting_Bugs">Reporting Bugs</span></h2>
3822+<p>Think you've found a bug? First check in Launchpad Bugs if someone else has already reported the same issue. If they have, you can subscribe to the bug so you get notification when its status changes, or when a new version of Xibo is released which solves the problem.
3823+</p><p>If you've found a new bug, please let us know about it!
3824+</p><p>Xibo 1.0.0 sees the release of the bug reporting wizard for Xibo Server. Initially please follow the steps in the bug wizard (found in the management menu). Also include screenshots if appropriate to show us what's wrong. The bug wizard collects alot of the commonly requested information that we need, but we might come back to you and ask for more information or further examples so we can figure out what went wrong.
3825+</p>
3826+<h2> <span class="mw-headline" id="Suggest_Improvements">Suggest Improvements</span></h2>
3827+<p>Everyone has ideas about how Xibo could improve, not just the developers. If you've got an idea, first have a look in Xibo Blueprints to see if it has already been suggested. If it has, subscribe to it to be notified as its status changes. Also feel free to ADD to the blueprint whiteboard specific thoughts about how things might work.
3828+</p><p>If your idea is new, feel free to create a new Blueprint. You should describe the idea you have in as much detail as you feel able. If you've done some development work on Xibo before, you might write a new section in the Wiki to further detail how you think the idea might be implemented.
3829+</p><p>With new ideas, especially if they are radically different to the general direction of Xibo development, it's best to start out with an overview of the functionallity, which you or a developer can flesh out at a later date.
3830+</p><p>An aside: Blueprints are just that - plans for the future. Not everything suggested will end up as a feature, especially if your idea is applicable to a very small number of users, or if the idea is a fundamental departure from the general direction of Xibo development.
3831+</p>
3832+<h2> <span class="mw-headline" id="Translate_Xibo">Translate Xibo</span></h2>
3833+<p>Already Xibo is being used in several countries. Xibo 1.1 and later will have support for GNU Gettext Translations. Translations will be handled by Launchpad Translations. If Xibo isn't currently available in your language, or a language you speak, then it's a really great way to help. Launchpad Translations is its own system, and help on how to use the system are best directed to the Launchpad Translations team. They have a getting started guide here: <a rel="nofollow" class="external free" href="https://help.launchpad.net/Translations/StartingToTranslate">https://help.launchpad.net/Translations/StartingToTranslate</a>
3834+</p>
3835+<h2> <span class="mw-headline" id="Triage_Bugs">Triage Bugs</span></h2>
3836+<p>Triage is a medical term, and it basically means catagorise problems by their severity. In Launchpad, triage is the process of checking a bug report to make sure it has all the appropriate information a developer will need to fix the problem, or in fact confirming that the problem exists and is reproducable.
3837+</p><p>When a bug arrives in Launchpad, it's status is set to "New" and it's importance is set to "Unknown". A bug triager will look at the bug report, and see if all the required information is there - eg is a suitable txt file attached with the output of the server Bug Wizard? Are screenshots provided if necessary. Can the bug triager reproduce the problem.
3838+</p><p>If information is missing, please add a comment to the bug asking for that information to be added. Set the bug status to "Incomplete" if you have suitable access rights.
3839+</p><p>If all the information is there, have a go at reproducing the problem on your system (virtual machines are really good for this). If you can reproduce the problem, mark the bug as "Confirmed" and add a comment to the bug describing how you reproduced it in detail. Attach any media as required, or provide links. If you can't reproduce the problem, then add a comment to that effect, but leave the status as "New".
3840+If you confirmed the bug, is there a workaround? If there is, describe it in a comment. Set the priority to "Low" and status to "Triaged" if you have suitable access rights.
3841+If there is no work around, set the priority as described below and the status to "Triaged". If you're not sure, leave this step all together:
3842+</p>
3843+<ul><li>Low - Confirmed bugs with workaround available
3844+</li><li>Medium - Confirmed bugs with no workaround that does not significantly impact upon operation of the whole system
3845+</li><li>High - Confirmed bugs with no workaround that impacts significantly on one or more areas of the whole system, but that leaves other areas of the system working.
3846+</li><li>Critical - Confirmed bugs with no workaround that make the whole system inoperable.
3847+</li></ul>
3848+<h2> <span class="mw-headline" id="Test_Unstable_Releases">Test Unstable Releases</span></h2>
3849+<p>The whole Xibo 1.1 series is "unstable". That means that releases in the series are not recommended for production environments. You can help by installing these releases and testing their operation as if it were a live system. Report any problems in Launchpad Bugs or Launchpad Answers.
3850+</p>
3851+<h2> <span class="mw-headline" id="Documentation">Documentation</span></h2>
3852+<p>There are large sections of the Xibo Manual still to be written, and the existing sections will need constant updates to track Xibo development. If you're interested in working on Xibo documentation, then please email info@xibo.org.uk and we'll get something worked out.
3853+</p><p><br />
3854+</p>
3855+<h2> <span class="mw-headline" id="Fix_Bugs_.2F_Implement_Blueprints">Fix Bugs / Implement Blueprints</span></h2>
3856+<h3> <span class="mw-headline" id="Development_Overview">Development Overview</span></h3>
3857+<p>These notes will give guidelines to developers which will ensure that any work you do has the maximum chance of getting merged into a Xibo release.
3858+</p><p>The Xibo Project exclusively uses Launchpad as a development platform. Through launchpad we manage blueprints (specifications for new features), bugs, Q&amp;A (support), translations and the code release cycle. The only thing we do not manage in Launchpad is the detailed specification documents and developer documentation - which is of course managed here on this Wiki.
3859+</p>
3860+<h3> <span class="mw-headline" id="Important_Links">Important Links</span></h3>
3861+<ul><li>Xibo Homepage: <a rel="nofollow" class="external free" href="http://www.xibo.org.uk">http://www.xibo.org.uk</a>
3862+</li><li>Launchpad Project Page: <a rel="nofollow" class="external free" href="https://launchpad.net/xibo">https://launchpad.net/xibo</a>
3863+</li><li>Developer Wiki: <a rel="nofollow" class="external free" href="http://wiki.xibo.org.uk">http://wiki.xibo.org.uk</a>
3864+</li></ul>
3865+<h3> <span class="mw-headline" id="Development_Process_.28how_to_contribute.29">Development Process (how to contribute)</span></h3>
3866+<p>I will split the development process into two sections; bugs and blueprints. They are essentially managed in the same way with a few minor differences.
3867+</p>
3868+<h4> <span class="mw-headline" id="Blueprints_.28new_features.29">Blueprints (new features)</span></h4>
3869+<p>So you want to implement an exciting new feature or idea into Xibo? - or maybe you want to change the way Xibo works slightly? In both of these circumstances your first task is to create a blueprint for the feature and assign it to yourself. You are then responsible for writing a specification document (it may be a brief paragraph, an article on this wiki or a IM conversation with us) at which point we will either Approve your idea, ask for more details or suggest an alternative.
3870+</p><p>Once your idea is approved you can ask for a "mentor" to help you get started - or you can pull the latest "future" series of the Xibo code and begin development. All development should be done using BZR (supported by Launchpad) and pushed to the Xibo project space in Launchpad. There are some good Launchpad tutorials available on their help site.
3871+</p><p><b>Note:</b> Blueprints will almost always be for the "Future series".
3872+We would suggest you call your branch "lp:~username/xibo/blueprint-title"
3873+</p>
3874+<h4> <span class="mw-headline" id="Bugs">Bugs</span></h4>
3875+<p>Found a bug that you want to help fix? The first place to go is the "Bugs" section in Launchpad to create a bug report for the problem you have found. This bug report will then be triaged by the community to determine if it has already been fixed or if it is a new bug, etc.
3876+</p><p>If the bug gets confirmed and you would like to implement a fix for the bug attach a comment to the bug saying so - we will then give the bug a milestone and a series goal and assign it to you. You can then branch the Xibo code from the appropriate series goal (unlike a blueprint a bug may be targeted to the stable release or to the future release).
3877+</p><p>Once you have the code, implement the fix to that one bug only and push your code back to launchpad. We would suggest you call your branch "lp:~username/xibo/bug#"
3878+</p><p><i>Check list</i>
3879+</p>
3880+<pre>1. Register a bug report or blueprint in Launchpad
3881+2. For a blueprint create a specification document - for a bug help triage it
3882+3. Get your blueprint approved / bug confirmed and assigned to you
3883+4. Branch the code your blueprint/bug relates to
3884+5. Implement the one blueprint / bug and push the branch back to Launchpad
3885+6. Does the code meet the coding style guide?
3886+7. Does the code use the appropriate library objects (Config, Kit, ResponseManager, db etc)
3887+8. Does the code output translatable strings (use the library function)
3888+9. Create a merge request
3889+</pre>
3890+<p>10. Wait for your code to be reviewed and merged!!
3891+11. Points 1-3 may take some time to get checked off - but it is worth it!
3892+</p>
3893+<h2> <span class="mw-headline" id="Translatability">Translatability</span></h2>
3894+<p>We're in the process of adding translation support to Xibo. There will be a library method to call in place of PHP's _("string") call. All new code must use this function. Also please look at the existing library of strings and see if the message you need to output is already in the translation library. If there is a suitable string there already, please reuse it rather than creating a new, very similar one, that has to be translated separatly.
3895+</p>
3896+<h2> <span class="mw-headline" id="Coding_Style_Guide">Coding Style Guide</span></h2>
3897+<h4> <span class="mw-headline" id="Server">Server</span></h4>
3898+<p>Blocks are expressed as follows:
3899+</p>
3900+<pre>class Example
3901+{
3902+ function registerDisplay(var)
3903+ {
3904+ print "OK";
3905+ }
3906+}
3907+
3908+$example = new Example();
3909+</pre>
3910+<p>Comments are good. Please add adequate comments to describe your code.
3911+If you include code written by someone else, please fully document where you got the code from, who wrote it and under what license you're using it. <b>Bear in mind that the license must be AGPLv3 or later compatible.</b>
3912+</p><p>Xibo is very object oriented. Please make sure you code in an object-oriented style where appropriate.
3913+</p>
3914+<h3> <span class="mw-headline" id="Notes">Notes</span></h3>
3915+<p>Due to the time pressures on Alex and myself we are unlikely to accept any code changes that fall into the below categories:
3916+</p>
3917+<ul><li> Do not have an approved blueprint or associated bug
3918+</li><li> Have more than one blueprint or associated bug (without prior agreement)
3919+</li><li> Are not released under an appropriate license (see above)
3920+</li></ul>
3921+<p>This may seem like an excessively complex way of contributing to Xibo - and if this is too much for you to do we understand. However this method gives the Xibo project the maximum chance of being stable, extensible and well managed!
3922+</p><p>We dont want to delay the release of important fixes and improvements any more than you want to wait for them to be released! This is why we have adopted launchpad as a solution. When used in the above manor it will allow bugs to be merged across series and features to be implemented in isolation. It will also reduce the chances of two contributions conflicting with each other.
3923+</p><p>It is also the method the Xibo Maintainers (Alex and I) develop and bug fix Xibo!!
3924+</p><p>We look forward to your contributions!
3925+</p>
3926\ No newline at end of file
3927
3928=== added file 'server/manual/content/admin/contributing_fr.php'
3929--- server/manual/content/admin/contributing_fr.php 1970-01-01 00:00:00 +0000
3930+++ server/manual/content/admin/contributing_fr.php 2014-01-19 13:57:27 +0000
3931@@ -0,0 +1,166 @@
3932+<p>Merci de vous référer aux notes ci-dessous lors de vos réflexions ou contributions au projet Xibo
3933+</p>
3934+<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
3935+<ul>
3936+<li class="toclevel-1 tocsection-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
3937+<li class="toclevel-1 tocsection-2"><a href="#Comment_contribuer"><span class="tocnumber">2</span> <span class="toctext">Comment contribuer</span></a></li>
3938+<li class="toclevel-1 tocsection-3"><a href="#Licence"><span class="tocnumber">3</span> <span class="toctext">Licence</span></a></li>
3939+<li class="toclevel-1 tocsection-4"><a href="#Questions_.2F_R.C3.A9ponses"><span class="tocnumber">4</span> <span class="toctext">Questions / Réponses</span></a></li>
3940+<li class="toclevel-1 tocsection-5"><a href="#Report_des_bugs"><span class="tocnumber">5</span> <span class="toctext">Report des bugs</span></a></li>
3941+<li class="toclevel-1 tocsection-6"><a href="#Sugg.C3.A9rer_des_am.C3.A9liorations"><span class="tocnumber">6</span> <span class="toctext">Suggérer des améliorations</span></a></li>
3942+<li class="toclevel-1 tocsection-7"><a href="#Traduire_Xibo"><span class="tocnumber">7</span> <span class="toctext">Traduire Xibo</span></a></li>
3943+<li class="toclevel-1 tocsection-8"><a href="#Triage_des_bugs"><span class="tocnumber">8</span> <span class="toctext">Triage des bugs</span></a></li>
3944+<li class="toclevel-1 tocsection-9"><a href="#Test_des_versions_instables"><span class="tocnumber">9</span> <span class="toctext">Test des versions instables</span></a></li>
3945+<li class="toclevel-1 tocsection-10"><a href="#Documentation"><span class="tocnumber">10</span> <span class="toctext">Documentation</span></a></li>
3946+<li class="toclevel-1 tocsection-11"><a href="#Correction_de_Bugs_.2F_Impl.C3.A9mentation_Blueprints"><span class="tocnumber">11</span> <span class="toctext">Correction de Bugs / Implémentation Blueprints</span></a>
3947+<ul>
3948+<li class="toclevel-2 tocsection-12"><a href="#Vue_d.27ensemble_du_d.C3.A9veloppement"><span class="tocnumber">11.1</span> <span class="toctext">Vue d'ensemble du développement</span></a></li>
3949+<li class="toclevel-2 tocsection-13"><a href="#Liens_importants"><span class="tocnumber">11.2</span> <span class="toctext">Liens importants</span></a></li>
3950+<li class="toclevel-2 tocsection-14"><a href="#Processus_de_d.C3.A9veloppement_.28comment_contribuer.29"><span class="tocnumber">11.3</span> <span class="toctext">Processus de développement (comment contribuer)</span></a>
3951+<ul>
3952+<li class="toclevel-3 tocsection-15"><a href="#Blueprints_.28nouvelles_fonctionnalit.C3.A9s.29"><span class="tocnumber">11.3.1</span> <span class="toctext">Blueprints (nouvelles fonctionnalités)</span></a></li>
3953+<li class="toclevel-3 tocsection-16"><a href="#Bugs"><span class="tocnumber">11.3.2</span> <span class="toctext">Bugs</span></a></li>
3954+</ul>
3955+</li>
3956+</ul>
3957+</li>
3958+<li class="toclevel-1 tocsection-17"><a href="#Traduction"><span class="tocnumber">12</span> <span class="toctext">Traduction</span></a></li>
3959+<li class="toclevel-1 tocsection-18"><a href="#Guide_pour_le_code_source"><span class="tocnumber">13</span> <span class="toctext">Guide pour le code source</span></a>
3960+<ul>
3961+<li class="toclevel-2 tocsection-19"><a href="#Serveur"><span class="tocnumber">13.1</span> <span class="toctext">Serveur</span></a></li>
3962+<li class="toclevel-2 tocsection-20"><a href="#Notes"><span class="tocnumber">13.2</span> <span class="toctext">Notes</span></a></li>
3963+</ul>
3964+</li>
3965+</ul>
3966+</td></tr></table>
3967+<h2> <span class="mw-headline" id="Introduction">Introduction</span></h2>
3968+<p>Xibo est principalement développé par Daniel Garner et Alex Harrington. James Packer s'est aussi beaucoup impliqué dans Xibo 1.0.0. Étant une petite équipe de développement, nous sommes très intime avec le code et le design de Xibo.
3969+</p><p>Nous sommes toujours ravis d'accepter des contributions d'autres personnes et nous encourageons cela.
3970+</p>
3971+<h2> <span class="mw-headline" id="Comment_contribuer">Comment contribuer</span></h2>
3972+<p>Il existe de nombreuses façons de contribuer au projet Xibo, et il ya des tâches que chacun peut faire, même si vous n'êtes pas développeurs&#160;!
3973+Voici les principaux moyens, énumérés dans l'ordre croissant de difficulté&#160;:
3974+</p>
3975+<ul><li>Poser des questions sur Launchpad Answers&#160;: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a>
3976+</li><li>Reporter un bug que vous avez trouvé sur Launchpad Bugs&#160;: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (Le nouvel assistant de report de bugs dans 1.0.0 simplifie grandement cela)
3977+</li><li>Suggérer des améliorations ou nouvelles fonctionnalités sur Launchpad Blueprints&#160;: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
3978+</li><li>Traduire Xibo dans d'autres Langues: https&#160;://translations.launchpad.net/xibo
3979+</li><li>Aider au trie des bugs sur Launchpad Bugs&#160;: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
3980+</li><li>Tester les versions de développement instables et reporter les bugs
3981+</li><li>Améliorer la documentation sur le wiki ou le manuel&#160;: <a rel="nofollow" class="external free" href="http://www.xibo.org.uk/manual">http://www.xibo.org.uk/manual</a>
3982+</li><li>Corriger des bugs dans Launchpad Bugs&#160;: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
3983+</li><li>Mettre en oeuvre les idées de Xibo Blueprints (nouvelles fonctionnalités) <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
3984+</li></ul>
3985+<p>Chacun de ces aspects est traité plus en détail ci-dessous&#160;:
3986+</p>
3987+<h2> <span class="mw-headline" id="Licence">Licence</span></h2>
3988+<p>Xibo est publié sous licence AGPL v3. La documentation de Xibo est sous Creative Commons Attribution ShareAlike License.
3989+Les traductions de Xibo sont par le biais de Launchpad sous licence BSD (révisé, sans clause de publicité).
3990+</p><p>Toutes les contributions à Xibo doivent être dans le cadre de la licence mentionnées ci-dessus. Si vous vous opposez à contribuer du code sous la licence appropriée, merci d'envoter un courriel à info@xibo.org.uk avant de commencer à travailler, car il est fort possible que votre contribution soit rejetée.
3991+</p>
3992+<h2> <span class="mw-headline" id="Questions_.2F_R.C3.A9ponses">Questions / Réponses</span></h2>
3993+<p>Xibo n'est pas particulièrement bien documenté à l'heure actuelle. Il existe un manuel en cours de rédaction, mais il n'est pas complet. Nous passons beaucoup de temps à répondre à des requêtes de gens demandant comment installer Xibo, comment utiliser Xibo ou encore de demander si les différents comportements sont des bugs ou pas.
3994+</p><p>Si vous avez utilisé Xibo un peu de temps, et que vous êtes familiarisé avec son fonctionnement, vous êtes plus que qualifié pour suggérer des réponses à ces questions. Tout ce que nous demandons, c'est d'être toujours poli.
3995+</p><p>Nous sommes particulièrement intéressés par des gens qui parlent plus d'une langue et qui se feront un plaisir de répondre à des questions posées dans les langues non-anglophones (comme Alex et Dan ont très peu de compétences dans ce domaine&#160;!) Ou qui peuvent les traduires pour nous&#160;!
3996+</p>
3997+<h2> <span class="mw-headline" id="Report_des_bugs">Report des bugs</span></h2>
3998+<p>Vous pensez que vous avez trouvé un bug&#160;? Vérifiez d'abord dans Launchpad Bugs si quelqu'un a déjà signalé le même problème. Si c'est le cas, vous pouvez vous abonner à l'erreur afin que vous obteniez une notification lorsque son statut change, ou quand une nouvelle version de Xibo est disponible et qui résout le problème.
3999+</p><p>Si vous avez trouvé un nouveau bug, merci de nous le faire savoir&#160;!
4000+</p><p>Xibo 1.0.0 voit la publication des rapports de bugs à partir de l'assistant pour Xibo Server. Au début, merci de suivre les étapes de l'assistant de bug (qui se trouve dans le menu de gestion). Inclure également des captures d'écran le cas échéant, afin de nous montrer ce qui ne va pas. L'assistant de bug rassemble une grande partie des informations communes que nous avons besoin, mais nous pourrions revenir vers vous et vous demander plus d'information ou d'autres exemples afin que nous puissions comprendre ce qui s'est mal passé.
4001+</p>
4002+<h2> <span class="mw-headline" id="Sugg.C3.A9rer_des_am.C3.A9liorations">Suggérer des améliorations</span></h2>
4003+<p>Tout le monde a des idées sur la façon dont Xibo pourrait s'améliorer et non pas seulement les développeurs. Si vous avez une idée, d'abord jeter un oeil dans le Blueprint de Xibo pour voir si elle n'a pas déjà été suggérée. Si c'est le cas, vous pouvez y souscrire pour être notifié si son statut change. N'hésitez pas à ajouter au tableau blanc spécifique, des idées sur la façon dont les choses pourraient fonctionner.
4004+</p><p>Si votre idée est nouvelle, sentez vous libre de créer une nouvelle idée dans Blueprint. Vous devez décrire l'idée que vous avez, en détaillant autant que possible. Si vous avez effectué avant, certains travaux de développement sur Xibo, vous pouvez écrire un nouveau chapitre dans le Wiki pour plus de détails sur la manière dont vous pensez que l'idée pourrait être mise en œuvre.
4005+</p><p>Avec de nouvelles idées, surtout si elles sont radicalement différentes de la direction générale de Xibo développement, il est préférable de commencer par une vue d'ensemble des fonctionnalités, que vous ou un développeur peut préciser pour une date ultérieure.
4006+</p><p>Un aparté: les idées sur Blueprints ne sont que des plans pour l'avenir. Tout ce qui est suggéré ne finira pas comme une caractéristique, surtout si votre idée est applicable à un très petit nombre d'utilisateurs, ou si l'idée est un chemin fondamentallement différent de la direction générale du développement de Xibo.
4007+</p>
4008+<h2> <span class="mw-headline" id="Traduire_Xibo">Traduire Xibo</span></h2>
4009+<p>Xibo est déjà utilisé dans plusieurs pays. Xibo 1.1 et supérieur supporterons la traduction via GNU Gettext. Les traductions seront traités par Launchpad Translations. Si Xibo n'est actuellement pas disponible dans votre langue, ou dans une langue que vous parlez, alors c'est un excellent moyen de nous aider. Launchpad Translations à son propre système, et l'aide sur l'utilisation du système est par l'équipe de Launchpad Translations ets la plus adaptée. Ils ont un guide de démarrage ici: <a rel="nofollow" class="external free" href="https://help.launchpad.net/Translations/StartingToTranslate">https://help.launchpad.net/Translations/StartingToTranslate</a>
4010+</p>
4011+<h2> <span class="mw-headline" id="Triage_des_bugs">Triage des bugs</span></h2>
4012+<p>Le triage est un terme médical, qui signifie catégoriser des problèmes de par leur gravité. Pour Launchpad, le triage est un processus de vérification d'un rapport de bug pour s'assurer qu'il y a toutes les informations qu'auront besoin un développeur pour résoudre le problème, ou de confirmer que le problème existe et qu'il se reproduit.
4013+</p><p>Quand un bug arrive dans Launchpad, son statut est réglé sur "New" et son importance est fixée à "Unknown". Un trieur de bug se penchera sur le rapport de bug, et voir si toutes les informations requises sont présentes, comme par exemple un fichier txt joint à la sortie de l'Assistant de bug du serveur&#160;? Des captures d'écran fournis si nécessaire. Puis le trieur de bug va essayer de reproduire le problème.
4014+</p><p>Si l'information est manquante, merci d'ajouter un commentaire à l'erreur pour demander que les informations soit ajoutées. Chnager le statut du problème à «Incomplete» si vous avez les droits d'accès appropriés.
4015+</p><p>Si toute l'information est là, se lancer à reproduire le problème sur votre système (les machines virtuelles sont vraiment bons pour ça). Si vous pouvez reproduire ce problème, marquer le bug comme "Confirmed", et ajouter un commentaire sur le bug pour décrire comment le reproduire en détail. Joindre les médias nécessaire en cas de besoin ou des liens.
4016+Si vous ne pouvez pas reproduire le problème, ajoutez un commentaire à cet effet, mais laissez le statut sur "New". Si vous avez confirmé le bug, y'a t'il une solution? Si c'est le cas, la décrire dans un commentaire. Définissez la priorité à "Low" et le statut de "Triaged" si vous avez les droits d'accès appropriés. S'il n'y a pas de problème, la priorité tel que décrit ci-dessous et le statut de "Triaged". Si vous ne savez pas, laissez cette étape, tous ensemble:
4017+</p>
4018+<ul><li> Low - Bugs confirmés avec une solution disponible
4019+</li><li> Middle - Bugs confirmés, sans solution disponible, sans impact significatif sur le fonctionnement de l'ensemble du système
4020+</li><li> High - Bugs confirmés, sans solution disponible, avec impact significatif uniquement sur un ou plusieurs parties de l'ensemble du système, mais qui laisse d'autres parties du système fonctionner.
4021+</li><li> Critical - Bugs confirmés, sans solution disponible et qui rend l'ensemble du système inutilisable.
4022+</li></ul>
4023+<h2> <span class="mw-headline" id="Test_des_versions_instables">Test des versions instables</span></h2>
4024+<p>L'ensemble de la série Xibo 1.1 est "instable". Cela signifie que les versions dans ses séries ne sont pas recommandés pour les environnements de production. Vous pouvez nous aider par l'installation de ces versions et en testant leurs fonctionnement, comme si elle était en environnement réel. Reporter les problèmes dans Launchpad Bugs ou dans Launchpad Answers.
4025+</p>
4026+<h2> <span class="mw-headline" id="Documentation">Documentation</span></h2>
4027+<p>Il y a de grandes sections de la Xibo Manuel qui ne sont pas encore écrites, et les sections doivent être constamment mises à jour en fonction du développement de Xibo. Si vous êtes intéressé pour travailler sur la documentation de Xibo, alors merci d'envoyer un courriel à l'adresse info@xibo.org.uk et nous vous donnerons quelque chose à faire.
4028+</p>
4029+<h2> <span class="mw-headline" id="Correction_de_Bugs_.2F_Impl.C3.A9mentation_Blueprints">Correction de Bugs / Implémentation Blueprints</span></h2>
4030+<h3> <span class="mw-headline" id="Vue_d.27ensemble_du_d.C3.A9veloppement">Vue d'ensemble du développement</span></h3>
4031+<p>Ces notes donnent des directives pour les développeurs qui feront en sorte que tout travail que vous faites ai le maximum de chances de se fusionner dans une version de Xibo.
4032+</p><p>Le projet utilise exclusivement Xibo Launchpad comme plate-forme de développement. Grâce Launchpad nous gérons propositions d'idées (spécifications pour de nouvelles fonctionnalités), les bugs, FAQ (support), les traductions et la gestion du cycle pour le code source. La seule chose que nous ne parvenons pas à Launchpad est la spécification détaillée des documents et de documentation pour les développeurs, ce qui est bien sûr géré ici sur ce Wiki.
4033+</p>
4034+<h3> <span class="mw-headline" id="Liens_importants">Liens importants</span></h3>
4035+<ul><li> Site du projet Xibo&#160;: <a rel="nofollow" class="external free" href="http://www.xibo.org.uk">http://www.xibo.org.uk</a>
4036+</li><li> Page du project sur Launchpad&#160;: <a rel="nofollow" class="external free" href="https://launchpad.net/xibo">https://launchpad.net/xibo</a>
4037+</li><li> Wiki pour les développeurs&#160;: <a rel="nofollow" class="external free" href="http://labs.xibo.org.uk/blueprints">http://labs.xibo.org.uk/blueprints</a>
4038+</li></ul>
4039+<h3> <span class="mw-headline" id="Processus_de_d.C3.A9veloppement_.28comment_contribuer.29">Processus de développement (comment contribuer)</span></h3>
4040+<p>Je vais diviser le processus de développement en deux sections; Blueprints et bugs. Elles sont essentiellement gérées de la même manière, avec quelques différences mineures.
4041+</p>
4042+<h4> <span class="mw-headline" id="Blueprints_.28nouvelles_fonctionnalit.C3.A9s.29">Blueprints (nouvelles fonctionnalités)</span></h4>
4043+<p>Vous voulez mettre en place une nouvelle fonctionnalité ou une idée pour Xibo&#160;? Ou peut-être que vous voulez un peu modifier la façon dont fonctionne Xibo&#160;? Dans ces deux circonstances, votre première tâche est de créer un entrée dans Blueprint pour cette fonctionnalité et l'attribuer à vous-même. Vous êtes alors responsable de la rédaction d'un document de spécification (cela doit être un bref paragraphe, un article sur ce wiki ou d'une conversation de messagerie instantanée avec nous) dans un second temps, nous pouvons approuver votre idée, demander plus de détails ou suggérer une alternative.
4044+</p><p>Une fois que votre idée est approuvée, vous pouvez demander à un «mentor» de vous aider à démarrer ou vous pouvez récupérer le code de la "future" version de la série Xibo et commencer le développement. Tous les efforts devraient être faits en utilisant BZR (Bazaar, soutenu par Launchpad) et renvoyer les modifications de votre branche sur Launchpad, dans l'espace réservé au projet Xibo. Il ya de bons tutoriels Launchpad disponibles sur leur site d'aide.
4045+</p><p><b>Note</b>&#160;: Les propositions sur Blueprint seront presque toujours pour les «futures versions". Nous vous suggérons de nommer vos branches "lp:~nom-utilisateur/xibo/titre-blueprint"
4046+</p>
4047+<h4> <span class="mw-headline" id="Bugs">Bugs</span></h4>
4048+<p>Vous avez trouvé un bug et vous voulez nous aider à corriger&#160;? Le premier endroit où aller est la partie "bugs" du projet Xibo dans le Launchpad pour créer un rapport de bug pour le problème que vous avez trouvé. Ce rapport de bug sera ensuite triés par la communautée afin de déterminer si il a déjà été fixé ou si c'est un nouveau bug.
4049+</p><p>Si le bug est confirmé et vous souhaitez appliquer un correctif pour le bug, joindre un commentaire à l'erreur pour le dire, nous donnerons un objectif pour une version et vous l'assignerons. Vous pouvez ensuite récupérer le code de la branche correspondante à la version Xibo spécifiée lros de l'attribution du bug (contrairement à une nouvelle fonctionnalité, un bug est assignée pour une version pour la version stable ou une future version).
4050+</p><p>Une fois que vous avez récupérer le code, mettre en œuvre la correction du bug et renvoyer le code sur le Launchpad. Nous vous suggérons de nommer votre branche "lp:~nom-utilisateur/xibo/bug#"
4051+</p><p><i>Check list</i>
4052+</p>
4053+<pre>1. Enregistrer un rapport de bug ou une nouvelle fonctionnalité Blueprint in Launchpad
4054+2. Pour une fonctionnalité Blueprint, créer une spécifiation détaillée, pour un bug aider au triage de celui-ci
4055+3. Obtenez l'approbation de votre fonctionnalité Blueprint / confirmation de votre bug et vous l'assignez
4056+4. Récupérer le code la branche correspondante à la fonctionnalité Blueprint / de votre bug
4057+5. Implémenter la fonctionnalité Blueprint / corriger le bug et publié le code dans une nouvelle branche sur Launchpad
4058+6. Est-ce que le code correspond au style du code Xibo indiqué dans le guide
4059+7. Est-ce que le code utilise corectement les libraries d'objets Xibo (Config, Kit, ResponseManager, DB, etc)
4060+8. Es-ce que le code affiche bien les variables (utilisation des librairies de fonctions)
4061+9. Faire une demande de fusion du code
4062+10. Attendre que votre code soit relu et fusionné&#160;!
4063+11. Les points à 1-3 peuvent mettre du temps à être complété, mais cela en vaut la peine&#160;!
4064+</pre>
4065+<h2> <span class="mw-headline" id="Traduction">Traduction</span></h2>
4066+<p>Nous sommes actuellement dans le processus d'ajout de traduction à Xibo. Il y aura une librairie de méthode pour permettre la traduction à la place des appels Gettext en PHP _( "string"). Tous les nouveaux code doivent utiliser cette fonction. Aussi, merci de jeter un oeil à la bibliothèque existante de variables et de voir si le message que vous avez besoin pour l'affichage est déjà dans la librairie de traduction. Si il y a une chaîne de caractères qui existe déjà, merci de la réutiliser plutôt que de créer une nouvelle, très similaire, qui doit être traduit séparément.
4067+</p>
4068+<h2> <span class="mw-headline" id="Guide_pour_le_code_source">Guide pour le code source</span></h2>
4069+<h4> <span class="mw-headline" id="Serveur">Serveur</span></h4>
4070+<p>Les blocs sont exprimés comme suit:
4071+</p>
4072+<pre>class Example
4073+{
4074+ function registerDisplay(var)
4075+ {
4076+ print "OK";
4077+ }
4078+}
4079+
4080+$example = new Example();
4081+</pre>
4082+<p>Les commentaires sont utiles. Merci d'ajouter des commentaires adéquats pour décrire votre code.
4083+Si vous incluez le code écrit par quelqu'un d'autre, merci de documenter complétement dans ce cas là où vous l'avez obtenu le code, qui a écrit et sous quelle licence vous l'utiliser. <i> 'Gardez à l'esprit que la licence doit être compatible AGPLv3 ou suivante.'</i>
4084+</p><p>Xibo est très orienté objet. Merci de vous assurer que votre code suive aussi le style orienté objet, s'il ya lieu.
4085+</p>
4086+<h3> <span class="mw-headline" id="Notes">Notes</span></h3>
4087+<p>En raison de contraintes de temps d'Alex et moi-même nous ne pouvons accepter tout changement de code qui entrent dans les catégories ci-dessous:
4088+</p>
4089+<ul><li> Ne pas avoir une fonctionnalité Blueprint ou bug attribué
4090+</li><li> Avoir plus d'une fonctionnalité Blueprint ou bug en même temps (sans accord préalable)
4091+</li><li> Ne pas avoir une licence appropriée (voir ci-dessus)
4092+</li></ul>
4093+<p>Cette cela peut sembler excessivement complexe de contribuer à Xibo et si cela est trop pour vous, nous vous comprenons. Toutefois, cette méthode donne au projet Xibo le maximum de chances d'être stable, extensible et bien géré&#160;!
4094+</p><p>Nous ne voulons pas retarder la publication d'importantes corrections et améliorations, pas plus que vous voulez attendre leur libération&#160;! C'est pourquoi nous avons adopté la solution Launchpad. Lorsqu'il est utilisé à bon escient, il permet de corriger les bugs et fusionné ensuite avec une version, et les caractéristiques d'être mis en oeuvre de façon isolée. Il permettra également de réduire les chances que deux contributions entre en conflit les unes avec les autres.
4095+</p><p>Il s'agit également de la méthode que les Mainteneurs Xibo (Alex et moi) élabore pour le développement et la correction des bugs dans Xibo!
4096+</p><p>Nous attendons vos contributions!
4097+</p>
4098\ No newline at end of file
4099
4100=== added file 'server/manual/content/admin/database_model.php'
4101--- server/manual/content/admin/database_model.php 1970-01-01 00:00:00 +0000
4102+++ server/manual/content/admin/database_model.php 2014-01-19 13:57:27 +0000
4103@@ -0,0 +1,26 @@
4104+<?php
4105+/*
4106+ * Xibo - Digital Signage - http://www.xibo.org.uk
4107+ * Copyright (C) 2006-2013 Daniel Garner
4108+ *
4109+ * This file is part of Xibo.
4110+ *
4111+ * Xibo is free software: you can redistribute it and/or modify
4112+ * it under the terms of the GNU Affero General Public License as published by
4113+ * the Free Software Foundation, either version 3 of the License, or
4114+ * any later version.
4115+ *
4116+ * Xibo is distributed in the hope that it will be useful,
4117+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4118+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4119+ * GNU Affero General Public License for more details.
4120+ *
4121+ * You should have received a copy of the GNU Affero General Public License
4122+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4123+ */
4124+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4125+?>
4126+<h1>Database Model</h1>
4127+
4128+<h2>EER</h2>
4129+<p><a href="content/admin/eer_1.4.png"><img class="img-thumbnail" alt="EER" src="content/admin/eer_1.4.png"></a></p>
4130\ No newline at end of file
4131
4132=== added file 'server/manual/content/admin/display_action_menu.png'
4133Binary files server/manual/content/admin/display_action_menu.png 1970-01-01 00:00:00 +0000 and server/manual/content/admin/display_action_menu.png 2014-01-19 13:57:27 +0000 differ
4134=== added file 'server/manual/content/admin/display_wakeonlan.php'
4135--- server/manual/content/admin/display_wakeonlan.php 1970-01-01 00:00:00 +0000
4136+++ server/manual/content/admin/display_wakeonlan.php 2014-01-19 13:57:27 +0000
4137@@ -0,0 +1,78 @@
4138+<?php
4139+/*
4140+ * Xibo - Digital Signage - http://www.xibo.org.uk
4141+ * Copyright (C) 2006-2013 Daniel Garner
4142+ *
4143+ * This file is part of Xibo.
4144+ *
4145+ * Xibo is free software: you can redistribute it and/or modify
4146+ * it under the terms of the GNU Affero General Public License as published by
4147+ * the Free Software Foundation, either version 3 of the License, or
4148+ * any later version.
4149+ *
4150+ * Xibo is distributed in the hope that it will be useful,
4151+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4152+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4153+ * GNU Affero General Public License for more details.
4154+ *
4155+ * You should have received a copy of the GNU Affero General Public License
4156+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4157+ */
4158+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4159+?>
4160+<h1>Wake On LAN (WOL)</h1>
4161+
4162+<p>This section will look at the Wake On Lan (WOL) feature of <?php echo PRODUCT_NAME; ?>.</p>
4163+
4164+<p>There has been a lot of interest over the years <?php echo PRODUCT_NAME; ?> has been running for a solution to be "green", "save power" and
4165+generally not have the <?php echo PRODUCT_NAME; ?> display screen solution on unnecessarily.</p>
4166+
4167+<p>The WOL function is intended to be used for display clients that are addressable by the server, by this we mean that there
4168+has to be a clear addressable network route between the server and the client that needs to wake up. It is also required that
4169+WOL is turned on in any necessary settings on the client PC.</p>
4170+
4171+<p>The WOL configuration happens on a display by display basis from the Edit Display form. Each display has new settings for:</p>
4172+<dl>
4173+ <dt>Enable Wake On LAN</dt>
4174+ <dd>Turn WOL on/off for the display</dd>
4175+</dl>
4176+<dl>
4177+ <dt>Wake On LAN Time</dt>
4178+ <dd>Specify a time for this display to wake, using the 24 hr clock</dd>
4179+</dl>
4180+<dl>
4181+ <dt>BroadCast Address</dt>
4182+ <dd>The BroadCast address of the client, if unknown use the IP address and fill in the CIDR field</dd>
4183+</dl>
4184+<dl>
4185+ <dt>Wake On LAN Secure On</dt>
4186+ <dd>The SecureOn password for the client, if supported</dd>
4187+</dl>
4188+<dl>
4189+ <dt>Wake On LAN CIDR</dt>
4190+ <dd>The CIDR subnet mask, if the BroadCast Address is unknown</dd>
4191+</dl>
4192+
4193+<p>Once the display has these settings it can be woken up in 2 ways:</p>
4194+
4195+
4196+<h3>Wake On LAN Now</h3>
4197+
4198+<p><img class="img-thumbnail" alt="Send WOL Form" src="content/admin/sa_display_wol.png"></p>
4199+
4200+<p>Each display has the "Wake On LAN" button which can be used to send a wake on LAN command on demand. Clicking the button displays
4201+a form for confirmation, once this is pressed the command is send immediately to the client.</p>
4202+
4203+<h3>Wake On LAN Time - Maintenance Script</h3>
4204+<p>In addition to the WOL now function, the <?php echo PRODUCT_NAME; ?> maintenance module has been altered to send a WOL packet to any display which has
4205+a "Wake On LAN Time" specified. It will only send the command once, as the time window is passed.</p>
4206+
4207+<p>The maintenance script has to be running for this to work correctly. Maintenance instructions can be found on the
4208+<a title="Maintenance Instructions" href="index.php?toc=getting_started&p=admin/settings#Maintenance">Settings -> Maintenance</a>.</p>
4209+
4210+<h3>Putting the client to sleep</h3>
4211+<p>There are a few different options for putting the client to sleep - such as a scheduled task. However, the next article in this series
4212+will look at an option built into <?php echo PRODUCT_NAME; ?>. The "Shell Command" module.</p>
4213+
4214+<p class="alert alert-info">WOL is not routable. The <?php echo PRODUCT_NAME; ?> server is unable to see clients over the internet that are behind NAT,
4215+or on a different subnet.</p>
4216\ No newline at end of file
4217
4218=== added file 'server/manual/content/admin/displaygroups.php'
4219--- server/manual/content/admin/displaygroups.php 1970-01-01 00:00:00 +0000
4220+++ server/manual/content/admin/displaygroups.php 2014-01-19 13:57:27 +0000
4221@@ -0,0 +1,53 @@
4222+<?php
4223+/*
4224+ * Xibo - Digital Signage - http://www.xibo.org.uk
4225+ * Copyright (C) 2006-2013 Daniel Garner
4226+ *
4227+ * This file is part of Xibo.
4228+ *
4229+ * Xibo is free software: you can redistribute it and/or modify
4230+ * it under the terms of the GNU Affero General Public License as published by
4231+ * the Free Software Foundation, either version 3 of the License, or
4232+ * any later version.
4233+ *
4234+ * Xibo is distributed in the hope that it will be useful,
4235+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4236+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4237+ * GNU Affero General Public License for more details.
4238+ *
4239+ * You should have received a copy of the GNU Affero General Public License
4240+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4241+ */
4242+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4243+?>
4244+<h1 id="Display_Group">Display Groups</h1>
4245+
4246+<p>Display Groups help to easily schedule layouts and campaigns to multiple displays at once.</p>
4247+
4248+<p><img class="img-thumbnail" alt="Display Group Administration" src="content/admin/sa_display_groups.png"></p>
4249+
4250+
4251+<h3 id="Add_Group">Adding a Group</h3>
4252+<p>Click the navigation menu "Displays > Display Groups" to go to Display Groups page. To add a group click on
4253+the "Add Group" button found at the top of the Displays list.</p>
4254+
4255+<h3 id="Edit_Group">Edit a Group</h3>
4256+<p>To edit a group click on the edit button on the row belonging to the group you wish to edit.</p>
4257+
4258+<p><strong>Name</strong> is a unique identifier for a group.</p>
4259+
4260+<h3 id="Delete_Group">Delete a Group</h3>
4261+<p>To delete a group click on the delete button on the row belonging to the group you wish to delete.</p>
4262+
4263+<h3 id="Group_Component_Security">Group / Component Security</h3>
4264+<p>When editing a group the components that are assigned / unassigned to that group are show. These
4265+determine the permissions of the users belonging to that group.</p>
4266+
4267+<p>You should always have at least one group.</p>
4268+
4269+<h3 id="Group_Members">Group Members</h3>
4270+
4271+<p>Click on "Group Members" load the "Manage Membership" form for editing. All the Displays on the system will be shown.
4272+You can assign or remove group members.</p>
4273+
4274+<p><img class="img-thumbnail" alt="Display Group Members" src="content/admin/sa_display_group_members.png"></p>
4275\ No newline at end of file
4276
4277=== modified file 'server/manual/content/admin/displays.php'
4278--- server/manual/content/admin/displays.php 2013-05-01 19:24:35 +0000
4279+++ server/manual/content/admin/displays.php 2014-01-19 13:57:27 +0000
4280@@ -1,189 +1,163 @@
4281-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4282-<?php include('../../template.php'); ?>
4283-<html>
4284- <head>
4285- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
4286- <title><?php echo PRODUCT_NAME; ?> Documentation</title>
4287- <link rel=stylesheet type="text/css" href="../../css/doc.css">
4288- <meta http-equiv="Content-Type" content="text/html" />
4289- <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />
4290- <meta name="description" content="<?php echo PRODUCT_NAME; ?> is an open source digital signage solution. It supports all main media types and can be interfaced to other sources of data using CSV, Databases or RSS." />
4291-
4292- <link href="img/favicon.ico" rel="shortcut icon"/>
4293- <!-- Javascript Libraries -->
4294- <script type="text/javascript" src="lib/jquery.pack.js"></script>
4295- <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>
4296- <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>
4297- </head>
4298- <body>
4299- <a name="Displays" id="Displays"></a><h1>Displays</h1>
4300-
4301- <p>Displays are how you output your layouts with <?php echo PRODUCT_NAME; ?>.</p>
4302- <p>Each client application registered with the server creates a new display record in <?php echo PRODUCT_NAME; ?> server. You can then choose a
4303- default layout for that display, schedule further layouts on the display and control who has access to the display,
4304- as well as monitor its status from the Display Management page.</p>
4305-
4306- <p>The Display Manamagement page is accessed from the Nagivation Bar by clicking on "Displays > Displays"</p>
4307-
4308- <p><img alt="SA Displays" src="sa_displays.png"
4309- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4310- width="820" height="262"></p>
4311- <blockquote>
4312- <a name="Display_Edit" id="Display_Edit"></a><h3>Display Edit</h3>
4313- <p>After a new display client is registered with <?php echo PRODUCT_NAME; ?> server, you need to perform Edit granting license to the client
4314- to work.</p>
4315- <p> Click on the 'Edit" button of the Display loads its editing window. You can then proceed to change the settings for
4316- the chosen Display. </p>
4317-
4318- <p><img alt="Display Edit" src="sa_display_edit.png"
4319- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4320- width="493" height="231"></p>
4321-
4322- <a name="Display_Delete" id="Display_Delete"></a><h3>Display Delete</h3>
4323- <p>After a display client is registered and licensed with <?php echo PRODUCT_NAME; ?> server, you can "unlicense" a client which will prevent it from connecting
4324- to the server.</p>
4325- <p> Click on the 'Delete" button of the Display you want to unlicense; and the below form is loaded. </p>
4326-
4327- <p><img alt="Display Delete" src="sa_display_delete.png"
4328- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4329- width="357" height="217"></p>
4330-
4331- <p>Note: Delete a display cannot be undone. The client needs to re-regisiter and liscense before it is allowed to connect to the server again.</p>
4332-
4333- <a name="Media_Inventory" id="Media_Inventory"></a><h3>Media Inventory</h3>
4334- <p>When you schedule new content, or change existing content, it is helpful to know that the displays have updated with the new
4335- information. In a <?php echo PRODUCT_NAME; ?> server and client system, the client applications will connect in to the server periodically
4336- and update itself on the media items that they have stored locally. Media Inventory allows you to look at a glance to check if
4337- your updates were pulled by the clients yet.</p>
4338- <p>On the display management page, you'll see a column "Status". The status light can be one of either green, amber or red.</p>
4339- <p>When you make a change that affects the output of the server to a given client (for example if you modify a layout scheduled
4340- on that client, schedule a new layout or change the default layout), the status light will immediately goes red. That signifies
4341- that as far as the server is aware there are updates pending for that client and it has not received them yet.</p>
4342- <p>The client will then connect up to the server on a schedule and will read the new information that is available. If there
4343- are new files to download (for example if you modified a layout or scheduled something completely new), the status light will
4344- turn amber while the files are being downloaded.</p>
4345- <p>Once the client is satisfied that all files have been downloaded, it will send an inventory of all the files it has active
4346- in it is cache back to the server, and the server will change the status light to green.</p>
4347- <p>If you are curious to see what files the client is actively monitoring, you can click the "Media Inventory" button and a popup
4348- will appear showing the status of each file, along with the last time the client checked it was still stored correctly on disk.
4349- You will also see any files that the client is in the process of downloading. (Note here that what you will not see is files
4350- that the client needs to download, but that it is unaware of at the present time. For example. If you schedule a new layout
4351- and immediately go to the Media Inventory before the client has connected up to the server, you'll see the status light is red,
4352- but the content of the media inventory will not show the new files that are required. Once the client connects, those new files
4353- will be included in the inventory automatically.)</p>
4354-
4355- <p><img alt="Display Media Inventory" src="sa_display_media_inventory.png"
4356- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4357- width="418" height="268"></p>
4358-
4359- <a name="Display_Group_Member" id="Display_Group_Member"></a><h3>Group Members</h3>
4360- <p>To find the Group that the Display is belonged to, click on the "Group Members" on the corresponding row.</p>
4361-
4362- <p><img alt="SA Display Group Edit" src="sa_display_groups_edit.png"
4363- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4364- width="408" height="218"></p>
4365- </blockquote>
4366-
4367- <h2>Wake On LAN (WOL)</h2>
4368- <blockquote>
4369- <h3>Introducing Wake On Lan for Display Clients</h3>
4370- <p>This section will look at the Wake On Lan (WOL) feature of <?php echo PRODUCT_NAME; ?>.</p>
4371-
4372- <p>There has been a lot of interest over the years <?php echo PRODUCT_NAME; ?> has been running for a solution to be "green", "save power" and
4373- generally not have the <?php echo PRODUCT_NAME; ?> display screen solution on unnecessarily.</p>
4374-
4375- <p>The WOL function is intended to be used for display clients that are addressable by the server, by this we mean that there
4376- has to be a clear addressable network route between the server and the client that needs to wake up. It is also required that
4377- WOL is turned on in any necessary settings on the client PC.</p>
4378-
4379- <p>The WOL configuration happens on a display by display basis from the Edit Display form. Each display has new settings for:</p>
4380- <ul>
4381- <li><strong>Enable Wake On LAN</strong> - (Turn WOL on/off for the display)</li>
4382- <li><strong>Wake On LAN Time</strong> - (Specify a time for this display to wake, using the 24 hr clock)</li>
4383- <li><strong>BroadCast Address</strong> - (The BroadCast address of the client, if unknown use the IP address and fill in the CIDR field)</li>
4384- <li><strong>Wake On LAN Secure On</strong> - (The SecureOn password for the client, if supported)</li>
4385- <li><strong>Wake On LAN CIDR</strong> - (The CIDR subnet mask, if the BroadCast Address is unknown)</li>
4386- </ul>
4387-
4388- <p>Once the display has these settings it can be woken up in 2 ways:</p>
4389- <h3>Wake On LAN Now</h3>
4390-
4391- <p><img alt="SA Display WOL" src="sa_display_wol.png"
4392- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4393- width="308" height="158"></p>
4394-
4395- <p>Each display has the "Wake On LAN" button which can be used to send a wake on LAN command on demand. Clicking the button displays
4396- a form for confirmation, once this is pressed the command is send immediately to the client.</p>
4397-
4398- <h3>Wake On LAN Time - Maintenance Script</h3>
4399- <p>In addition to the WOL now function, the <?php echo PRODUCT_NAME; ?> maintenance module has been altered to send a WOL packet to any display which has
4400- a "Wake On LAN Time" specified. It will only send the command once, as the time window is passed.</p>
4401-
4402- <p>The maintenance script has to be running for this to work correctly. Maintenance instructions can be found on the
4403- <a title="Maintenance Instructions" href="settings.php">Settings -> Maintenance</a>.</p>
4404-
4405- <h3>Putting the client to sleep</h3>
4406- <p>There are a few different options for putting the client to sleep - such as a scheduled task. However, the next article in this series
4407- will look at an option built into <?php echo PRODUCT_NAME; ?>. The "Shell Command" module.</p>
4408-
4409- <p>Note: WOL is not routable. The <?php echo PRODUCT_NAME; ?> server is unable to see clients over the internet that are behind NAT,
4410- or on a different subnet.</p>
4411- </blockquote>
4412-
4413- <a name="Display_Group" id="Display_Group"></a><h1>Display Groups</h1>
4414- <p>A group should be added when there is a new set of components required for a particular group of users.
4415- It could be that you want certain users to only have access to certain components or that certain users
4416- should not be able to share their content, playlists and schedules with each other.</p>
4417-
4418- <p><strong>Components</strong> refer to parts of <?php echo PRODUCT_NAME; ?>, e.g. Content, or Playlists.</p>
4419-
4420- <blockquote>
4421- <a name="Adding_a_Group" id="Adding_a_Group"></a><h3>Adding a Group</h3>
4422- <p>Click the navigation menu "Displays > Display Groups" to go to Display Groups page. To add a group click on
4423- the "Add Group" button found at the top of the Displays list.</p>
4424-
4425- <a name="Edit_Group" id="Edit_Group"></a><h3>Edit a Group</h3>
4426- <p>To edit a group click on the edit button on the row belonging to the group you wish to edit.</p>
4427-
4428- <p><img alt="SA Display Group" src="sa_display_groups.png"
4429- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4430- width="621" height="226"></p>
4431-
4432- <p><strong>Name</strong> is a unique identifier for a group.</p>
4433-
4434- <a name="Delete_Group" id="Delete_Group"></a><h3>Delete a Group</h3>
4435- <p>To delete a group click on the delete button on the row belonging to the group you wish to delete.</p>
4436-
4437- <a name="Group_Component_Security" id="Group_Component_Security"></a><h3>Group / Component Security</h3>
4438- <p>When editing a group the components that are assigned / unassigned to that group are show. These
4439- determine the permissions of the users belonging to that group.</p>
4440- <p>You should always have at least one group.</p>
4441-
4442- <a name="Group_Members" id="Group_Members"></a><h3>Group Members</h3>
4443-
4444- <p>Click on "Group Members" load the "Manage Membership" form for editing. All the Displays on the system will be shown.
4445- You can assign or remove group members.</p>
4446-
4447- <p><img alt="SA Display Group Members" src="sa_display_group_members.png"
4448- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4449- width="408" height="270"></p>
4450-
4451- </blockquote>
4452-
4453- <a name="Display_Statistic" id="Display_Statistic"></a><h1>Display Statistic</h1>
4454- <p>Click on "Statistic" shows a page giving statistic detail of all the system Displys on the followings. You can define
4455- the filters i.e. Date, Display &amp; Media, for the required statistical data display.</p>
4456-
4457- <ul>
4458- <li><h3>Layout ran</h3>Statistical data on layouts run for each Display.</li>
4459- <li><h3>Library Media ran</h3>Statistical data on Media played for each Display.</li>
4460- <li><h3>Media on Layouts ran</h3>Statistical data on Media played on all layouts run for each Display.</li>
4461- </ul>
4462-
4463- <p><img alt="SA Display Statistic" src="sa_display_statistic.png"
4464- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4465- width="648" height="650"></p>
4466-
4467- <?php include('../../template/footer.php'); ?>
4468- </body>
4469-</html>
4470+<?php
4471+/*
4472+ * Xibo - Digital Signage - http://www.xibo.org.uk
4473+ * Copyright (C) 2006-2013 Daniel Garner
4474+ *
4475+ * This file is part of Xibo.
4476+ *
4477+ * Xibo is free software: you can redistribute it and/or modify
4478+ * it under the terms of the GNU Affero General Public License as published by
4479+ * the Free Software Foundation, either version 3 of the License, or
4480+ * any later version.
4481+ *
4482+ * Xibo is distributed in the hope that it will be useful,
4483+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4484+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4485+ * GNU Affero General Public License for more details.
4486+ *
4487+ * You should have received a copy of the GNU Affero General Public License
4488+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4489+ */
4490+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4491+?>
4492+<h1 id="Displays">Displays</h1>
4493+
4494+<p>Displays are records to identify each physical device that should show content from the <?php echo PRODUCT_NAME; ?> CMS. Each display client application registered with the server creates a unique display record when registered.</p>
4495+
4496+<p>Display records can be assigned a default layout, have a schedule of layouts and are used for status monitoring and access control. The main area for displays is the Display Administration page accessed from the Nagivation Bar by clicking on "Displays > Displays"</p>
4497+
4498+<p><img class="img-thumbnail" alt="Display Administration" src="content/admin/sa_displays.png"></p>
4499+
4500+<p>The display administration table gives an easy to understand overview of each display registered in the CMS.</p>
4501+
4502+<dl class="dl-horizontal">
4503+ <dt>Row Colour</dt>
4504+ <dd>The status of the display. Red = missing content, Yellow = downloading missing content, Green = Up to Date.</dd>
4505+</dl>
4506+<dl class="dl-horizontal">
4507+ <dt>ID</dt>
4508+ <dd>The internal ID for the display.</dd>
4509+</dl>
4510+<dl class="dl-horizontal">
4511+ <dt>Licence</dt>
4512+ <dd>A tick or cross showing whether the display has been granted a licence with the CMS. This prevents unauthourised displays being added to the CMS.</dd>
4513+</dl>
4514+<dl class="dl-horizontal">
4515+ <dt>Display</dt>
4516+ <dd>A friendly name for the display. This can be set during the registration process in the display client software.</dd>
4517+</dl>
4518+<dl class="dl-horizontal">
4519+ <dt>Default Layout</dt>
4520+ <dd>The default layout that will play when there are no other layouts/campaigns scheduled or when all scheduled layouts are invalid.</dd>
4521+</dl>
4522+<dl class="dl-horizontal">
4523+ <dt>Interleave Default</dt>
4524+ <dd>A tick or cross showing whether the default layout will play when there are other layouts scheduled.</dd>
4525+</dl>
4526+<dl class="dl-horizontal">
4527+ <dt>Email Alert</dt>
4528+ <dd>A tick or cross showing whether an email alert will be sent by the Maintenance module.</dd>
4529+</dl>
4530+<dl class="dl-horizontal">
4531+ <dt>Logged In</dt>
4532+ <dd>A tick or cross showing whether the display has logged in recently. The time out for the display is set on each display OR in the global settings field MAINTENANCE_ALERT_TOUT.</dd>
4533+</dl>
4534+<dl class="dl-horizontal">
4535+ <dt>Last Accessed</dt>
4536+ <dd>The date/time of last access.</dd>
4537+</dl>
4538+<dl class="dl-horizontal">
4539+ <dt>IP Address</dt>
4540+ <dd>The IP address the display had the last time it reported its status through the "Media Inventory" status call.</dd>
4541+</dl>
4542+<dl class="dl-horizontal">
4543+ <dt>Mac Address</dt>
4544+ <dd>The Mac Address of the display (if the client software is capable of sending it).</dd>
4545+</dl>
4546+
4547+<h2 id="Display_ActionMenu">Action Menu <small>options for each display</small></h2>
4548+<p>Displays can have a number of actions performed against them.</p>
4549+
4550+<p><img class="img-thumbnail" alt="Display Action Menu" src="content/admin/display_action_menu.png"></p>
4551+
4552+<dl class="dl-horizontal">
4553+ <dt>Schedule Now</dt>
4554+ <dd>A quick shortcut to scheduling a layout from the current time for a particular duration.</dd>
4555+</dl>
4556+<dl class="dl-horizontal">
4557+ <dt>Media Inventory</dt>
4558+ <dd>View the required media inventory and the current status of each item as reported by the display during the last check in.</dd>
4559+</dl>
4560+<dl class="dl-horizontal">
4561+ <dt>Default Layout</dt>
4562+ <dd>A quick shortcut to updating the default layout.</dd>
4563+</dl>
4564+<dl class="dl-horizontal">
4565+ <dt>Edit</dt>
4566+ <dd>The display edit form for adjusting all options available on the display.</dd>
4567+</dl>
4568+<dl class="dl-horizontal">
4569+ <dt>Wake on LAN</dt>
4570+ <dd>Send a Wake on LAN packet to the display - requires the Wake On LAN settings to be configured.</dd>
4571+</dl>
4572+<dl class="dl-horizontal">
4573+ <dt>Delete</dt>
4574+ <dd>The display delete form.</dd>
4575+</dl>
4576+<dl class="dl-horizontal">
4577+ <dt>Display Groups</dt>
4578+ <dd>Administration of the display groups this display belongs to.</dd>
4579+</dl>
4580+<dl class="dl-horizontal">
4581+ <dt>Permissions</dt>
4582+ <dd>Adjust the user/user group permissions on this display.</dd>
4583+</dl>
4584+
4585+<h2 id="Display_Edit">Display Edit</h2>
4586+
4587+<p>Before the display will be allowed to download its schedule or required media it must be licenced with the CMS. After a display client is registered a new display record will appear in the Display Administration - it will then need to be edited to grant is access (getting a licence).</p>
4588+
4589+<p>Click on the "Edit" button of the Display loads its editing window. You can then proceed to change the settings for the chosen Display.</p>
4590+
4591+<p><img class="img-thumbnail" alt="Display Edit" src="content/admin/sa_display_edit.png"></p>
4592+
4593+
4594+<h2 id="Display_Delete">Display Delete</h2>
4595+
4596+<p>Deleting a display will remove it from the CMS entirely and can only be performed if the display is not active.</p>
4597+
4598+<p class="alert alert-info">A display can be unlicenced without deleting it using the Display Edit form.</p>
4599+
4600+<p><img class="img-thumbnail" alt="Display Delete" src="content/admin/sa_display_delete.png"></p>
4601+
4602+<p class="alert alert-warning">Deleting a display cannot be reversed. A display can be reconnected to the CMS by repeating the "register" procedure which will create a new display record.</p>
4603+
4604+
4605+<h2 id="Media_Inventory">Media Inventory</h2>
4606+
4607+<p>When you schedule new content, or change existing content, it is helpful to know that the displays have updated with the new
4608+information. In a <?php echo PRODUCT_NAME; ?> server and client system, the client applications will connect in to the server periodically
4609+and update itself on the media items that they have stored locally. Media Inventory allows you to look at a glance to check if
4610+your updates were pulled by the clients yet.</p>
4611+
4612+<p>On the display management page, you'll see a column "Status". The status light can be one of either green, amber or red.</p>
4613+
4614+<p>When you make a change that affects the output of the server to a given client (for example if you modify a layout scheduled
4615+on that client, schedule a new layout or change the default layout), the status light will immediately goes red. That signifies
4616+that as far as the server is aware there are updates pending for that client and it has not received them yet.</p>
4617+
4618+<p>The client will then connect up to the server on a schedule and will read the new information that is available. If there
4619+are new files to download (for example if you modified a layout or scheduled something completely new), the status light will
4620+turn amber while the files are being downloaded.</p>
4621+
4622+<p>Once the client is satisfied that all files have been downloaded, it will send an inventory of all the files it has active
4623+in it is cache back to the server, and the server will change the status light to green.</p>
4624+
4625+<p>If you are curious to see what files the client is actively monitoring, you can click the "Media Inventory" button and a popup
4626+will appear showing the status of each file, along with the last time the client checked it was still stored correctly on disk.
4627+You will also see any files that the client is in the process of downloading.</p>
4628+
4629+
4630+<p><img class="img-thumbnail" alt="Display Media Inventory" src="content/admin/sa_display_media_inventory.png"></p>
4631+
4632+<p class="alert alert-info">Note here that what you will not see is files that the client needs to download, but that it is unaware of at the present time. For example. If you schedule a new layout and immediately go to the Media Inventory before the client has connected up to the server, you'll see the status light is red, but the content of the media inventory will not show the new files that are required. Once the client connects, those new files will be included in the inventory automatically.</p>
4633\ No newline at end of file
4634
4635=== added file 'server/manual/content/admin/displaystats.php'
4636--- server/manual/content/admin/displaystats.php 1970-01-01 00:00:00 +0000
4637+++ server/manual/content/admin/displaystats.php 2014-01-19 13:57:27 +0000
4638@@ -0,0 +1,44 @@
4639+<?php
4640+/*
4641+ * Xibo - Digital Signage - http://www.xibo.org.uk
4642+ * Copyright (C) 2006-2013 Daniel Garner
4643+ *
4644+ * This file is part of Xibo.
4645+ *
4646+ * Xibo is free software: you can redistribute it and/or modify
4647+ * it under the terms of the GNU Affero General Public License as published by
4648+ * the Free Software Foundation, either version 3 of the License, or
4649+ * any later version.
4650+ *
4651+ * Xibo is distributed in the hope that it will be useful,
4652+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4653+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4654+ * GNU Affero General Public License for more details.
4655+ *
4656+ * You should have received a copy of the GNU Affero General Public License
4657+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4658+ */
4659+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4660+?>
4661+<h1 id="Display_Statistic">Display Statistics <small>Proof of Play</small></h1>
4662+
4663+<p>Display clients collect statistics for layouts and media shown and their play durations. These statistics can be viewed in the Displays section using the Statistics sub menu.</p>
4664+
4665+<p>A specific display can be viewed across a date range.</p>
4666+
4667+<p><img class="img-thumbnail" alt="Display Statistics" src="content/admin/sa_display_statistic.png"></p>
4668+
4669+<dl class="dl-horizontal">
4670+ <dt>Layouts Shown</dt>
4671+ <dd>All layouts shown in the range selected.</dd>
4672+</dl>
4673+<dl class="dl-horizontal">
4674+ <dt>Library Media Shown</dt>
4675+ <dd>All media shown in the range selected.</dd>
4676+</dl>
4677+<dl class="dl-horizontal">
4678+ <dt>Media on Layouts Shown</dt>
4679+ <dd>All Layouts shown with a breakdown of the associated media on those Layouts.</dd>
4680+</dl>
4681+
4682+<p class="alert alert-warning">Statistics reporting may need to be enabled on the display client application.</p>
4683
4684=== added file 'server/manual/content/admin/eer_1.4.png'
4685Binary files server/manual/content/admin/eer_1.4.png 1970-01-01 00:00:00 +0000 and server/manual/content/admin/eer_1.4.png 2014-01-19 13:57:27 +0000 differ
4686=== modified file 'server/manual/content/admin/modules.php'
4687--- server/manual/content/admin/modules.php 2013-05-01 19:24:35 +0000
4688+++ server/manual/content/admin/modules.php 2014-01-19 13:57:27 +0000
4689@@ -1,66 +1,75 @@
4690-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4691-<?php include('../../template.php'); ?>
4692-<html>
4693- <head>
4694- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
4695- <title><?php echo PRODUCT_NAME; ?> Documentation</title>
4696- <link rel=stylesheet type="text/css" href="../../css/doc.css">
4697- <meta http-equiv="Content-Type" content="text/html" />
4698- <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />
4699- <meta name="description" content="<?php echo PRODUCT_NAME; ?> is an open source digital signage solution. It supports all main media types and can be interfaced to other sources of data using CSV, Databases or RSS." />
4700-
4701- <link href="img/favicon.ico" rel="shortcut icon"/>
4702- <!-- Javascript Libraries -->
4703- <script type="text/javascript" src="lib/jquery.pack.js"></script>
4704- <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>
4705- <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>
4706- </head>
4707- <body>
4708+<?php
4709+/*
4710+ * Xibo - Digital Signage - http://www.xibo.org.uk
4711+ * Copyright (C) 2006-2013 Daniel Garner
4712+ *
4713+ * This file is part of Xibo.
4714+ *
4715+ * Xibo is free software: you can redistribute it and/or modify
4716+ * it under the terms of the GNU Affero General Public License as published by
4717+ * the Free Software Foundation, either version 3 of the License, or
4718+ * any later version.
4719+ *
4720+ * Xibo is distributed in the hope that it will be useful,
4721+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4722+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4723+ * GNU Affero General Public License for more details.
4724+ *
4725+ * You should have received a copy of the GNU Affero General Public License
4726+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4727+ */
4728+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4729+?>
4730
4731- <h1>Modules</h1>
4732- <p><?php echo PRODUCT_NAME; ?> server content handling is done by Modules.</p>
4733- <p>Click "Administration -> Modules" load the modules parameters for edit.</p>
4734-
4735- <p><img alt="SA_Modules" src="sa_modules.png"
4736- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4737- width="644" height="418"></p>
4738-
4739- <p><?php echo PRODUCT_NAME; ?> server modules table contains parameters for user edit.</p>
4740- <ul>
4741- <li><strong>Name:</strong>
4742- <p>System given Name for the specific module.</p</li>
4743- <li><strong>Description:</strong>
4744- <p>A breif description of the modules.</p</li>
4745- <li><strong>Library Media:</strong>
4746- <p>Indicated if the content is saved in the <?php echo PRODUCT_NAME; ?> Library. Unchecked indicate the specific content is only save
4747- with the Layout-Regions.</p</li>
4748- <li><strong>Valid Extensions:</strong>
4749- <p>Valid file extensions that are supported by the specific module.</p</li>
4750- <li><strong>Image Uri:</strong>
4751- <p>Link to the module icon for UI display, usually leave as it.</p></li>
4752- <li><strong>Enabled:</strong>
4753- <p>System administrator may enable/disable the specific content for <?php echo PRODUCT_NAME; ?> user access.</p</li>
4754- </ul>
4755-
4756- <h2>Edit</h2>
4757- <p>Click Edit button for the specific content type load the following form for user changes.</p>
4758-
4759- <ul>
4760- <li><h3>Content Without Extension:</h3>
4761- <p>Admininstrator may enable or disable the content for user access.</p>
4762-
4763- <p><img alt="SA_Modules" src="sa_modules_text.png"
4764- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4765- width="358" height="179"></p></li>
4766-
4767- <li><h3>Content With Extension:</h3>
4768- <p>Administrator may add other valid files extensions that are supported by the <?php echo PRODUCT_NAME; ?> Client Display e.g. mp4.</p>
4769-
4770- <p><img alt="SA_Modules" src="sa_modules_video.png"
4771- style="display: block; text-align: center; margin-left: auto; margin-right: auto"
4772- width="358" height="211"></p></li>
4773- </ul>
4774-
4775- <?php include('../../template/footer.php'); ?>
4776- </body>
4777-</html>
4778+<h1>Modules</h1>
4779+<p>All content displayed in <?php echo PRODUCT_NAME; ?> is added/edited and served by a media module. There are 13 media modules to choose from and more are being added as new releases are made.</p>
4780+
4781+<p>Modules can be enabled and disabled using the CMS administrator menu, Modules sub menu. Each module also has a range of settings available.</p>
4782+
4783+<p><img class="img-thumbnail" alt="Module List" src="content/admin/sa_modules.png"></p>
4784+
4785+<p>Each module has the following properties.</p>
4786+
4787+<dl class="dl-horizontal">
4788+ <dt>Name</dt>
4789+ <dd>System given Name for the specific module.</dd>
4790+</dl>
4791+
4792+<dl class="dl-horizontal">
4793+ <dt>Description</dt>
4794+ <dd>A breif description of the module.</dd>
4795+</dl>
4796+
4797+<dl class="dl-horizontal">
4798+ <dt>Library Media</dt>
4799+ <dd>Indicated if the content is saved in the <?php echo PRODUCT_NAME; ?> Library. Unchecked indicate the specific content is only saved with the Layout-Regions.</dd>
4800+</dl>
4801+
4802+<dl class="dl-horizontal">
4803+ <dt>Valid Extensions</dt>
4804+ <dd>File extensions that are supported by the specific module.</dd>
4805+</dl>
4806+
4807+<dl class="dl-horizontal">
4808+ <dt>Image Uri</dt>
4809+ <dd>Link to the module icon for UI display - this can also be provided by your Theme.</dd>
4810+</dl>
4811+
4812+<dl class="dl-horizontal">
4813+ <dt>Preview Enabled</dt>
4814+ <dd>Should this module output a preview in the Layout Designer.</dd>
4815+</dl>
4816+
4817+<dl class="dl-horizontal">
4818+ <dt>Enabled</dt>
4819+ <dd>Can this module be used?</dd>
4820+</dl>
4821+
4822+
4823+<h2>Modules Settings</h2>
4824+<p>A Module can have a selection of its settings adjusted, exactly which ones depends on the module.</p>
4825+
4826+<h3>File based Modules</h3>
4827+<p>At times it may be necessary to add or removed the allowed extensions on a particular file based module. A typical use case would be if a client is being used which does not support that particular type of file.</p>
4828+
4829+<p><img class="img-thumbnail" alt="Modules" src="content/admin/sa_modules_video.png"></p>
4830
4831=== modified file 'server/manual/content/admin/overview.php'
4832Binary files server/manual/content/admin/overview.php 2013-03-05 19:25:50 +0000 and server/manual/content/admin/overview.php 2014-01-19 13:57:27 +0000 differ
4833=== added file 'server/manual/content/admin/release_notes.php'
4834--- server/manual/content/admin/release_notes.php 1970-01-01 00:00:00 +0000
4835+++ server/manual/content/admin/release_notes.php 2014-01-19 13:57:27 +0000
4836@@ -0,0 +1,23 @@
4837+<?php
4838+/*
4839+ * Xibo - Digital Signage - http://www.xibo.org.uk
4840+ * Copyright (C) 2006-2013 Daniel Garner
4841+ *
4842+ * This file is part of Xibo.
4843+ *
4844+ * Xibo is free software: you can redistribute it and/or modify
4845+ * it under the terms of the GNU Affero General Public License as published by
4846+ * the Free Software Foundation, either version 3 of the License, or
4847+ * any later version.
4848+ *
4849+ * Xibo is distributed in the hope that it will be useful,
4850+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4851+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4852+ * GNU Affero General Public License for more details.
4853+ *
4854+ * You should have received a copy of the GNU Affero General Public License
4855+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4856+ */
4857+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4858+?>
4859+<?php include('content/admin/release_notes_' . PRODUCT_VERSION . '.php'); ?>
4860\ No newline at end of file
4861
4862=== added file 'server/manual/content/admin/release_notes_1.0.0.php'
4863--- server/manual/content/admin/release_notes_1.0.0.php 1970-01-01 00:00:00 +0000
4864+++ server/manual/content/admin/release_notes_1.0.0.php 2014-01-19 13:57:27 +0000
4865@@ -0,0 +1,74 @@
4866+<?php
4867+/*
4868+ * Xibo - Digital Signage - http://www.xibo.org.uk
4869+ * Copyright (C) 2006-2013 Daniel Garner
4870+ *
4871+ * This file is part of Xibo.
4872+ *
4873+ * Xibo is free software: you can redistribute it and/or modify
4874+ * it under the terms of the GNU Affero General Public License as published by
4875+ * the Free Software Foundation, either version 3 of the License, or
4876+ * any later version.
4877+ *
4878+ * Xibo is distributed in the hope that it will be useful,
4879+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4880+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4881+ * GNU Affero General Public License for more details.
4882+ *
4883+ * You should have received a copy of the GNU Affero General Public License
4884+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4885+ */
4886+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4887+?>
4888+<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
4889+<ul>
4890+<li class="toclevel-1 tocsection-1"><a href="#Xibo_1.0.1_-_Codename_.22Halley.22"><span class="tocnumber">1</span> <span class="toctext">Xibo 1.0.1 - Codename "Halley"</span></a></li>
4891+<li class="toclevel-1 tocsection-2"><a href="#Requirements"><span class="tocnumber">2</span> <span class="toctext">Requirements</span></a></li>
4892+<li class="toclevel-1 tocsection-3"><a href="#Upgrading"><span class="tocnumber">3</span> <span class="toctext">Upgrading</span></a></li>
4893+<li class="toclevel-1 tocsection-4"><a href="#Bug_Fixes"><span class="tocnumber">4</span> <span class="toctext">Bug Fixes</span></a></li>
4894+<li class="toclevel-1 tocsection-5"><a href="#Known_Issues_and_Limitations"><span class="tocnumber">5</span> <span class="toctext">Known Issues and Limitations</span></a></li>
4895+</ul>
4896+</td></tr></table>
4897+<h3> <span class="mw-headline" id="Xibo_1.0.1_-_Codename_.22Halley.22">Xibo 1.0.1 - Codename "Halley"</span></h3>
4898+<p>This is a bug fix release mainly aimed at people that are having trouble installing Xibo. If you already have a working version of Xibo 1.0.0 there is no need for you to upgrade to this latest release.
4899+</p><p>You can download this release from <a rel="nofollow" class="external free" href="https://launchpad.net/xibo/1.0/1.0.1">https://launchpad.net/xibo/1.0/1.0.1</a>
4900+</p>
4901+<h3> <span class="mw-headline" id="Requirements"> Requirements </span></h3>
4902+<p>You should use the 1.0.0 client with this version of the Xibo server.
4903+</p><p>Xibo now recommends PHP 5.2.0 or higher. Xibo will function in most cases with 5.1.0 but you may experience some problems with experimental PHP functions. In particular Xibo may present a restricted list of timezones in the Admin Interface.
4904+</p>
4905+<h3> <span class="mw-headline" id="Upgrading"> Upgrading </span></h3>
4906+<ul><li> Backup settings.php from your installation
4907+</li><li> The upgrader will attempt to backup your database, but manually taking a backup would be a good idea.
4908+</li><li> Replace your existing installation with the new version from the tar.gz or zip file
4909+</li><li> Replace your settings.php file
4910+</li><li> Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a> as normal
4911+</li><li> You will be prompted that an upgrade is required.
4912+</li><li> Enter your xibo_admin password, and follow the upgrade wizard.
4913+</li><li> The upgrade should run, and finally ask you to log in as you would normally.
4914+</li></ul>
4915+<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
4916+</p><p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
4917+</p><p>Please ask for help/advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a>
4918+</p>
4919+<h3> <span class="mw-headline" id="Bug_Fixes">Bug Fixes</span></h3>
4920+<p>Fixes for the following Bugs
4921+</p>
4922+<ul><li> 358996 - [Linux Server] Install block on configuration of database
4923+</li><li> 369674 - Xibo requires PHP 5.1.0 (with compile options) or 5.2.0 otherwise, but only checks for 5.0.2
4924+</li><li> 362320 - Retired layouts shown in Default Layout select
4925+</li><li> 361125 - The file name is not displayed in Layout / Region Options
4926+</li></ul>
4927+<h3> <span class="mw-headline" id="Known_Issues_and_Limitations"> Known Issues and Limitations </span></h3>
4928+<p>Xibo is a young project. There are plenty of new features in the pipeline, but to provide a stable platform for users wanting Xibo now, the 1.0 series of releases are now feature-frozen (no new features will be implemented). All new development work will go in to the 1.1 series - which will be unstable.
4929+</p><p>Once we are happy with 1.1, we will release Xibo 1.2 which will be the next stable release series and the direct upgrade path for 1.0. Any future releases of Xibo 1.0 will be bug fix releases only.
4930+</p><p>Therefore there are the following known issues and limitations with Xibo 1.0.0-final:
4931+</p>
4932+<ul><li> Internationalisation: Xibo currently deals with non-english characters badly. You are strongly recommended to avoid using non-english characters wherever possible. <a rel="nofollow" class="external autonumber" href="https://blueprints.launchpad.net/xibo/translate-xibo">[1]</a>
4933+</li><li> Tickers slow when only one layout scheduled. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/336589">[2]</a>
4934+</li><li> The backgrounds of Text and RSS media items are not transparent if the background of a layout is a GIF image. Please use JPEG images as a work around. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/348506">[3]</a>
4935+</li><li> Videos will not loop if they are the only media in a region. Add a short empty text field as a work around. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/346260">[4]</a>
4936+</li><li> Overlapping regions are handled badly. The existing server/client were never developed to support overlapping regions, but they do work in some circumstances which is why we have decided to leave this functionality intact, but with the caveat that they may not work as you expect. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/321377">[5]</a> <a rel="nofollow" class="external autonumber" href="https://answers.launchpad.net/xibo/+question/64768">[6]</a>
4937+</li><li> Client will not run under VirtualBox. We think this is a VirtualBox bug as it's a low-level Windows API call that is failing. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/338021">[7]</a>
4938+</li><li> Backgrounds of FlashMedia items are not transparent. This is a limitation of the Adobe Flash C# control. <a rel="nofollow" class="external autonumber" href="https://bugs.launchpad.net/xibo/+bug/341634">[8]</a>
4939+</li></ul>
4940\ No newline at end of file
4941
4942=== added file 'server/manual/content/admin/release_notes_1.0.1.php'
4943--- server/manual/content/admin/release_notes_1.0.1.php 1970-01-01 00:00:00 +0000
4944+++ server/manual/content/admin/release_notes_1.0.1.php 2014-01-19 13:57:27 +0000
4945@@ -0,0 +1,74 @@
4946+<?php
4947+/*
4948+ * Xibo - Digital Signage - http://www.xibo.org.uk
4949+ * Copyright (C) 2006-2013 Daniel Garner
4950+ *
4951+ * This file is part of Xibo.
4952+ *
4953+ * Xibo is free software: you can redistribute it and/or modify
4954+ * it under the terms of the GNU Affero General Public License as published by
4955+ * the Free Software Foundation, either version 3 of the License, or
4956+ * any later version.
4957+ *
4958+ * Xibo is distributed in the hope that it will be useful,
4959+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4960+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4961+ * GNU Affero General Public License for more details.
4962+ *
4963+ * You should have received a copy of the GNU Affero General Public License
4964+ * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
4965+ */
4966+defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
4967+?>
4968+<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
4969+<ul>
4970+<li class="toclevel-1 tocsection-1"><a href="#Xibo_1.0.1_-_Codename_.22Halley.22"><span class="tocnumber">1</span> <span class="toctext">Xibo 1.0.1 - Codename "Halley"</span></a></li>
4971+<li class="toclevel-1 tocsection-2"><a href="#Requirements"><span class="tocnumber">2</span> <span class="toctext">Requirements</span></a></li>
4972+<li class="toclevel-1 tocsection-3"><a href="#Upgrading"><span class="tocnumber">3</span> <span class="toctext">Upgrading</span></a></li>
4973+<li class="toclevel-1 tocsection-4"><a href="#Bug_Fixes"><span class="tocnumber">4</span> <span class="toctext">Bug Fixes</span></a></li>
4974+<li class="toclevel-1 tocsection-5"><a href="#Known_Issues_and_Limitations"><span class="tocnumber">5</span> <span class="toctext">Known Issues and Limitations</span></a></li>
4975+</ul>
4976+</td></tr></table>
4977+<h3> <span class="mw-headline" id="Xibo_1.0.1_-_Codename_.22Halley.22">Xibo 1.0.1 - Codename "Halley"</span></h3>
4978+<p>This is a bug fix release mainly aimed at people that are having trouble installing Xibo. If you already have a working version of Xibo 1.0.0 there is no need for you to upgrade to this latest release.
4979+</p><p>You can download this release from <a rel="nofollow" class="external free" href="https://launchpad.net/xibo/1.0/1.0.1">https://launchpad.net/xibo/1.0/1.0.1</a>
4980+</p>
4981+<h3> <span class="mw-headline" id="Requirements"> Requirements </span></h3>
4982+<p>You should use the 1.0.0 client with this version of the Xibo server.
4983+</p><p>Xibo now recommends PHP 5.2.0 or higher. Xibo will function in most cases with 5.1.0 but you may experience some problems with experimental PHP functions. In particular Xibo may present a restricted list of timezones in the Admin Interface.
4984+</p>
4985+<h3> <span class="mw-headline" id="Upgrading"> Upgrading </span></h3>
4986+<ul><li> Backup settings.php from your installation
4987+</li><li> The upgrader will attempt to backup your database, but manually taking a backup would be a good idea.
4988+</li><li> Replace your existing installation with the new version from the tar.gz or zip file
4989+</li><li> Replace your settings.php file
4990+</li><li> Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a> as normal
4991+</li><li> You will be prompted that an upgrade is required.
4992+</li><li> Enter your xibo_admin password, and follow the upgrade wizard.
4993+</li><li> The upgrade should run, and finally ask you to log in as you would normally.
4994+</li></ul>
4995+<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a>
4996+</p><p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a>
4997+</p><p>Please ask for help/advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a>
4998+</p>
4999+<h3> <span class="mw-headline" id="Bug_Fixes">Bug Fixes</span></h3>
5000+<p>Fixes for the following Bugs
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: