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
=== modified file 'server/README.TXT'
--- server/README.TXT 2014-01-02 21:06:28 +0000
+++ server/README.TXT 2014-01-19 13:57:27 +0000
@@ -1,5 +1,10 @@
1<<<<<<< TREE
1Xibo - Digitial Signage - http://www.xibo.org.uk2Xibo - Digitial Signage - http://www.xibo.org.uk
2Copyright (C) 2006 - 2013 Daniel Garner, James Packer and Alex Harrington3Copyright (C) 2006 - 2013 Daniel Garner, James Packer and Alex Harrington
4=======
5Xibo - Digital Signage - http://www.xibo.org.uk
6Copyright (C) 2006 - 2011 Daniel Garner, James Packer and Alex Harrington
7>>>>>>> MERGE-SOURCE
38
4This file is part of Xibo.9This file is part of Xibo.
510
611
=== modified file 'server/config/config.class.php'
--- server/config/config.class.php 2013-10-20 13:42:02 +0000
+++ server/config/config.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner and James Packer4 * Copyright (C) 2006-2013 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -176,7 +176,7 @@
176 }176 }
177 177
178 // Check for MySQL178 // Check for MySQL
179 $message = __('MySQL database (PHP MySql and PDO MySql)');179 $message = __('MySQL database (PHP MySql)');
180180
181 if ($this->CheckMySQL()) 181 if ($this->CheckMySQL())
182 {182 {
@@ -193,6 +193,25 @@
193 </div>193 </div>
194END;194END;
195 }195 }
196
197 // Check for PDO
198 $message = __('MySQL database (PDO MySql)');
199
200 if ($this->CheckPDO())
201 {
202 $output .= $imgGood.$message.'<br />';
203 }
204 else
205 {
206 $this->envFault = true;
207
208 $output .= $imgBad.$message.'<br />';
209 $output .= <<<END
210 <div class="check_explain">
211 <p>Xibo requires the PHP PDO Extension to function.</p>
212 </div>
213END;
214 }
196 215
197 // Check for JSON216 // Check for JSON
198 $message = __('JSON Extension');217 $message = __('JSON Extension');
@@ -459,10 +478,17 @@
459 */478 */
460 function CheckMySQL() 479 function CheckMySQL()
461 {480 {
462 return extension_loaded("pdo_mysql") && extension_loaded("mysql");481 return extension_loaded("mysql");
463 }482 }
464 483
465 /**484 /**
485 * Check PHP has the PDO module installed (with MySQL driver)
486 */
487 function CheckPDO() {
488 return extension_loaded("pdo_mysql");
489 }
490
491 /**
466 * Check PHP has the GetText module installed492 * Check PHP has the GetText module installed
467 * @return 493 * @return
468 */494 */
469495
=== modified file 'server/config/db_config.php'
--- server/config/db_config.php 2013-05-01 19:24:35 +0000
+++ server/config/db_config.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/index.php'
--- server/index.php 2013-05-01 19:24:35 +0000
+++ server/index.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2012 Daniel Garner, James Packer and Alex Harrington4 * Copyright (C) 2006-2012 Daniel Garner, James Packer and Alex Harrington
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== removed file 'server/install.php'
--- server/install.php 2013-08-21 22:27:13 +0000
+++ server/install.php 1970-01-01 00:00:00 +0000
@@ -1,748 +0,0 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Alex Harrington
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21DEFINE('XIBO', true);
22
23if (! checkPHP())
24{
25 die('Xibo requires PHP 5.2.4 or later');
26}
27
28error_reporting(0);
29ini_set('display_errors', 0);
30
31include('lib/app/kit.class.php');
32include('install/header.inc');
33include('config/config.class.php');
34include('config/db_config.php');
35
36// Setup for the Translations using Gettext.
37// 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)
38// Would be nice to include a method on the TranslationEngine that did this for us - but without the debugging
39// The actual translation function __() is included later in this file.
40$langs = Kit::GetParam('HTTP_ACCEPT_LANGUAGE', $_SERVER, _STRING);
41$lang = 'en-gb'; // Default language
42$encoding = ''; // We do not seem to need an encoding, but I read somewhere that we might - left as a reminder of this.
43
44if ($langs != '')
45{
46 $langs = explode(',', $langs);
47 $lang = $langs[0];
48}
49
50// For windows
51putenv('LANG='.$lang.'.'.$encoding);
52putenv('LANGUAGE='.$lang.'.'.$encoding);
53putenv('LC_ALL='.$lang.'.'.$encoding);
54
55// Set local
56setlocale(LC_ALL, $lang.'.'.$encoding);
57
58// Translations have been setup.
59
60$fault = false;
61
62$xibo_step = Kit::GetParam('xibo_step',_POST,_INT,'0');
63
64if (!isset($xibo_step) || $xibo_step == 0) {
65 # First step of the process.
66 # Show a welcome screen and next button
67 ?>
68 <?php echo __("Welcome to the Xibo Installer!"); ?><br /><br />
69 <?php echo __("The installer will take you through setting up Xibo one step at a time."); ?><br /><br />
70 <?php echo __("Lets get started!"); ?><br /><br />
71 <form action="install.php" method="POST">
72 <input type="hidden" name="xibo_step" value="1" />
73 <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
74 </form>
75 <?php
76}
77elseif ($xibo_step == 1) {
78 # Check environment
79 $db = new Database();
80 $cObj = new Config();
81 ?>
82 <p><?php echo __("First we need to check if your server meets Xibo's requirements."); ?></p>
83 <div class="checks">
84 <?php
85 echo $cObj->CheckEnvironment();
86 if ($cObj->EnvironmentFault()) {
87 ?>
88 <form action="install.php" method="POST">
89 <input type="hidden" name="xibo_step" value="1" />
90 <div class="loginbutton"><button type="submit"><?php echo __("Retest"); ?></button></div>
91 </form>
92 <?php
93 }
94 else if ($cObj->EnvironmentWarning()) {
95 ?>
96 <form action="install.php" method="POST">
97 <input type="hidden" name="xibo_step" value="1" />
98 <div class="loginbutton"><button type="submit"><?php echo __("Retest"); ?></button></div>
99 </form>
100 <form action="install.php" method="POST">
101 <input type="hidden" name="xibo_step" value="2" />
102 <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
103 </form>
104 <?php
105 }
106 else {
107 ?>
108 <form action="install.php" method="POST">
109 <input type="hidden" name="xibo_step" value="2" />
110 <div class="loginbutton"><button type="submit"><?php echo __("Next"); ?> ></button></div>
111 </form>
112 <?php
113 }
114}
115elseif ($xibo_step == 2) {
116# Create database
117## Does database exist already?
118
119 ?>
120 <div class="info">
121 <p><?php echo __("Xibo needs to setup a new database."); ?></p>
122 <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>
123 <p><i><?php echo __("Note that any existing database must be empty"); ?></i></p>
124 </div>
125 <form action="install.php" method="POST">
126 <input type="hidden" name="xibo_step" value="3" />
127 <button type="submit"><?php echo __("Create New"); ?></button>
128 </form>
129 <form action="install.php" method="POST">
130 <input type="hidden" name="xibo_step" value="4" />
131 <button type="submit"><?php echo __("Use Existing"); ?></button>
132 </form>
133 <?php
134}
135elseif ($xibo_step == 3) {
136## If not, gather admin password and use to create empty db and new user.
137?>
138<div class="info">
139<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>
140<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>
141<form action="install.php" method="POST">
142<input type="hidden" name="xibo_step" value="5" />
143<input type="hidden" name="db_create" value="On" />
144<div class="install_table">
145 <p><label for="host"><?php echo __("Host:"); ?>&nbsp;</label><input class="username" type="text" id="host" name="host" size="12" value="localhost" /></p>
146 <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>
147 <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>
148 <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>
149 <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>
150 <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>
151</div>
152</div>
153<button type="submit"><?php echo __("Create"); ?></button>
154</form>
155<?php
156}
157elseif ($xibo_step == 4) {
158## Get details of db that's been created already for us
159?>
160<div class="info">
161<p><?php echo __("Please enter the details of the database and user you have created for Xibo."); ?></p>
162<form action="install.php" method="POST">
163<input type="hidden" name="xibo_step" value="5" />
164<input type="hidden" name="db_create" value="Off" />
165<div class="install_table">
166 <p><label for="host"><?php echo __("Host:"); ?>&nbsp;</label><input class="username" type="text" id="host" name="host" size="12" value="localhost" /></p>
167 <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>
168 <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>
169 <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>
170</div>
171</div>
172<button type="submit"><?php echo __("Create"); ?></button>
173</form>
174<?php
175}
176elseif ($xibo_step == 5) {
177
178 $db_create = Kit::GetParam('db_create',_POST,_STRING);
179
180 if (!isset($db_create)) {
181 reportError("2",__("Something went wrong"));
182 }
183 else {
184 $db_host = Kit::GetParam('host',_POST,_STRING,'localhost');
185 $db_user = Kit::GetParam('db_username',_POST,_PASSWORD);
186 $db_pass = Kit::GetParam('db_password',_POST,_PASSWORD);
187 $db_name = Kit::GetParam('db_name',_POST,_PASSWORD);
188 ?>
189 <div class="info">
190 <?php
191 if ($db_create == 'On') {
192 $db_admin_user = Kit::GetParam('admin_username',_POST,_PASSWORD);
193 $db_admin_pass = Kit::GetParam('admin_password',_POST,_PASSWORD);
194
195 if (! ($db_host && $db_name && $db_user && $db_admin_user)) {
196 # Something was blank.
197 # Throw an error.
198 reportError("3", __("A field was blank. Please fill in all fields."));
199 }
200
201 $db = @mysql_connect($db_host,$db_admin_user,$db_admin_pass);
202
203 if (! $db) {
204 reportError("3", __("Could not connect to MySQL with the administrator details. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
205 }
206
207 ?>
208 <p><?php echo __("Creating new database."); ?></p>
209 <?php
210 flush();
211
212 $SQL = sprintf("CREATE DATABASE `%s`",
213 mysql_real_escape_string($db_name));
214 if (! @mysql_query($SQL, $db)) {
215 # Create database and user
216 reportError("3", __("Could not create a new database with the administrator details. Please check and try again.") . "<br /><br />" . "MySQL Error:" . "<br />" . mysql_error());
217 }
218
219 # Choose the MySQL DB to create a user
220 @mysql_select_db("mysql", $db);
221
222 # Make $db_host lowercase so it matches "localhost" if required.
223 $db_host = strtolower($db_host);
224
225 ?>
226 <p><?php echo __("Creating new user"); ?></p>
227 <?php
228 flush();
229
230 if ($db_host == 'localhost') {
231 $SQL = sprintf("GRANT ALL PRIVILEGES ON `%s`.* to '%s'@'%s' IDENTIFIED BY '%s'",
232 mysql_real_escape_string($db_name),
233 mysql_real_escape_string($db_user),
234 mysql_real_escape_string($db_host),
235 mysql_real_escape_string($db_pass));
236 }
237 else {
238 $SQL = sprintf("GRANT ALL PRIVILEGES ON `%s`.* to '%s'@'%%' IDENTIFIED BY '%s'",
239 mysql_real_escape_string($db_name),
240 mysql_real_escape_string($db_user),
241 mysql_real_escape_string($db_pass));
242 }
243 if (! @mysql_query($SQL, $db)) {
244 reportError("3", __("Could not create a new user with the administrator details. Please check and try again.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
245 }
246
247
248 @mysql_query("FLUSH PRIVILEGES", $db);
249 @mysql_close($db);
250
251 }
252 else {
253 if (! ($db_host && $db_name && $db_user && $db_pass)) {
254 # Something was blank
255 # Throw an error.
256 reportError("4", __("A field was blank. Please fill in all fields.") . " " . $db_host . " " . $db_name . " " . $db_user . " " . $db_pass);
257 }
258 }
259 ## Populate database
260
261 $db = @mysql_connect($db_host,$db_user,$db_pass);
262
263 if (! $db) {
264 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());
265 }
266
267 @mysql_select_db($db_name,$db);
268
269 ?>
270 <p>Populating the database</p>
271 <?php
272 flush();
273
274 # Load from sql files to db - HOW?
275 $sql_files = array('structure.sql', 'data.sql');
276
277 $sqlStatementCount = 0;
278
279 foreach ($sql_files as $filename) {
280 ?>
281 <p>Loading from <?php print $filename; ?>
282 <?php
283 flush();
284
285 $delimiter = ';';
286 $sql_file = @file_get_contents('install/master/' . $filename);
287 $sql_file = remove_remarks($sql_file);
288 $sql_file = split_sql_file($sql_file, $delimiter);
289
290 foreach ($sql_file as $sql) {
291 print ".";
292 $sqlStatementCount++;
293 flush();
294 if (! @mysql_query($sql,$db)) {
295 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);
296 }
297 }
298 print "</p>";
299 }
300 @mysql_close($db);
301 }
302 # Write out a new settings.php
303 $fh = fopen("settings.php", 'wt');
304
305 if (! $fh) {
306 reportError("0", __("Unable to write to settings.php. We already checked this was possible earlier, so something changed."));
307 }
308
309 settings_strings();
310
311 $settings_content = '$dbhost = \'' . $db_host . '\';' . "\n";
312 $settings_content .= '$dbuser = \'' . $db_user . '\';' . "\n";
313 $settings_content .= '$dbpass = \'' . $db_pass . '\';' . "\n";
314 $settings_content .= '$dbname = \'' . $db_name . '\';' . "\n\n";
315 $settings_content .= 'define(\'SECRET_KEY\',\'' . gen_secret() . '\');' . "\n";
316
317 if (! fwrite($fh, $settings_header . $settings_content . $settings_footer)) {
318 reportError("0", __("Unable to write to settings.php. We already checked this was possible earlier, so something changed."));
319 }
320
321 fclose($fh);
322
323 ?>
324 </div>
325 <div class="install_table">
326 <form action="install.php" method="POST">
327 <input type="hidden" name="xibo_step" value="6" />
328 </div>
329 <button type="submit"><?php echo __("Next"); ?> ></button>
330 </form>
331 <?php
332}
333elseif ($xibo_step == 6) {
334 # Form to get new admin password
335 ?>
336 <div class="info">
337 <p><?php echo __("Xibo needs to set the \"xibo_admin\" user password. Please enter a password for this account below."); ?></p>
338 </div>
339 <div class="install_table">
340 <form action="install.php" method="POST">
341 <input type="hidden" name="xibo_step" value="7" />
342 <p><label for="password1"><?php echo __("Password:"); ?>&nbsp;</label><input type="password" name="password1" size="12" /></p>
343 <p><label for="password2"><?php echo __("Retype Password:"); ?>&nbsp;</label><input type="password" name="password2" size="12" /></p>
344 </div>
345 <button type="submit"><?php echo __("Next"); ?> ></button>
346 </form>
347 <?php
348}
349elseif ($xibo_step == 7) {
350 # Setup xibo_admin password
351 $password1 = Kit::GetParam('password1',_POST,_PASSWORD);
352 $password2 = Kit::GetParam('password2',_POST,_PASSWORD);
353
354 if (!(($password1 && $password2) && ($password1 == $password2))) {
355 reportError("6", __("Please input a new password. Ensure both password fields are identical."));
356 }
357
358 include('settings.php');
359
360 $password_hash = md5($password1);
361
362 $db = @mysql_connect($dbhost,$dbuser,$dbpass);
363
364 if (! $db) {
365 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());
366 }
367
368 @mysql_select_db($dbname,$db);
369
370 $SQL = sprintf("UPDATE `user` SET UserPassword = '%s' WHERE UserID = 1 LIMIT 1",
371 mysql_real_escape_string($password_hash));
372 if (! @mysql_query($SQL, $db)) {
373 reportError("6", __("An error occured changing the xibo_admin password.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
374 }
375
376 @mysql_close($db);
377
378 ?>
379 <div class="info">
380 <?php echo __("Successfully changed the xibo_admin password. We're nearly there now. Just a couple more steps!"); ?>
381 </div>
382 <form action="install.php" method="POST">
383 <input type="hidden" name="xibo_step" value="8" />
384 <button type="submit"><?php echo __("Next"); ?> ></button>
385 </form>
386 <?php
387}
388elseif ($xibo_step == 8) {
389 # Configure paths and keys
390 ## nuSoap
391 ## libraries
392 ## server_key
393 ?>
394 <div class="info">
395 <p><b><?php echo __("Library Location"); ?></b></p>
396 <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>
397 <form action="install.php" method="POST">
398 <div class="install_table">
399 <p><label for="library_location"><?php echo __("Library Location:"); ?>&nbsp;</label><input type="text" name="library_location" value="" /></p>
400 </div>
401 <p><b><?php echo __("Server Key"); ?></b></p>
402 <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>
403 <div class="install_table">
404 <p><label for="server_key"><?php echo __("Server Key:"); ?> </label><input type="text" name="server_key" value="" /></p>
405 </div>
406 <p><b><?php echo __("Statistics"); ?></b></p>
407 <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>
408 <div class="install_table">
409 <p><label for="stats"><?php echo __("Anonymous Statistics:"); ?>&nbsp;</label><input type="checkbox" name="stats" value="true" checked /></p>
410 </div>
411 <input type="hidden" name="xibo_step" value="9" />
412 </div>
413 <button type="submit"><?php echo __("Next"); ?> ></button>
414 </form>
415 <?php
416}
417elseif ($xibo_step == 9) {
418
419 $server_key = Kit::GetParam('server_key',_POST,_STRING);
420 $library_location = Kit::GetParam('library_location',_POST,_STRING);
421 $stats = Kit::GetParam('stats',_POST,_BOOL);
422
423 // Remove trailing whitespace from the path given.
424 $library_location = trim($library_location);
425
426 // Check both fields were completed
427 if (! ($server_key && $library_location)) {
428 reportError("8", __("A field was blank. Please make sure you complete all fields"));
429 }
430
431 if ($stats) {
432 $stats="On"; // Fixme: translate ?
433 }
434 else {
435 $stats="Off"; //Fixme : translate ?
436 }
437
438 // Does library_location exist already?
439 if (! is_dir($library_location)) {
440 if (is_file($library_location)) {
441 reportError("8", __("A file exists with the name you gave for the Library Location. Please choose another location"));
442 }
443
444 // Directory does not exist. Attempt to make it
445 // Using mkdir recursively, so it will attempt to make any
446 // intermediate folders required.
447 if (! mkdir($library_location,0755,true)) {
448 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."));
449 }
450
451 }
452
453 // Is library_location writable?
454 if (! is_writable($library_location)) {
455 // Directory is not writable.
456 reportError("8", __("The Library Location you gave is not writable by the webserver. Please fix the permissions and try again."));
457 }
458
459 // Is library_location empty?
460 if (count(ls("*",$library_location,true)) > 0) {
461 reportError("8", __("The Library Location you gave is not empty. Please give the location of an empty folder"));
462 }
463
464 // Check if the user has added a trailing slash.
465 // If not, add one.
466 if (!((substr($library_location, -1) == '/') || (substr($library_location, -1) == '\\'))) {
467 $library_location = $library_location . '/';
468 }
469
470 include('settings.php');
471
472 $db = @mysql_connect($dbhost,$dbuser,$dbpass);
473
474 if (! $db) {
475 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());
476 }
477
478 @mysql_select_db($dbname,$db);
479
480 $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'LIBRARY_LOCATION' LIMIT 1",
481 mysql_real_escape_string($library_location));
482 if (! @mysql_query($SQL, $db)) {
483 reportError("8", __("An error occured changing the library location.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
484 }
485
486 $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'SERVER_KEY' LIMIT 1",
487 mysql_real_escape_string($server_key));
488 if (! @mysql_query($SQL, $db)) {
489 reportError("8", __("An error occured changing the server key.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
490 }
491
492 $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'defaultTimezone' LIMIT 1",
493 mysql_real_escape_string(date_default_timezone_get()));
494 if (! @mysql_query($SQL, $db)) {
495 reportError("8", __("An error occured setting the default timezone.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
496 }
497
498 $SQL = sprintf("UPDATE `setting` SET `value` = '%s' WHERE `setting`.`setting` = 'PHONE_HOME' LIMIT 1",
499 mysql_real_escape_string($stats));
500 if (! @mysql_query($SQL, $db)) {
501 reportError("8", __("An error occured setting anonymous statistics.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
502 }
503 $SQL = "UPDATE `setting` SET `value` = '" . md5(uniqid(rand(), true)) . "' WHERE `setting`.`setting` = 'PHONE_HOME_KEY' LIMIT 1";
504 if (! @mysql_query($SQL, $db)) {
505 reportError("8", __("An error occured setting anonymous statistics.") . "<br /><br />" . __("MySQL Error:") . "<br />" . mysql_error());
506 }
507
508 @mysql_close($db);
509
510 ?>
511 <div class="info">
512 <p><?php echo __("Successfully set library location and server key."); ?></p>
513 </div>
514 <form action="install.php" method="POST">
515 <input type="hidden" name="xibo_step" value="10" />
516 <button type="submit"><?php echo __("Next"); ?> ></button>
517 </form>
518 <?php
519}
520elseif ($xibo_step == 10) {
521# Delete install.php
522# Redirect to login page.
523 if (! unlink('install.php')) {
524 reportError("10", __("Unable to delete install.php. Please ensure the webserver has permission to unlink this file and retry"), __("Retry")); // Fixme : translate "Retry" ?
525 }
526 if (! unlink('upgrade.php')) {
527 reportError("10", __("Unable to delete upgrade.php. Please ensure the webserver has permission to unlink this file and retry"), __("Retry")); // Fixme : translate "Retry" ?
528 }
529 ?>
530 <div class="info">
531 <p><b><?php echo __("Xibo was successfully installed."); ?></b></p>
532 <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>
533 </div>
534 <?php
535}
536else {
537 reportError("0", __("A required parameter was missing. Please go through the installer sequentially!"), __("Start Again")); // Fixme : translate "Start Again" ?
538}
539
540include('install/footer.inc');
541
542# Functions
543function checkFsPermissions() {
544 # Check for appropriate filesystem permissions
545 return ((is_writable("install.php") && (is_writable("settings.php")) && (is_writable("upgrade.php")) || is_writable(".")));
546}
547
548function checkMySQL() {
549 # Check PHP has MySQL module installed
550 return extension_loaded("mysql");
551}
552
553function checkJson() {
554 # Check PHP has JSON module installed
555 return extension_loaded("json");
556}
557
558function checkGd() {
559 # Check PHP has JSON module installed
560 return extension_loaded("gd");
561}
562
563function checkCal() {
564 # Check PHP has JSON module installed
565 return extension_loaded("calendar");
566}
567
568function reportError($step, $message, $button_text="&lt; Back") { // fixme : translate ?
569?>
570 <div class="info">
571 <?php print $message; ?>
572 </div>
573 <form action="install.php" method="POST">
574 <input type="hidden" name="xibo_step" value="<?php print $step; ?>"/>
575 <button type="submit"><?php print $button_text; ?></button>
576 </form>
577 <?php
578 include('install/footer.inc');
579 die();
580}
581
582// Taken from http://forums.devshed.com/php-development-5/php-wont-load-sql-from-file-515902.html
583// By Crackster
584/**
585 * remove_remarks will strip the sql comment lines out of an uploaded sql file
586 */
587function remove_remarks($sql){
588 $sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^[-].*$/m', "\n", $sql));
589 $sql = preg_replace('/\n{2,}/', "\n", preg_replace('/^#.*$/m', "\n", $sql));
590 return $sql;
591}
592
593// Taken from http://forums.devshed.com/php-development-5/php-wont-load-sql-from-file-515902.html
594// By Crackster
595/**
596 * split_sql_file will split an uploaded sql file into single sql statements.
597 * Note: expects trim() to have already been run on $sql.
598 */
599function split_sql_file($sql, $delimiter){
600 $sql = str_replace("\r" , '', $sql);
601 $data = preg_split('/' . preg_quote($delimiter, '/') . '$/m', $sql);
602 $data = array_map('trim', $data);
603 // The empty case
604 $end_data = end($data);
605 if (empty($end_data))
606 {
607 unset($data[key($data)]);
608 }
609 return $data;
610}
611
612/**
613 * This funtion will take a pattern and a folder as the argument and go thru it(recursivly if needed)and return the list of
614 * all files in that folder.
615 * Link : http://www.bin-co.com/php/scripts/filesystem/ls/
616 * License : BSD
617 * Arguments : $pattern - The pattern to look out for [OPTIONAL]
618 * $folder - The path of the directory of which's directory list you want [OPTIONAL]
619 * $recursivly - The funtion will traverse the folder tree recursivly if this is true. Defaults to false. [OPTIONAL]
620 * $options - An array of values 'return_files' or 'return_folders' or both
621 * Returns : A flat list with the path of all the files(no folders) that matches the condition given.
622 */
623function ls($pattern="*", $folder="", $recursivly=false, $options=array('return_files','return_folders')) {
624 if($folder) {
625 $current_folder = realpath('.');
626 if(in_array('quiet', $options)) { // If quiet is on, we will suppress the 'no such folder' error
627 if(!file_exists($folder)) return array();
628 }
629
630 if(!chdir($folder)) return array();
631 }
632
633
634 $get_files = in_array('return_files', $options);
635 $get_folders= in_array('return_folders', $options);
636 $both = array();
637 $folders = array();
638
639 // Get the all files and folders in the given directory.
640 if($get_files) $both = glob($pattern, GLOB_BRACE + GLOB_MARK);
641 if($recursivly or $get_folders) $folders = glob("*", GLOB_ONLYDIR + GLOB_MARK);
642
643 //If a pattern is specified, make sure even the folders match that pattern.
644 $matching_folders = array();
645 if($pattern !== '*') $matching_folders = glob($pattern, GLOB_ONLYDIR + GLOB_MARK);
646
647 //Get just the files by removing the folders from the list of all files.
648 $all = array_values(array_diff($both,$folders));
649
650 if($recursivly or $get_folders) {
651 foreach ($folders as $this_folder) {
652 if($get_folders) {
653 //If a pattern is specified, make sure even the folders match that pattern.
654 if($pattern !== '*') {
655 if(in_array($this_folder, $matching_folders)) array_push($all, $this_folder);
656 }
657 else array_push($all, $this_folder);
658 }
659
660 if($recursivly) {
661 // Continue calling this function for all the folders
662 $deep_items = ls($pattern, $this_folder, $recursivly, $options); # :RECURSION:
663 foreach ($deep_items as $item) {
664 array_push($all, $this_folder . $item);
665 }
666 }
667 }
668 }
669
670 if($folder) chdir($current_folder);
671 return $all;
672}
673
674function gen_secret() {
675 # Generates a random 12 character alphanumeric string to use as a salt
676 mt_srand((double)microtime()*1000000);
677 $key = "";
678 for ($i=0; $i < 12; $i++) {
679 $c = mt_rand(0,2);
680 if ($c == 0) {
681 $key .= chr(mt_rand(65,90));
682 }
683 elseif ($c == 1) {
684 $key .= chr(mt_rand(97,122));
685 }
686 else {
687 $key .= chr(mt_rand(48,57));
688 }
689 }
690
691 return $key;
692}
693
694function checkPHP()
695{
696 return (version_compare("5.2.4",phpversion(), "<="));
697}
698
699function CheckGettext()
700{
701 return extension_loaded("gettext");
702}
703
704// Setup the translations for gettext
705function __($string)
706{
707 if (CheckGettext())
708 {
709 return _($string);
710 }
711 else
712 {
713 return $string;
714 }
715}
716
717function settings_strings() {
718global $settings_header;
719global $settings_footer;
720
721 $settings_header = <<<END
722<?php
723
724/*
725 * Xibo - Digital Signage - http://www.xibo.org.uk
726 *
727 * This file is part of Xibo - and is automatically generated by the installer
728 *
729 * You should not need to edit this file, unless your SQL connection details have changed.
730 */
731
732defined('XIBO') or die(__("Sorry, you are not allowed to directly access this page.") . "<br />" . __("Please press the back button in your browser."));
733
734global \$dbhost;
735global \$dbuser;
736global \$dbpass;
737global \$dbname;
738
739
740END;
741
742$settings_footer = <<<END
743?>
744END;
745
746 return;
747}
748?>
7490
=== modified file 'server/install/database/65.sql'
--- server/install/database/65.sql 2013-11-11 09:06:47 +0000
+++ server/install/database/65.sql 2014-01-19 13:57:27 +0000
@@ -1,4 +1,5 @@
11
2<<<<<<< TREE
2INSERT INTO `setting` (`settingid`, `setting`, `value`, `type`, `helptext`, `options`, `cat`, `userChange`) 3INSERT INTO `setting` (`settingid`, `setting`, `value`, `type`, `helptext`, `options`, `cat`, `userChange`)
3VALUES (NULL, 'SCHEDULE_WITH_VIEW_PERMISSION', 'No', 'dropdown', 'Should users with View permissions on displays be allowed to schedule to them?', 'Yes|No', 'permissions', '1');4VALUES (NULL, 'SCHEDULE_WITH_VIEW_PERMISSION', 'No', 'dropdown', 'Should users with View permissions on displays be allowed to schedule to them?', 'Yes|No', 'permissions', '1');
45
@@ -7,5 +8,8 @@
7UPDATE `menuitem` SET `Args`='manual/index.php' WHERE `Text`='Manual';8UPDATE `menuitem` SET `Args`='manual/index.php' WHERE `Text`='Manual';
89
9UPDATE `version` SET `app_ver` = '1.5.2', `XmdsVersion` = 3;10UPDATE `version` SET `app_ver` = '1.5.2', `XmdsVersion` = 3;
11=======
12UPDATE `version` SET `app_ver` = '1.6.0-rc1', `XmdsVersion` = 3;
13>>>>>>> MERGE-SOURCE
10UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';14UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
11UPDATE `version` SET `DBVersion` = '65';
12\ No newline at end of file15\ No newline at end of file
16UPDATE `version` SET `DBVersion` = '66';
13\ No newline at end of file17\ No newline at end of file
1418
=== added file 'server/install/database/66.sql'
--- server/install/database/66.sql 1970-01-01 00:00:00 +0000
+++ server/install/database/66.sql 2014-01-19 13:57:27 +0000
@@ -0,0 +1,83 @@
1DELETE FROM `help`;
2
3INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
4(1, 'Layout', 'General', 'manual/single.php?p=layout/overview'),
5(2, 'Content', 'General', 'manual/single.php?p=content/overview'),
6(4, 'Schedule', 'General', 'manual/single.php?p=schedule/overview'),
7(5, 'Group', 'General', 'manual/single.php?p=users/groups'),
8(6, 'Admin', 'General', 'manual/single.php?p=admin/settings'),
9(7, 'Report', 'General', 'manual/single.php?p=admin/advanced'),
10(8, 'Dashboard', 'General', 'manual/single.php?p=coreconcepts/dashboard'),
11(9, 'User', 'General', 'manual/single.php?p=users/users'),
12(10, 'Display', 'General', 'manual/single.php?p=admin/displays'),
13(11, 'DisplayGroup', 'General', 'manual/single.php?p=admin/displaygroups'),
14(12, 'Layout', 'Add', 'manual/single.php?p=layout/overview#Add_Layout'),
15(13, 'Layout', 'Background', 'manual/single.php?p=layout/layoutdesigner#Background'),
16(14, 'Content', 'Assign', 'manual/single.php?p=layout/assigncontent#Assigning_Content'),
17(15, 'Layout', 'RegionOptions', 'manual/single.php?p=layout/assigncontent'),
18(16, 'Content', 'AddtoLibrary', 'manual/single.php?p=content/adding'),
19(17, 'Display', 'Edit', 'manual/single.php?p=admin/displays#Display_Edit'),
20(18, 'Display', 'Delete', 'manual/single.php?p=admin/displays#Display_Delete'),
21(19, 'Displays', 'Groups', 'manual/single.php?p=admin/displaygroups#Group_Members'),
22(20, 'UserGroup', 'Add', 'manual/single.php?p=users/groups#Adding_Group'),
23(21, 'User', 'Add', 'manual/single.php?p=users/users#Add_User'),
24(22, 'User', 'Delete', 'manual/single.php?p=users/users#Delete_User'),
25(23, 'Content', 'Config', 'manual/single.php?p=admin/settings#Content'),
26(24, 'LayoutMedia', 'Permissions', 'manual/single.php?p=users/user_permissions'),
27(25, 'Region', 'Permissions', 'manual/single.php?p=users/user_permissions'),
28(26, 'Library', 'Assign', 'manual/single.php?p=layout/assigncontent#Add_From_Library'),
29(27, 'Media', 'Delete', 'manual/single.php?p=content/deleting'),
30(28, 'DisplayGroup', 'Add', 'manual/single.php?p=admin/displaygroups#Add_Group'),
31(29, 'DisplayGroup', 'Edit', 'manual/single.php?p=admin/displaygroups#Edit_Group'),
32(30, 'DisplayGroup', 'Delete', 'manual/single.php?p=admin/displaygroups#Delete_Group'),
33(31, 'DisplayGroup', 'Members', 'manual/single.php?p=admin/displaygroups#Group_Members'),
34(32, 'DisplayGroup', 'Permissions', 'manual/single.php?p=users/user_permissions'),
35(34, 'Schedule', 'ScheduleNow', 'manual/single.php?p=schedule/schedule_now'),
36(35, 'Layout', 'Delete', 'manual/single.php?p=layout/overview#Delete_Layout'),
37(36, 'Layout', 'Copy', 'manual/single.php?p=layout/overview#Copy_Layout'),
38(37, 'Schedule', 'Edit', 'manual/single.php?p=schedule/schedule_event'),
39(38, 'Schedule', 'Add', 'manual/single.php?p=schedule/schedule_event'),
40(39, 'Layout', 'Permissions', 'manual/single.php?p=users/user_permissions'),
41(40, 'Display', 'MediaInventory', 'manual/single.php?p=admin/displays#Media_Inventory'),
42(41, 'User', 'ChangePassword', 'manual/single.php?p=coreconcepts/navbar#Change_Password'),
43(42, 'Schedule', 'Delete', 'manual/single.php?p=schedule/schedule_event'),
44(43, 'Layout', 'Edit', 'manual/single.php?p=layout/overview#Edit_Layout'),
45(44, 'Media', 'Permissions', 'manual/single.php?p=users/user_permissions'),
46(45, 'Display', 'DefaultLayout', 'manual/single.php?p=admin/displays'),
47(46, 'UserGroup', 'Edit', 'manual/single.php?p=users/groups#Edit_Group'),
48(47, 'UserGroup', 'Members', 'manual/single.php?p=users/groups#Group_Member'),
49(48, 'User', 'PageSecurity', 'manual/single.php?p=users/menu_page_security#Page_Security'),
50(49, 'User', 'MenuSecurity', 'manual/single.php?p=users/menu_page_security#Menu_Security'),
51(50, 'UserGroup', 'Delete', 'manual/single.php?p=users/groups#Delete_Group'),
52(51, 'User', 'Edit', 'manual/single.php?p=users/users#Edit_User'),
53(52, 'User', 'Applications', 'manual/single.php?p=users/users#Users_MyApplications'),
54(53, 'User', 'SetHomepage', 'manual/single.php?p=coreconcepts/dashboard#Media_Dashboard'),
55(54, 'DataSet', 'General', 'manual/single.php?p=content/content_dataset'),
56(55, 'DataSet', 'Add', 'manual/single.php?p=content/content_dataset#Create_Dataset'),
57(56, 'DataSet', 'Edit', 'manual/single.php?p=content/content_dataset#Edit_Dataset'),
58(57, 'DataSet', 'Delete', 'manual/single.php?p=content/content_dataset#Delete_Dataset'),
59(58, 'DataSet', 'AddColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
60(59, 'DataSet', 'EditColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
61(60, 'DataSet', 'DeleteColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
62(61, 'DataSet', 'Data', 'manual/single.php?p=content/content_dataset#Dataset_Row'),
63(62, 'DataSet', 'Permissions', 'manual/single.php?p=users/user_permissions'),
64(63, 'Fault', 'General', 'manual/single.php?p=admin/advanced#Report_Fault'),
65(65, 'Stats', 'General', 'manual/single.php?p=admin/displaystats'),
66(66, 'Resolution', 'General', 'manual/single.php?p=templates/template_resolution'),
67(67, 'Template', 'General', 'manual/single.php?p=templates/overview'),
68(68, 'Services', 'Register', 'manual/single.php?p=admin/api_oauth#Registered_Applications'),
69(69, 'OAuth', 'General', 'manual/single.php?p=admin/api_oauth'),
70(70, 'Services', 'Log', 'manual/single.php?p=admin/api_oauth#oAuthLog'),
71(71, 'Module', 'Edit', 'manual/single.php?p=admin/modules'),
72(72, 'Module', 'General', 'manual/single.php?p=admin/modules'),
73(73, 'Campaign', 'General', 'manual/single.php?p=layout/campaign_layout'),
74(74, 'License', 'General', 'manual/single.php?p=license/licenses'),
75(75, 'DataSet', 'ViewColumns', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
76(76, 'Campaign', 'Permissions', 'manual/single.php?p=users/user_permissions'),
77(77, 'Transition', 'Edit', 'manual/single.php?p=layout/transitions'),
78(78, 'User', 'SetPassword', 'manual/single.php?p=users/users#Set_Password'),
79(79, 'DataSet', 'ImportCSV', 'manual/single.php?p=content/content_dataset#Import_CSV');
80
81UPDATE `version` SET `app_ver` = '1.6.0-rc1', `XmdsVersion` = 3;
82UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE';
83UPDATE `version` SET `DBVersion` = '66';
0\ No newline at end of file84\ No newline at end of file
185
=== modified file 'server/install/header.inc'
--- server/install/header.inc 2013-05-01 19:25:37 +0000
+++ server/install/header.inc 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/install/header_upgrade.inc'
--- server/install/header_upgrade.inc 2013-05-01 19:25:37 +0000
+++ server/install/header_upgrade.inc 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/install/install.css'
--- server/install/install.css 2013-05-01 19:25:37 +0000
+++ server/install/install.css 2014-01-19 13:57:27 +0000
@@ -1,5 +1,5 @@
1/*1/*
2 * Xibo - Digitial Signage - http://www.xibo.org.uk2 * Xibo - Digital Signage - http://www.xibo.org.uk
3 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer3 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
4 *4 *
5 * This file is part of Xibo.5 * This file is part of Xibo.
66
=== modified file 'server/install/master/data.sql'
--- server/install/master/data.sql 2013-11-11 09:06:47 +0000
+++ server/install/master/data.sql 2014-01-19 13:57:27 +0000
@@ -1,5 +1,5 @@
1INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES1INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES
2('1.5.2', 3, 1, 65);2('1.6.0-rc1', 3, 1, 66);
33
4INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES4INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES
5(1, 'Users', 0, 0),5(1, 'Users', 0, 0),
@@ -7,82 +7,82 @@
7(3, 'xibo_admin', 1, 0);7(3, 'xibo_admin', 1, 0);
88
9INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES9INSERT INTO `help` (`HelpID`, `Topic`, `Category`, `Link`) VALUES
10(1, 'Layout', 'General', 'manual/content/layout/overview.php'),10(1, 'Layout', 'General', 'manual/single.php?p=layout/overview'),
11(2, 'Content', 'General', 'manual/content/content/types.php'),11(2, 'Content', 'General', 'manual/single.php?p=content/overview'),
12(4, 'Schedule', 'General', 'manual/content/schedule/schedule_calendar.php'),12(4, 'Schedule', 'General', 'manual/single.php?p=schedule/overview'),
13(5, 'Group', 'General', 'manual/content/users/groups.php'),13(5, 'Group', 'General', 'manual/single.php?p=users/groups'),
14(6, 'Admin', 'General', 'manual/content/admin/settings.php'),14(6, 'Admin', 'General', 'manual/single.php?p=admin/settings'),
15(7, 'Report', 'General', 'manual/content/admin/advanced.php'),15(7, 'Report', 'General', 'manual/single.php?p=admin/advanced'),
16(8, 'Dashboard', 'General', 'manual/content/dashboard/dashboard.php'),16(8, 'Dashboard', 'General', 'manual/single.php?p=coreconcepts/dashboard'),
17(9, 'User', 'General', 'manual/content/users/users.php'),17(9, 'User', 'General', 'manual/single.php?p=users/users'),
18(10, 'Display', 'General', 'manual/content/admin/displays.php'),18(10, 'Display', 'General', 'manual/single.php?p=admin/displays'),
19(11, 'DisplayGroup', 'General', 'manual/content/admin/displays.php#Display_Group'),19(11, 'DisplayGroup', 'General', 'manual/single.php?p=admin/displaygroups'),
20(12, 'Layout', 'Add', 'manual/content/layout/addlayout.php'),20(12, 'Layout', 'Add', 'manual/single.php?p=layout/overview#Add_Layout'),
21(13, 'Layout', 'Background', 'manual/content/layout/layoutdesigner.php#Background'),21(13, 'Layout', 'Background', 'manual/single.php?p=layout/layoutdesigner#Background'),
22(14, 'Content', 'Assign', 'manual/content/content/types.php'),22(14, 'Content', 'Assign', 'manual/single.php?p=layout/assigncontent#Assigning_Content'),
23(15, 'Layout', 'RegionOptions', 'manual/content/layout/addregion.php'),23(15, 'Layout', 'RegionOptions', 'manual/single.php?p=layout/assigncontent'),
24(16, 'Content', 'AddtoLibrary', 'manual/content/content/adding.php'),24(16, 'Content', 'AddtoLibrary', 'manual/single.php?p=content/adding'),
25(17, 'Display', 'Edit', 'manual/content/admin/displays.php#Display_Edit'),25(17, 'Display', 'Edit', 'manual/single.php?p=admin/displays#Display_Edit'),
26(18, 'Display', 'Delete', 'manual/content/admin/displays.php#Display_Delete'),26(18, 'Display', 'Delete', 'manual/single.php?p=admin/displays#Display_Delete'),
27(19, 'Displays', 'Groups', 'manual/content/admin/displays.php#Display_Group'),27(19, 'Displays', 'Groups', 'manual/single.php?p=admin/displaygroups#Group_Members'),
28(20, 'UserGroup', 'Add', 'manual/content/users/groups.php#Adding_Group'),28(20, 'UserGroup', 'Add', 'manual/single.php?p=users/groups#Adding_Group'),
29(21, 'User', 'Add', 'manual/content/users/users.php#Adding_User'),29(21, 'User', 'Add', 'manual/single.php?p=users/users#Add_User'),
30(22, 'User', 'Delete', 'manual/content/users/users.php#Delete_User'),30(22, 'User', 'Delete', 'manual/single.php?p=users/users#Delete_User'),
31(23, 'Content', 'Config', 'manual/content/admin/settings.php#Content'),31(23, 'Content', 'Config', 'manual/single.php?p=admin/settings#Content'),
32(24, 'LayoutMedia', 'Permissions', 'manual/content/layout/addlayout.php#Layout_Permission'),32(24, 'LayoutMedia', 'Permissions', 'manual/single.php?p=users/user_permissions'),
33(25, 'Region', 'Permissions', 'manual/content/layout/addregion.php#Region_Permissions'),33(25, 'Region', 'Permissions', 'manual/single.php?p=users/user_permissions'),
34(26, 'Library', 'Assign', 'manual/content/layout/assigncontent.php#Add_From_Library'),34(26, 'Library', 'Assign', 'manual/single.php?p=layout/assigncontent#Add_From_Library'),
35(27, 'Media', 'Delete', 'manual/content/content/types.php'),35(27, 'Media', 'Delete', 'manual/single.php?p=content/deleting'),
36(28, 'DisplayGroup', 'Add', 'manual/content/admin/displays.php#Display_Group'),36(28, 'DisplayGroup', 'Add', 'manual/single.php?p=admin/displaygroups#Add_Group'),
37(29, 'DisplayGroup', 'Edit', 'manual/content/admin/displays.php#Display_Group'),37(29, 'DisplayGroup', 'Edit', 'manual/single.php?p=admin/displaygroups#Edit_Group'),
38(30, 'DisplayGroup', 'Delete', 'manual/content/admin/displays.php#Display_Group'),38(30, 'DisplayGroup', 'Delete', 'manual/single.php?p=admin/displaygroups#Delete_Group'),
39(31, 'DisplayGroup', 'Members', 'manual/content/admin/displays.php#Group_Members'),39(31, 'DisplayGroup', 'Members', 'manual/single.php?p=admin/displaygroups#Group_Members'),
40(32, 'DisplayGroup', 'Permissions', 'manual/content/users/user_permissions.php'),40(32, 'DisplayGroup', 'Permissions', 'manual/single.php?p=users/user_permissions'),
41(34, 'Schedule', 'ScheduleNow', 'manual/content/schedule/schedule_now.php'),41(34, 'Schedule', 'ScheduleNow', 'manual/single.php?p=schedule/schedule_now'),
42(35, 'Layout', 'Delete', 'manual/content/layout/addlayout.php#Delete_Layout'),42(35, 'Layout', 'Delete', 'manual/single.php?p=layout/overview#Delete_Layout'),
43(36, 'Layout', 'Copy', 'manual/content/layout/addlayout.php#Copy_Layout'),43(36, 'Layout', 'Copy', 'manual/single.php?p=layout/overview#Copy_Layout'),
44(37, 'Schedule', 'Edit', 'manual/content/schedule/schedule_calendar.php'),44(37, 'Schedule', 'Edit', 'manual/single.php?p=schedule/schedule_event'),
45(38, 'Schedule', 'Add', 'manual/content/schedule/schedule_calendar.php'),45(38, 'Schedule', 'Add', 'manual/single.php?p=schedule/schedule_event'),
46(39, 'Layout', 'Permissions', 'manual/content/layout/addregion.php#Region_Permissions'),46(39, 'Layout', 'Permissions', 'manual/single.php?p=users/user_permissions'),
47(40, 'Display', 'MediaInventory', 'manual/content/admin/displays.php#Media_Inventory'),47(40, 'Display', 'MediaInventory', 'manual/single.php?p=admin/displays#Media_Inventory'),
48(41, 'User', 'ChangePassword', 'manual/content/dashboard/navbar.php#Navigation_Top'),48(41, 'User', 'ChangePassword', 'manual/single.php?p=coreconcepts/navbar#Change_Password'),
49(42, 'Schedule', 'Delete', 'manual/content/schedule/schedule_event.htm'),49(42, 'Schedule', 'Delete', 'manual/single.php?p=schedule/schedule_event'),
50(43, 'Layout', 'Edit', 'manual/content/layout/addlayout.php#Edit_Layout'),50(43, 'Layout', 'Edit', 'manual/single.php?p=layout/overview#Edit_Layout'),
51(44, 'Media', 'Permissions', 'manual/content/users/user_permissions.php'),51(44, 'Media', 'Permissions', 'manual/single.php?p=users/user_permissions'),
52(45, 'Display', 'DefaultLayout', 'manual/content/admin/displays.php'),52(45, 'Display', 'DefaultLayout', 'manual/single.php?p=admin/displays'),
53(46, 'UserGroup', 'Edit', 'manual/content/users/groups.php#Edit_Group'),53(46, 'UserGroup', 'Edit', 'manual/single.php?p=users/groups#Edit_Group'),
54(47, 'UserGroup', 'Members', 'manual/content/users/groups.php#Group_Member'),54(47, 'UserGroup', 'Members', 'manual/single.php?p=users/groups#Group_Member'),
55(48, 'User', 'PageSecurity', 'manual/content/users/menu_page_security.php#Page_Security'),55(48, 'User', 'PageSecurity', 'manual/single.php?p=users/menu_page_security#Page_Security'),
56(49, 'User', 'MenuSecurity', 'manual/content/users/menu_page_security.php#Menu_Security'),56(49, 'User', 'MenuSecurity', 'manual/single.php?p=users/menu_page_security#Menu_Security'),
57(50, 'UserGroup', 'Delete', 'manual/content/users/groups.php#Delete_Group'),57(50, 'UserGroup', 'Delete', 'manual/single.php?p=users/groups#Delete_Group'),
58(51, 'User', 'Edit', 'manual/content/users/users.php#Edit_User'),58(51, 'User', 'Edit', 'manual/single.php?p=users/users#Edit_User'),
59(52, 'User', 'Applications', 'manual/content/users/menu_page_security.php'),59(52, 'User', 'Applications', 'manual/single.php?p=users/users#Users_MyApplications'),
60(53, 'User', 'SetHomepage', 'manual/content/dashboard/dashboard.php#Media_Dashboard'),60(53, 'User', 'SetHomepage', 'manual/single.php?p=coreconcepts/dashboard#Media_Dashboard'),
61(54, 'DataSet', 'General', 'manual/content/layout/content_datasets.php'),61(54, 'DataSet', 'General', 'manual/single.php?p=content/content_dataset'),
62(55, 'DataSet', 'Add', 'manual/content/layout/content_datasets.php#Create_Dataset'),62(55, 'DataSet', 'Add', 'manual/single.php?p=content/content_dataset#Create_Dataset'),
63(56, 'DataSet', 'Edit', 'manual/content/layout/content_datasets.php#Create_Dataset'),63(56, 'DataSet', 'Edit', 'manual/single.php?p=content/content_dataset#Edit_Dataset'),
64(57, 'DataSet', 'Delete', 'manual/content/layout/content_datasets.php#Create_Dataset'),64(57, 'DataSet', 'Delete', 'manual/single.php?p=content/content_dataset#Delete_Dataset'),
65(58, 'DataSet', 'AddColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),65(58, 'DataSet', 'AddColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
66(59, 'DataSet', 'EditColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),66(59, 'DataSet', 'EditColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
67(60, 'DataSet', 'DeleteColumn', 'manual/content/layout/content_datasets.php#Dataset_Column'),67(60, 'DataSet', 'DeleteColumn', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
68(61, 'DataSet', 'Data', 'manual/content/layout/content_datasets.php#Dataset_Row'),68(61, 'DataSet', 'Data', 'manual/single.php?p=content/content_dataset#Dataset_Row'),
69(62, 'DataSet', 'Permissions', 'manual/content/users/user_permissions.php'),69(62, 'DataSet', 'Permissions', 'manual/single.php?p=users/user_permissions'),
70(63, 'Fault', 'General', 'manual/content/admin/advanced.php'),70(63, 'Fault', 'General', 'manual/single.php?p=admin/advanced#Report_Fault'),
71(64, 'Report', 'General', 'manual/content/admin/advanced.php'),71(65, 'Stats', 'General', 'manual/single.php?p=admin/displaystats'),
72(65, 'Stats', 'General', 'manual/content/admin/displays.php#Display_Statistic'),72(66, 'Resolution', 'General', 'manual/single.php?p=templates/template_resolution'),
73(66, 'Resolution', 'General', 'manual/content/templates/template_resolution.php'),73(67, 'Template', 'General', 'manual/single.php?p=templates/overview'),
74(67, 'Template', 'General', 'manual/content/templates/overview.php'),74(68, 'Services', 'Register', 'manual/single.php?p=admin/api_oauth#Registered_Applications'),
75(68, 'Services', 'Register', 'manual/content/admin/api.php'),75(69, 'OAuth', 'General', 'manual/single.php?p=admin/api_oauth'),
76(69, 'OAuth', 'General', 'manual/content/admin/api.php'),76(70, 'Services', 'Log', 'manual/single.php?p=admin/api_oauth#oAuthLog'),
77(70, 'Services', 'Log', 'manual/content/admin/advanced.php'),77(71, 'Module', 'Edit', 'manual/single.php?p=admin/modules'),
78(71, 'Module', 'Edit', 'manual/content/admin/modules.php'),78(72, 'Module', 'General', 'manual/single.php?p=admin/modules'),
79(72, 'Module', 'General', 'manual/content/admin/modules.php'),79(73, 'Campaign', 'General', 'manual/single.php?p=layout/campaign_layout'),
80(73, 'Campaign', 'General', 'manual/content/layout/campaign_layout.php'),80(74, 'License', 'General', 'manual/single.php?p=license/licenses'),
81(74, 'License', 'General', 'manual/content/license/licenses.php'),81(75, 'DataSet', 'ViewColumns', 'manual/single.php?p=content/content_dataset#Dataset_Column'),
82(75, 'DataSet', 'ViewColumns', 'manual/content/layout/content_datasets.php#Dataset_Column'),82(76, 'Campaign', 'Permissions', 'manual/single.php?p=users/user_permissions'),
83(76, 'Campaign', 'Permissions', 'manual/content/layout/addlayout.php#Layout_Permission'),83(77, 'Transition', 'Edit', 'manual/single.php?p=layout/transitions'),
84(77, 'Transition', 'Edit', 'manual/content/transitions/transitions.php#Edit'),84(78, 'User', 'SetPassword', 'manual/single.php?p=users/users#Set_Password'),
85(78, 'User', 'SetPassword', 'manual/content/users/users.php#Set_Password');85(79, 'DataSet', 'ImportCSV', 'manual/single.php?p=content/content_dataset#Import_CSV');
8686
87INSERT INTO `menu` (`MenuID`, `Menu`) VALUES87INSERT INTO `menu` (`MenuID`, `Menu`) VALUES
88(8, 'Administration Menu'),88(8, 'Administration Menu'),
@@ -95,15 +95,20 @@
9595
96INSERT INTO `module` (`ModuleID`, `Module`, `Name`, `Enabled`, `RegionSpecific`, `Description`, `ImageUri`, `SchemaVersion`, `ValidExtensions`, `PreviewEnabled`) VALUES96INSERT INTO `module` (`ModuleID`, `Module`, `Name`, `Enabled`, `RegionSpecific`, `Description`, `ImageUri`, `SchemaVersion`, `ValidExtensions`, `PreviewEnabled`) VALUES
97(1, 'Image', 'Image', 1, 0, 'Images. PNG, JPG, BMP, GIF', 'forms/image.gif', 1, 'jpg,jpeg,png,bmp,gif', 1),97(1, 'Image', 'Image', 1, 0, 'Images. PNG, JPG, BMP, GIF', 'forms/image.gif', 1, 'jpg,jpeg,png,bmp,gif', 1),
98(2, 'Video', 'Video', 1, 0, 'Videos. WMV.', 'forms/video.gif', 1, 'wmv,avi,mpg,mpeg', 1),98(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),
99(3, 'Flash', 'Flash', 1, 0, 'Flash', 'forms/flash.gif', 1, 'swf', 1),99(3, 'Flash', 'Flash', 1, 0, 'Flash', 'forms/flash.gif', 1, 'swf', 1),
100(4, 'PowerPoint', 'PowerPoint', 1, 0, 'Powerpoint. PPT, PPS', 'forms/powerpoint.gif', 1, 'ppt,pps,pptx', 1),100(4, 'PowerPoint', 'PowerPoint', 1, 0, 'Powerpoint. PPT, PPS', 'forms/powerpoint.gif', 1, 'ppt,pps,pptx', 1),
101(5, 'Webpage', 'Webpage', 1, 1, 'Webpages.', 'forms/webpage.gif', 1, NULL, 1),101(5, 'Webpage', 'Webpage', 1, 1, 'Webpages.', 'forms/webpage.gif', 1, NULL, 1),
102(6, 'Ticker', 'Ticker', 1, 1, 'RSS Ticker.', 'forms/ticker.gif', 1, NULL, 1),102(6, 'Ticker', 'Ticker', 1, 1, 'RSS Ticker.', 'forms/ticker.gif', 1, NULL, 1),
103(7, 'Text', 'Text', 1, 1, 'Text. With Directional Controls.', 'forms/text.gif', 1, NULL, 1),103(7, 'Text', 'Text', 1, 1, 'Text. With Directional Controls.', 'forms/text.gif', 1, NULL, 1),
104(8, 'Embedded', 'Embedded', 1, 1, 'Embedded HTML', 'forms/webpage.gif', 1, NULL, 1),104(8, 'Embedded', 'Embedded', 1, 1, 'Embedded HTML', 'forms/webpage.gif', 1, NULL, 1),
105<<<<<<< TREE
105(9, 'MicroBlog', 'MicroBlog', 0, 1, NULL, 'forms/microblog.gif', 1, NULL, 1),106(9, 'MicroBlog', 'MicroBlog', 0, 1, NULL, 'forms/microblog.gif', 1, NULL, 1),
106(10, 'Counter', 'Counter', 1, 1, 'Customer Counter connected to a Remote Control', 'forms/counter.gif', 1, NULL, 1),107(10, 'Counter', 'Counter', 1, 1, 'Customer Counter connected to a Remote Control', 'forms/counter.gif', 1, NULL, 1),
108=======
109(9, 'MicroBlog', 'MicroBlog', 0, 1, NULL, 'forms/microblog.gif', 1, NULL, 1),
110(10, 'Counter', 'Counter', 0, 1, 'Customer Counter connected to a Remote Control', 'forms/counter.gif', 1, NULL, 1),
111>>>>>>> MERGE-SOURCE
107(11, 'datasetview', 'Data Set', 1, 1, 'A view on a DataSet', 'forms/datasetview.gif', 1, NULL, 1),112(11, 'datasetview', 'Data Set', 1, 1, 'A view on a DataSet', 'forms/datasetview.gif', 1, NULL, 1),
108(12, 'shellcommand', 'Shell Command', 1, 1, 'Execute a shell command on the client', 'forms/shellcommand.gif', 1, NULL, 1),113(12, 'shellcommand', 'Shell Command', 1, 1, 'Execute a shell command on the client', 'forms/shellcommand.gif', 1, NULL, 1),
109(13, 'localvideo', 'Local Video', 0, 1, 'Play a video locally stored on the client', 'forms/video.gif', 1, NULL, 1);114(13, 'localvideo', 'Local Video', 0, 1, 'Play a video locally stored on the client', 'forms/video.gif', 1, NULL, 1);
110115
=== modified file 'server/lib/app/app_functions.php'
--- server/lib/app/app_functions.php 2013-11-03 11:24:11 +0000
+++ server/lib/app/app_functions.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/datemanager.class.php'
--- server/lib/app/datemanager.class.php 2013-05-01 19:25:37 +0000
+++ server/lib/app/datemanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/debug.class.php'
--- server/lib/app/debug.class.php 2013-08-21 22:27:13 +0000
+++ server/lib/app/debug.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/formmanager.class.php'
--- server/lib/app/formmanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/formmanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner4 * Copyright (C) 2006,2007,2008 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/helpmanager.class.php'
--- server/lib/app/helpmanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/helpmanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner4 * Copyright (C) 2006,2007,2008 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/kit.class.php'
--- server/lib/app/kit.class.php 2013-09-03 10:06:55 +0000
+++ server/lib/app/kit.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner and James Packer4 * Copyright (C) 2006-2013 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -61,7 +61,6 @@
61 } 61 }
62 else 62 else
63 {63 {
64 header( 'HTTP/1.1 301 Moved Permanently' );
65 header( 'Location: ' . $url );64 header( 'Location: ' . $url );
66 }65 }
67 66
@@ -615,5 +614,19 @@
615 return false;614 return false;
616 }615 }
617 }616 }
617
618 /**
619 * Format Bytes
620 * http://stackoverflow.com/questions/2510434/format-bytes-to-kilobytes-megabytes-gigabytes
621 * @param [int] $size The file size in bytes
622 * @param integer $precision The precision to go to
623 * @return [string] The Formatted string with suffix
624 */
625 public static function formatBytes($size, $precision = 2) {
626 $base = log($size) / log(1024);
627 $suffixes = array('', 'k', 'M', 'G', 'T');
628
629 return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
630 }
618}631}
619?>632?>
620633
=== modified file 'server/lib/app/menumanager.class.php'
--- server/lib/app/menumanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/menumanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner4 * Copyright (C) 2006,2007,2008 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/modulemanager.class.php'
--- server/lib/app/modulemanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/modulemanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2012 Daniel Garner4 * Copyright (C) 2006-2012 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/pagemanager.class.php'
--- server/lib/app/pagemanager.class.php 2013-11-03 11:24:11 +0000
+++ server/lib/app/pagemanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/pdoconnect.class.php'
--- server/lib/app/pdoconnect.class.php 2013-08-21 09:51:59 +0000
+++ server/lib/app/pdoconnect.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/permissionmanager.class.php'
--- server/lib/app/permissionmanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/permissionmanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011 Daniel Garner4 * Copyright (C) 2011 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/responsemanager.class.php'
--- server/lib/app/responsemanager.class.php 2013-11-03 11:24:11 +0000
+++ server/lib/app/responsemanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/rssreader.class.php'
--- server/lib/app/rssreader.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/app/rssreader.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/session.class.php'
--- server/lib/app/session.class.php 2013-09-03 10:06:55 +0000
+++ server/lib/app/session.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/thememanager.class.php'
--- server/lib/app/thememanager.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/app/thememanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/app/translationengine.class.php'
--- server/lib/app/translationengine.class.php 2013-08-21 09:51:59 +0000
+++ server/lib/app/translationengine.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009 Daniel Garner4 * Copyright (C) 2009 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/campaign.data.class.php'
--- server/lib/data/campaign.data.class.php 2013-09-21 14:58:19 +0000
+++ server/lib/data/campaign.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2012-2013 Daniel Garner4 * Copyright (C) 2012-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/campaignsecurity.data.class.php'
--- server/lib/data/campaignsecurity.data.class.php 2013-09-14 17:51:02 +0000
+++ server/lib/data/campaignsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2012-13 Daniel Garner4 * Copyright (C) 2012-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/data.class.php'
--- server/lib/data/data.class.php 2013-09-16 19:43:53 +0000
+++ server/lib/data/data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2012 Daniel Garner4 * Copyright (C) 2009-2012 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/dataset.data.class.php'
--- server/lib/data/dataset.data.class.php 2013-09-21 14:58:19 +0000
+++ server/lib/data/dataset.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/datasetcolumn.data.class.php'
--- server/lib/data/datasetcolumn.data.class.php 2013-09-14 17:51:02 +0000
+++ server/lib/data/datasetcolumn.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/datasetdata.data.class.php'
--- server/lib/data/datasetdata.data.class.php 2013-09-21 14:58:19 +0000
+++ server/lib/data/datasetdata.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/datasetgroupsecurity.data.class.php'
--- server/lib/data/datasetgroupsecurity.data.class.php 2013-09-14 18:06:51 +0000
+++ server/lib/data/datasetgroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/display.data.class.php'
--- server/lib/data/display.data.class.php 2013-10-20 14:36:21 +0000
+++ server/lib/data/display.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/displaygroup.data.class.php'
--- server/lib/data/displaygroup.data.class.php 2013-09-21 14:58:19 +0000
+++ server/lib/data/displaygroup.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/displaygroupsecurity.data.class.php'
--- server/lib/data/displaygroupsecurity.data.class.php 2013-09-21 15:18:29 +0000
+++ server/lib/data/displaygroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/file.data.class.php'
--- server/lib/data/file.data.class.php 2013-09-22 10:37:35 +0000
+++ server/lib/data/file.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010-13 Daniel Garner4 * Copyright (C) 2010-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/help.data.class.php'
--- server/lib/data/help.data.class.php 2013-09-22 10:37:35 +0000
+++ server/lib/data/help.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2012-13 Daniel Garner4 * Copyright (C) 2012-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/layout.data.class.php'
--- server/lib/data/layout.data.class.php 2013-11-03 22:44:50 +0000
+++ server/lib/data/layout.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-2013 Daniel Garner4 * Copyright (C) 2011-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/layoutmediagroupsecurity.data.class.php'
--- server/lib/data/layoutmediagroupsecurity.data.class.php 2013-09-22 15:49:19 +0000
+++ server/lib/data/layoutmediagroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/layoutregiongroupsecurity.data.class.php'
--- server/lib/data/layoutregiongroupsecurity.data.class.php 2013-09-22 13:31:06 +0000
+++ server/lib/data/layoutregiongroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2013 Daniel Garner4 * Copyright (C) 2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/maintenance.data.class.php'
--- server/lib/data/maintenance.data.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/data/maintenance.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2012 Daniel Garner4 * Copyright (C) 2012 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/media.data.class.php'
--- server/lib/data/media.data.class.php 2013-09-22 15:49:19 +0000
+++ server/lib/data/media.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010-2013 Daniel Garner4 * Copyright (C) 2010-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/mediagroupsecurity.data.class.php'
--- server/lib/data/mediagroupsecurity.data.class.php 2013-09-22 13:31:06 +0000
+++ server/lib/data/mediagroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/region.data.class.php'
--- server/lib/data/region.data.class.php 2013-11-02 13:30:06 +0000
+++ server/lib/data/region.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/resolution.data.class.php'
--- server/lib/data/resolution.data.class.php 2013-09-22 14:01:16 +0000
+++ server/lib/data/resolution.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/schedule.data.class.php'
--- server/lib/data/schedule.data.class.php 2013-11-11 10:32:42 +0000
+++ server/lib/data/schedule.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/setting.data.class.php'
--- server/lib/data/setting.data.class.php 2013-09-22 14:01:16 +0000
+++ server/lib/data/setting.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009 Daniel Garner4 * Copyright (C) 2009 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/stat.data.class.php'
--- server/lib/data/stat.data.class.php 2013-09-28 14:00:01 +0000
+++ server/lib/data/stat.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/template.data.class.php'
--- server/lib/data/template.data.class.php 2013-09-22 14:01:16 +0000
+++ server/lib/data/template.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-2013 Daniel Garner4 * Copyright (C) 2011-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/templategroupsecurity.data.class.php'
--- server/lib/data/templategroupsecurity.data.class.php 2013-09-22 14:34:20 +0000
+++ server/lib/data/templategroupsecurity.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-13 Daniel Garner4 * Copyright (C) 2011-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/userdata.data.class.php'
--- server/lib/data/userdata.data.class.php 2013-09-22 14:34:20 +0000
+++ server/lib/data/userdata.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/data/usergroup.data.class.php'
--- server/lib/data/usergroup.data.class.php 2013-09-22 14:34:20 +0000
+++ server/lib/data/usergroup.data.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-11 Daniel Garner4 * Copyright (C) 2009-11 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/include.php'
--- server/lib/include.php 2013-08-21 22:27:13 +0000
+++ server/lib/include.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2012 Daniel Garner and James Packer4 * Copyright (C) 2006-2012 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -20,7 +20,7 @@
20 */20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
2222
23define('WEBSITE_VERSION', 65);23define('WEBSITE_VERSION', 66);
2424
25// No errors reported until we read the settings from the DB25// No errors reported until we read the settings from the DB
26error_reporting(0);26error_reporting(0);
2727
=== modified file 'server/lib/modules/module.class.php'
--- server/lib/modules/module.class.php 2013-11-11 08:36:36 +0000
+++ server/lib/modules/module.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/modules/module.interface.php'
--- server/lib/modules/module.interface.php 2013-05-01 19:24:35 +0000
+++ server/lib/modules/module.interface.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner4 * Copyright (C) 2006,2007,2008 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/oauth.inc.php'
--- server/lib/oauth.inc.php 2013-08-21 09:36:12 +0000
+++ server/lib/oauth.inc.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010 Daniel Garner4 * Copyright (C) 2010 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/admin.class.php'
--- server/lib/pages/admin.class.php 2013-10-20 14:26:32 +0000
+++ server/lib/pages/admin.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/campaign.class.php'
--- server/lib/pages/campaign.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/campaign.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2012-2013 Daniel Garner4 * Copyright (C) 2012-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/clock.class.php'
--- server/lib/pages/clock.class.php 2013-05-01 19:25:37 +0000
+++ server/lib/pages/clock.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009 Daniel Garner4 * Copyright (C) 2009 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/content.class.php'
--- server/lib/pages/content.class.php 2013-11-03 12:54:28 +0000
+++ server/lib/pages/content.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -112,11 +112,8 @@
112 $row['permissions'] = $group = $this->GroupsForMedia($row['mediaid']);112 $row['permissions'] = $group = $this->GroupsForMedia($row['mediaid']);
113 $row['revised'] = ($row['parentid'] != 0) ? Theme::Image('act.gif') : '';113 $row['revised'] = ($row['parentid'] != 0) ? Theme::Image('act.gif') : '';
114114
115 // Display a friendly filesize115 // Display a friendly file size
116 $sz = 'BKMGTP';116 $row['size_text'] = Kit::FormatBytes($row['filesize']);
117 $factor = floor((strlen($row['filesize']) - 1) / 3);
118 $fileSize = sprintf('%.2f', $row['filesize'] / pow(1024, $factor)) . @$sz[$factor];
119 $row['size_text'] = $fileSize;
120117
121 $row['buttons'] = array();118 $row['buttons'] = array();
122119
123120
=== modified file 'server/lib/pages/dashboard.class.php'
--- server/lib/pages/dashboard.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/pages/dashboard.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/dataset.class.php'
--- server/lib/pages/dataset.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/dataset.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-2013 Daniel Garner4 * Copyright (C) 2011-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/display.class.php'
--- server/lib/pages/display.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/display.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/displaygroup.class.php'
--- server/lib/pages/displaygroup.class.php 2013-08-20 20:17:11 +0000
+++ server/lib/pages/displaygroup.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/error.class.php'
--- server/lib/pages/error.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/pages/error.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner4 * Copyright (C) 2006,2007,2008 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/fault.class.php'
--- server/lib/pages/fault.class.php 2013-08-21 22:27:13 +0000
+++ server/lib/pages/fault.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-13 Daniel Garner4 * Copyright (C) 2009-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/group.class.php'
--- server/lib/pages/group.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/group.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008,2009 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008,2009 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -695,7 +695,7 @@
695 $form = Theme::RenderReturn('usergroup_form_user_assign');695 $form = Theme::RenderReturn('usergroup_form_user_assign');
696696
697 $response->SetFormRequestResponse($form, __('Manage Membership'), '400', '375', 'ManageMembersCallBack');697 $response->SetFormRequestResponse($form, __('Manage Membership'), '400', '375', 'ManageMembersCallBack');
698 $response->AddButton(__('Help'), "XiboHelpRender(". HelpManager::Link('UserGroup', 'Members') .")");698 $response->AddButton(__('Help'), "XiboHelpRender('" . HelpManager::Link('UserGroup', 'Members') . "')");
699 $response->AddButton(__('Cancel'), 'XiboDialogClose()');699 $response->AddButton(__('Cancel'), 'XiboDialogClose()');
700 $response->AddButton(__('Save'), 'MembersSubmit()');700 $response->AddButton(__('Save'), 'MembersSubmit()');
701 $response->Respond();701 $response->Respond();
702702
=== modified file 'server/lib/pages/help.class.php'
--- server/lib/pages/help.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/help.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -159,6 +159,13 @@
159 'url' => 'index.php?p=help&q=DeleteForm&HelpID=' . $row['helpid'],159 'url' => 'index.php?p=help&q=DeleteForm&HelpID=' . $row['helpid'],
160 'text' => __('Delete')160 'text' => __('Delete')
161 );161 );
162
163 // Test
164 $row['buttons'][] = array(
165 'id' => 'help_button_test',
166 'url' => HelpManager::Link($row['topic'], $row['category']),
167 'text' => __('Test')
168 );
162 }169 }
163170
164 $rows[] = $row;171 $rows[] = $row;
165172
=== modified file 'server/lib/pages/index.class.php'
--- server/lib/pages/index.class.php 2013-11-03 11:24:11 +0000
+++ server/lib/pages/index.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/layout.class.php'
--- server/lib/pages/layout.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/layout.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -547,7 +547,7 @@
547 }547 }
548 else548 else
549 {549 {
550 $thumbBgImage = "theme/default/img/forms/filenotfound.png";550 $thumbBgImage = "theme/default/img/forms/filenotfound.gif";
551 }551 }
552552
553 // Configure some template variables.553 // Configure some template variables.
554554
=== modified file 'server/lib/pages/license.class.php'
--- server/lib/pages/license.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/pages/license.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/log.class.php'
--- server/lib/pages/log.class.php 2013-08-20 20:17:11 +0000
+++ server/lib/pages/log.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/mediamanager.class.php'
--- server/lib/pages/mediamanager.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/pages/mediamanager.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2011-2013 Daniel Garner4 * Copyright (C) 2011-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/module.class.php'
--- server/lib/pages/module.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/module.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/oauth.class.php'
--- server/lib/pages/oauth.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/oauth.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010-13 Daniel Garner4 * Copyright (C) 2010-13 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -283,7 +283,7 @@
283 $output = Theme::RenderReturn('application_form_user_applications');283 $output = Theme::RenderReturn('application_form_user_applications');
284284
285 $response->SetFormRequestResponse($output, __('Authorized applications for user'), '650', '450');285 $response->SetFormRequestResponse($output, __('Authorized applications for user'), '650', '450');
286 $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=General')");286 $response->AddButton(__('Help'), "XiboHelpRender('" . HelpManager::Link('User', 'Applications') . "')");
287 $response->AddButton(__('Close'), 'XiboDialogClose()');287 $response->AddButton(__('Close'), 'XiboDialogClose()');
288 $response->Respond();288 $response->Respond();
289 }289 }
290290
=== modified file 'server/lib/pages/resolution.class.php'
--- server/lib/pages/resolution.class.php 2013-08-20 20:17:11 +0000
+++ server/lib/pages/resolution.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/schedule.class.php'
--- server/lib/pages/schedule.class.php 2013-11-03 13:30:21 +0000
+++ server/lib/pages/schedule.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -753,8 +753,8 @@
753 }753 }
754 }754 }
755755
756 Debug::LogEntry('audit', 'Built Month Array');756 //Debug::LogEntry('audit', 'Built Month Array');
757 Debug::LogEntry('audit', var_export($events, true));757 //Debug::LogEntry('audit', var_export($events, true));
758758
759 return $events;759 return $events;
760 }760 }
@@ -1404,7 +1404,7 @@
1404 <tr>1404 <tr>
1405 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>1405 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>
1406 <td><input type=text" name="DisplayOrder" value="0" />1406 <td><input type=text" name="DisplayOrder" value="0" />
1407 <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>1407 <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>
1408 <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>1408 <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>
1409 </tr>1409 </tr>
1410END;1410END;
@@ -1572,7 +1572,7 @@
1572 <tr>1572 <tr>
1573 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>1573 <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td>
1574 <td><input type=text" name="DisplayOrder" value="$displayOrder" />1574 <td><input type=text" name="DisplayOrder" value="$displayOrder" />
1575 <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>1575 <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>
1576 <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>1576 <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>
1577 </tr>1577 </tr>
1578END;1578END;
@@ -1921,7 +1921,7 @@
1921 <td><input type=text" name="DisplayOrder" value="0" />1921 <td><input type=text" name="DisplayOrder" value="0" />
1922 </tr>1922 </tr>
1923 <tr>1923 <tr>
1924 <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>1924 <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>
1925 <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>1925 <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>
1926 </tr>1926 </tr>
1927 <tr>1927 <tr>
19281928
=== modified file 'server/lib/pages/sessions.class.php'
--- server/lib/pages/sessions.class.php 2013-08-20 20:17:11 +0000
+++ server/lib/pages/sessions.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -70,10 +70,7 @@
70 $fromdt = Kit::GetParam('filter_fromdt', _POST, _STRING);70 $fromdt = Kit::GetParam('filter_fromdt', _POST, _STRING);
71 71
72 ///get the dates and times72 ///get the dates and times
73 if ($fromdt == '') {73 if ($fromdt != '') {
74 $starttime_timestamp = time();
75 }
76 else {
77 $start_date = explode("/",$fromdt); // dd/mm/yyyy74 $start_date = explode("/",$fromdt); // dd/mm/yyyy
78 $starttime_timestamp = strtotime($start_date[1] . "/" . $start_date[0] . "/" . $start_date[2] . ' ' . date("H", time()) . ":" . date("i", time()) . ':59');75 $starttime_timestamp = strtotime($start_date[1] . "/" . $start_date[0] . "/" . $start_date[2] . ' ' . date("H", time()) . ":" . date("i", time()) . ':59');
79 }76 }
@@ -84,7 +81,10 @@
84 81
85 $SQL = "SELECT session.userID, user.UserName, IsExpired, LastPage, session.LastAccessed, RemoteAddr, UserAgent ";82 $SQL = "SELECT session.userID, user.UserName, IsExpired, LastPage, session.LastAccessed, RemoteAddr, UserAgent ";
86 $SQL .= "FROM `session` LEFT OUTER JOIN user ON user.userID = session.userID ";83 $SQL .= "FROM `session` LEFT OUTER JOIN user ON user.userID = session.userID ";
87 $SQL .= sprintf(" WHERE session_expiration < '%s' ", $starttime_timestamp);84 $SQL .= "WHERE 1 = 1 ";
85
86 if ($fromdt != '')
87 $SQL .= sprintf(" AND session_expiration < '%s' ", $starttime_timestamp);
88 88
89 if ($type == "active")89 if ($type == "active")
90 $SQL .= " AND IsExpired = 0 ";90 $SQL .= " AND IsExpired = 0 ";
@@ -110,7 +110,7 @@
110110
111 $row['userid'] = Kit::ValidateParam($row['userID'], _INT);111 $row['userid'] = Kit::ValidateParam($row['userID'], _INT);
112 $row['username'] = Kit::ValidateParam($row['UserName'], _STRING);112 $row['username'] = Kit::ValidateParam($row['UserName'], _STRING);
113 $row['isexpired'] = (Kit::ValidateParam($row['IsExpired'], _INT) == 1) ? 'icon-ok' : 'icon-remove';113 $row['isexpired'] = (Kit::ValidateParam($row['IsExpired'], _INT) == 0) ? 'icon-ok' : 'icon-remove';
114 $row['lastpage'] = Kit::ValidateParam($row['LastPage'], _STRING);114 $row['lastpage'] = Kit::ValidateParam($row['LastPage'], _STRING);
115 $row['lastaccessed'] = Kit::ValidateParam($row['LastAccessed'], _STRING);115 $row['lastaccessed'] = Kit::ValidateParam($row['LastAccessed'], _STRING);
116 $row['ip'] = Kit::ValidateParam($row['RemoteAddr'], _STRING);116 $row['ip'] = Kit::ValidateParam($row['RemoteAddr'], _STRING);
117117
=== modified file 'server/lib/pages/stats.class.php'
--- server/lib/pages/stats.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/stats.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/template.class.php'
--- server/lib/pages/template.class.php 2013-09-22 14:01:16 +0000
+++ server/lib/pages/template.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/timeline.class.php'
--- server/lib/pages/timeline.class.php 2013-11-02 15:32:17 +0000
+++ server/lib/pages/timeline.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/transition.class.php'
--- server/lib/pages/transition.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/transition.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/pages/user.class.php'
--- server/lib/pages/user.class.php 2013-08-21 09:36:12 +0000
+++ server/lib/pages/user.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner4 * Copyright (C) 2006-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/service/rest.class.php'
--- server/lib/service/rest.class.php 2013-10-20 14:59:58 +0000
+++ server/lib/service/rest.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010-2013 Daniel Garner4 * Copyright (C) 2010-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -850,7 +850,7 @@
850 $layoutId = $this->GetParam('layoutId', _INT);850 $layoutId = $this->GetParam('layoutId', _INT);
851 $regionId = $this->GetParam('regionId', _STRING);851 $regionId = $this->GetParam('regionId', _STRING);
852 $type = $this->GetParam('type', _WORD);852 $type = $this->GetParam('type', _WORD);
853 $xlf = $this->GetParam('xlf', _STRING);853 $xlf = $this->GetParam('xlf', _HTMLSTRING);
854854
855 // Does the user have permissions to view this layout?855 // Does the user have permissions to view this layout?
856 if (!$this->user->LayoutAuth($layoutId))856 if (!$this->user->LayoutAuth($layoutId))
@@ -892,7 +892,7 @@
892 $regionId = $this->GetParam('regionId', _STRING);892 $regionId = $this->GetParam('regionId', _STRING);
893 $mediaId = $this->GetParam('mediaId', _STRING);893 $mediaId = $this->GetParam('mediaId', _STRING);
894 $type = $this->GetParam('type', _WORD);894 $type = $this->GetParam('type', _WORD);
895 $xlf = $this->GetParam('xlf', _STRING);895 $xlf = $this->GetParam('xlf', _HTMLSTRING);
896896
897 // Does the user have permissions to view this layout?897 // Does the user have permissions to view this layout?
898 if (!$this->user->LayoutAuth($layoutId))898 if (!$this->user->LayoutAuth($layoutId))
899899
=== modified file 'server/lib/service/restjson.class.php'
--- server/lib/service/restjson.class.php 2013-09-21 15:09:35 +0000
+++ server/lib/service/restjson.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010 Daniel Garner4 * Copyright (C) 2010 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/service/restxml.class.php'
--- server/lib/service/restxml.class.php 2013-09-21 15:09:35 +0000
+++ server/lib/service/restxml.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010 Daniel Garner4 * Copyright (C) 2010 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/service/serviceoauth.class.php'
--- server/lib/service/serviceoauth.class.php 2013-05-01 19:24:35 +0000
+++ server/lib/service/serviceoauth.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010 Daniel Garner4 * Copyright (C) 2010 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/service/serviceresponse.class.php'
--- server/lib/service/serviceresponse.class.php 2013-09-24 17:57:08 +0000
+++ server/lib/service/serviceresponse.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009 Daniel Garner4 * Copyright (C) 2009 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/lib/service/xmdssoap.class.php'
--- server/lib/service/xmdssoap.class.php 2013-09-29 18:54:12 +0000
+++ server/lib/service/xmdssoap.class.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-2013 Daniel Garner4 * Copyright (C) 2009-2013 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -1069,7 +1069,7 @@
10691069
1070 // See if the client was offline and if appropriate send an alert1070 // See if the client was offline and if appropriate send an alert
1071 // to say that it has come back online1071 // to say that it has come back online
1072 if (($row[5] == 0) and ($row[6] == 1))1072 if (($row[5] == 0) && ($row[6] == 1) && Config::GetSetting('MAINTENANCE_ENABLED') == 'On') && Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On'))
1073 {1073 {
1074 $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD);1074 $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD);
1075 $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD);1075 $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD);
10761076
=== modified file 'server/lib/xmds.inc.php'
--- server/lib/xmds.inc.php 2013-08-23 18:25:01 +0000
+++ server/lib/xmds.inc.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer4 * Copyright (C) 2006,2007,2008 Daniel Garner and James Packer
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
77
=== modified file 'server/locale/dbtranslate.php'
--- server/locale/dbtranslate.php 2013-11-03 13:30:21 +0000
+++ server/locale/dbtranslate.php 2014-01-19 13:57:27 +0000
@@ -1,6 +1,6 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2009-12 Daniel Garner4 * Copyright (C) 2009-12 Daniel Garner
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
@@ -53,6 +53,7 @@
53echo __('Modules');53echo __('Modules');
54echo __('Campaigns');54echo __('Campaigns');
55echo __('Transitions');55echo __('Transitions');
56echo __('Resolutions');
5657
57// Settings translations58// Settings translations
58echo __('jpg_length');59echo __('jpg_length');
5960
=== modified file 'server/maintenance.php'
--- server/maintenance.php 2013-08-21 09:51:59 +0000
+++ server/maintenance.php 2014-01-19 13:57:27 +0000
@@ -1,7 +1,7 @@
1<?php1<?php
2/*2/*
3 * Xibo - Digitial Signage - http://www.xibo.org.uk3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2010 Alex Harrington4 * Copyright (C) 2010-13 Alex Harrington
5 *5 *
6 * This file is part of Xibo.6 * This file is part of Xibo.
7 *7 *
@@ -29,6 +29,7 @@
2929
30// Required Library Files30// Required Library Files
31require_once("lib/app/translationengine.class.php");31require_once("lib/app/translationengine.class.php");
32require_once("lib/app/pdoconnect.class.php");
32require_once("lib/app/debug.class.php");33require_once("lib/app/debug.class.php");
33require_once("lib/app/kit.class.php");34require_once("lib/app/kit.class.php");
34require_once("lib/data/data.class.php");35require_once("lib/data/data.class.php");
3536
=== modified file 'server/manual/content/admin/advanced.php'
--- server/manual/content/admin/advanced.php 2013-05-01 19:24:35 +0000
+++ server/manual/content/admin/advanced.php 2014-01-19 13:57:27 +0000
@@ -1,57 +1,44 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">1<?php
2<?php include('../../template.php'); ?>2/*
3<html>3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 <head>4 * Copyright (C) 2006-2013 Daniel Garner
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />5 *
6 <title><?php echo PRODUCT_NAME; ?> Documentation</title>6 * This file is part of Xibo.
7 <link rel=stylesheet type="text/css" href="../../css/doc.css">7 *
8 <meta http-equiv="Content-Type" content="text/html" />8 * Xibo is free software: you can redistribute it and/or modify
9 <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />9 * it under the terms of the GNU Affero General Public License as published by
10 <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." />10 * the Free Software Foundation, either version 3 of the License, or
1111 * any later version.
12 <link href="img/favicon.ico" rel="shortcut icon"/>12 *
13 <!-- Javascript Libraries -->13 * Xibo is distributed in the hope that it will be useful,
14 <script type="text/javascript" src="lib/jquery.pack.js"></script>14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>16 * GNU Affero General Public License for more details.
17 </head>17 *
18 <body>18 * You should have received a copy of the GNU Affero General Public License
1919 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 <h1>Advanced</h1>20 */
21 <p>The Advanced page is mainly used by system administrator to help troubleshooting system problem or reporting fault 21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22 to the <?php echo PRODUCT_NAME; ?> xstreamedia team for assistance</p>22?>
23 <p>Click Advanced from the Navigation Bar. System loads the Log page by default.</p>23
2424<h1>Troubleshooting <small>The Advanced Menu</small></h1>
25 <blockquote>25<p>The CMS contains a number of useful tools for first line debugging and reporting faults to technical support.</p>
26 <a name="Error_Log_Help" id="Error_Log_Help"></a><h3>System Log</h3>26
27 27<h2 id="Report_Fault">Report Fault</h2>
28 <p><img alt="SA Advanced" src="sa_advanced.png"28<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>
29 style="display: block; text-align: center; margin-left: auto; margin-right: auto"29
30 width="803" height="161"></p>30<p><img class="img-thumbnail" alt="Report Fault Wizard" src="content/admin/report_fault_wizard.png"></p>
3131
32 <p>The system log is used to help troubleshoot problems with <?php echo PRODUCT_NAME; ?>. When you encounter an error it will be logged32
33 and listed in the system here. These error messages can help the xstreamedia team solve your problem.</p>33<h2>System Log</h2>
34 <p>Truncating the log helps you to troubleshoot a problem by clearing the current error messages</p>34<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>
35 <p>The page and sub page items helps locate where the error has been generated from.</p>35
36 <ul>36<p>The System Log is available from the Advanced Menu.</p>
37 <li><strong>Log Date</strong><p> states the date and time the error message was logged.</p></li>37
38 <li><strong>Page</strong><p> states the page that the error has been generated from.</p></li>38<p><img class="img-thumbnail" alt="System Log" src="content/admin/sa_advanced.png"></p>
39 <li><strong>Function</strong><p>state function that the error message has been generated from.</p></li>39
40 <li><strong>Message</strong><p> gives details of what error has occurred in the system.</p></li>40<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>
41 </ul>41
42 <a name="Session" id="Session"></a><h3>Sessions</h3>42<h2>Sessions</h2>
43 <p>Sessions provide details of the current user activity on the network</p>43<p>Sessions provide details of the current user activity on the network</p>
44 <p><img alt="SA Advanced Session" src="sa_advanced_sessions.png"44<p><img class="img-thumbnail" alt="Sessions" src="content/admin/sa_advanced_sessions.png"></p>
45 style="display: block; text-align: center; margin-left: auto; margin-right: auto"
46 width="805" height="208"></p>
47
48 <a name="Report_Fault" id="Report_Fault"></a><h3>Report Fault</h3>
49 <p>Simple instruaction on the collection of system error and report fault to <?php echo PRODUCT_NAME; ?> xsteamedia team.</p>
50
51 <a name="License" id="License"></a><h3>License Information</h3>
52 <p>The license page provides details of all the relevant licenses for the system.</p>
53 </blockquote>
54
55 <?php include('../../template/footer.php'); ?>
56 </body>
57</html>
58\ No newline at end of file45\ No newline at end of file
5946
=== added file 'server/manual/content/admin/api_displaygroups.php'
--- server/manual/content/admin/api_displaygroups.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_displaygroups.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,11 @@
1
2<h3> <span class="mw-headline" id="DisplayGroups"> DisplayGroups </span></h3>
3<ul><li> DisplayGroupList
4</li><li> DisplayGroupAdd
5</li><li> DisplayGroupEdit
6</li><li> DisplayGroupDelete
7</li><li> DisplayGroupMembersList
8</li><li> DisplayGroupMembersEdit
9</li><li> DisplayGroupUserGroupList
10</li><li> DisplayGroupUserGroupEdit
11</li></ul>
0\ No newline at end of file12\ No newline at end of file
113
=== added file 'server/manual/content/admin/api_displays.php'
--- server/manual/content/admin/api_displays.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_displays.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,8 @@
1<h3> <span class="mw-headline" id="Displays"> Displays </span></h3>
2<ul><li> DisplayList
3</li><li> DisplayEdit
4</li><li> DisplayRetire
5</li><li> DisplayDelete
6</li><li> DisplayUserGroupSecurity
7</li><li> DisplayUserGroupEdit
8</li></ul>
0\ No newline at end of file9\ No newline at end of file
110
=== added file 'server/manual/content/admin/api_layouts.php'
--- server/manual/content/admin/api_layouts.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_layouts.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,260 @@
1
2<h3> <span class="mw-headline" id="Layout"> Layout </span></h3>
3<ul><li> LayoutList
4</li><li> LayoutAdd
5</li><li> LayoutEdit
6</li><li> LayoutCopy
7</li><li> LayoutDelete
8</li><li> LayoutRetire
9</li><li> LayoutBackgroundList
10</li><li> LayoutBackgroundEdit
11</li><li> LayoutGetXlf
12</li><li> LayoutRegionList
13</li><li> LayoutRegionAdd
14</li><li> LayoutRegionEdit
15</li><li> LayoutRegionPosition
16</li><li> LayoutRegionTimelineList
17</li><li> LayoutRegionMediaAdd
18</li><li> LayoutRegionMediaReorder
19</li><li> LayoutRegionMediaDelete
20</li><li> LayoutRegionLibraryAdd
21</li><li> LayoutRegionMediaEdit
22</li><li> LayoutRegionMediaDetails
23</li></ul>
24
25
26<h2> <span class="mw-headline" id="Layout_2"> Layout </span></h2>
27<p>Transactions Related to Layouts
28</p>
29<h3> <span class="mw-headline" id="LayoutAdd"> LayoutAdd </span></h3>
30<p>Parameters
31</p>
32<ul><li> layout - The Name of the Layout
33</li><li> description - The Description of the Layout
34</li><li> permissionid - PermissionID for the layout
35</li><li> tags - Tags for the Layout
36</li><li> templateid - Template for the Layout
37</li></ul>
38<p>Response
39</p>
40<ul><li> layout - The ID of the layout
41</li></ul>
42<p>Errors
43</p>
44<ul><li> Code 1 - Access Denied
45</li><li> Code 25001 - Layout Name must be between 1 and 50 characters
46</li><li> Code 25002 - Description must be less than 254 characters
47</li><li> Code 25003 - All tags combined must be less that 254 characters
48</li><li> Code 25004 - User already has a layout with this name
49</li><li> Code 25005 - Database error adding layout
50</li><li> Code 25006 - Failed to Parse Tags
51</li><li> Code 25007 - Unable to update layout xml
52</li><li> Code 25008 - Unable to Delete layout on failure
53</li></ul>
54<h3> <span class="mw-headline" id="LayoutDelete"> LayoutDelete </span></h3>
55<p>Parameters
56</p>
57<ul><li> layoutId - The ID of the layout to delete
58</li></ul>
59<p>Response
60</p>
61<ul><li> success = true
62</li></ul>
63<p>Errors
64</p>
65<ul><li> Code 1 - Access Denied
66</li><li> Code 25008 - Unable to delete layout
67</li></ul>
68
69
70<h3> <span class="mw-headline" id="LayoutRegionList"> LayoutRegionList </span></h3>
71<p>Parameters
72</p>
73<ul><li> layoutId
74</li></ul>
75<p>Response
76</p><p>A list of region timelines. Each item will have the following values:
77</p>
78<ul><li> regionid
79</li><li> width
80</li><li> height
81</li><li> top
82</li><li> left
83</li><li> ownerid
84</li><li> permission_edit
85</li><li> permission_del
86</li><li> permission_update_permissions
87</li></ul>
88<p>Error Codes
89</p>
90<ul><li> 1 - Access Denied
91</li></ul>
92<h3> <span class="mw-headline" id="LayoutRegionAdd"> LayoutRegionAdd </span></h3>
93<p>Adds a new Region Timeline to a Layout
94</p><p>Parameters
95</p>
96<ul><li> layoutId
97</li><li> width
98</li><li> height
99</li><li> top
100</li><li> left
101</li><li> name
102</li></ul>
103<p>Response
104</p>
105<ul><li> success = true
106</li></ul>
107<p>Error Codes
108</p>
109<ul><li> 1 - Access Denied
110</li></ul>
111<h3> <span class="mw-headline" id="LayoutRegionEdit"> LayoutRegionEdit </span></h3>
112<p>Edits an existing Region Timeline on a Layout
113</p><p>Parameters
114</p>
115<ul><li> layoutId
116</li><li> regionId
117</li><li> width
118</li><li> height
119</li><li> top
120</li><li> left
121</li><li> name
122</li></ul>
123<p>Response
124</p>
125<ul><li> success = true
126</li></ul>
127<p>Error Codes
128</p>
129<ul><li> 1 - Access Denied
130</li></ul>
131<h3> <span class="mw-headline" id="LayoutRegionDelete"> LayoutRegionDelete </span></h3>
132<p>Deletes an existing Region Timeline on a Layout
133</p><p>Parameters
134</p>
135<ul><li> layoutId
136</li><li> regionId
137</li></ul>
138<p>Response
139</p>
140<ul><li> success = true
141</li></ul>
142<p>Error Codes
143</p>
144<ul><li> 1 - Access Denied
145</li></ul>
146<h2> <span class="mw-headline" id="Layout_Timelines"> Layout Timelines </span></h2>
147<p>Transactions related to layout timelines
148</p>
149<h3> <span class="mw-headline" id="LayoutRegionTimelineList"> LayoutRegionTimelineList </span></h3>
150<p>Parameters
151</p>
152<ul><li> layoutId
153</li><li> regionId
154</li></ul>
155<p>Response
156</p><p>A list of media items on a region timeline. Each item will have the following values:
157</p>
158<ul><li> mediaid
159</li><li> lkid
160</li><li> type
161</li><li> duration
162</li><li> permission_edit
163</li><li> permission_del
164</li><li> permission_update_duration
165</li><li> permission_update_permissions
166</li></ul>
167<p>Error Codes
168</p>
169<ul><li> 1 - Access Denied
170</li></ul>
171<h3> <span class="mw-headline" id="LayoutRegionMediaDetails"> LayoutRegionMediaDetails </span></h3>
172<p>Parameters
173</p>
174<ul><li> layoutId
175</li><li> regionId
176</li><li> mediaId
177</li></ul>
178<p>Response
179The XLF for the provided media id (XML format)
180</p><p>Error Codes
181</p>
182<ul><li> 1 - Access Denied
183</li></ul>
184<h3> <span class="mw-headline" id="LayoutRegionMediaAdd"> LayoutRegionMediaAdd </span></h3>
185<p>Parameters
186</p>
187<ul><li> layoutId
188</li><li> regionId
189</li><li> type (the type of media item being added)
190</li><li> xlf (the xibo layout file xml representing the media to add)
191</li></ul>
192<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.
193</p><p>Response
194</p>
195<pre> The Media ID added
196</pre>
197<p>Error Codes
198</p>
199<ul><li> 1 - Access Denied
200</li></ul>
201<h3> <span class="mw-headline" id="LayoutRegionLibraryAdd"> LayoutRegionLibraryAdd </span></h3>
202<p>Parameters
203</p>
204<ul><li> layoutId
205</li><li> regionId
206</li><li> mediaList (A list of media id's from the library that should be added to to supplied layout/region)
207</li></ul>
208<p>Response
209</p>
210<pre>success (true|error)
211</pre>
212<p>Error Codes
213</p>
214<ul><li> 1 - Access Denied
215</li></ul>
216<h3> <span class="mw-headline" id="LayoutRegionMediaEdit"> LayoutRegionMediaEdit </span></h3>
217<p>Parameters
218</p>
219<ul><li> layoutId
220</li><li> regionId
221</li><li> mediaId
222</li><li> xlf (the xibo layout file xml representing the media to add)
223</li></ul>
224<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.
225</p><p>Response
226</p>
227<pre>success (true|error)
228</pre>
229<p>Error Codes
230</p>
231<ul><li> 1 - Access Denied
232</li></ul>
233<h3> <span class="mw-headline" id="LayoutRegionMediaReorder"> LayoutRegionMediaReorder </span></h3>
234<p>Parameters
235</p>
236<ul><li> layoutId
237</li><li> regionId
238</li><li> mediaList (array('mediaid' =&gt; <i>, 'lkid' =&gt; 0))</i>
239</li></ul>
240<p>Response
241</p>
242<ul><li> success (true|false)
243</li></ul>
244<p>Error Codes
245</p>
246<ul><li> 1 - Access Denied
247</li></ul>
248<h3> <span class="mw-headline" id="LayoutRegionMediaDelete"> LayoutRegionMediaDelete </span></h3>
249<p>Parameters
250</p>
251<ul><li> layoutId
252</li><li> regionId
253</li><li> mediaId
254</li></ul>
255<p>Response
256success (true|error)
257</p><p>Error Codes
258</p>
259<ul><li> 1 - Access Denied
260</li></ul>
0\ No newline at end of file261\ No newline at end of file
1262
=== added file 'server/manual/content/admin/api_library.php'
--- server/manual/content/admin/api_library.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_library.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,132 @@
1
2<h3> <span class="mw-headline" id="Library"> Library </span></h3>
3<ul><li> LibraryMediaFileUpload
4</li><li> LibraryMediaFileRevise
5</li><li> LibraryMediaAdd
6</li><li> LibraryMediaEdit
7</li><li> LibraryMediaRetire
8</li><li> LibraryMediaDownload
9</li><li> LibraryMediaList
10</li></ul>
11
12<p>Transactions related to the Library
13</p>
14<h3> <span class="mw-headline" id="LibraryMediaFileUpload"> LibraryMediaFileUpload </span></h3>
15<p>Parameters
16</p>
17<ul><li> FileID - Null for 1st call
18</li><li> Chunk Offset
19</li><li> Check Sum (MD5)
20</li></ul>
21<p>Response
22</p>
23<ul><li> FileID
24</li><li> Offset (file length)
25</li></ul>
26<p>Errors
27</p>
28<ul><li> 1 - Access Denied
29</li><li> 2 - Payload Checksum doesn't match provided checksum
30</li><li> 3 - Unable to add File record to the Database
31</li><li> 4 - Library location does not exist
32</li><li> 5 - Unable to create file in the library location
33</li><li> 6 - Unable to write to file in the library location
34</li><li> 7 - File does not exist
35</li></ul>
36<h3> <span class="mw-headline" id="LibraryMediaAdd"> LibraryMediaAdd </span></h3>
37<p>Parameters
38</p>
39<ul><li> fileId
40</li><li> type (image|video|flash|ppt)
41</li><li> name
42</li><li> duration
43</li><li> fileName (including extension)
44</li></ul>
45<p>Response
46</p>
47<ul><li> MediaID
48</li></ul>
49<p>Errors
50</p>
51<ul><li> Code 1 - Access Denied
52</li><li> Code 10 - The Name cannot be longer than 100 characters
53</li><li> Code 11 - You must enter a duration
54</li><li> Code 12 - This user already owns media with this name
55</li><li> Code 13 - Error inserting media into the database
56</li><li> Code 14 - Cannot clean up after failure
57</li><li> Code 15 - Cannot store file
58</li><li> Code 16 - Cannot update stored file location
59</li><li> Code 18 - Invalid File Extension
60</li></ul>
61<h3> <span class="mw-headline" id="LibraryMediaEdit"> LibraryMediaEdit </span></h3>
62<p>Parameters
63</p>
64<ul><li> mediaId
65</li><li> name
66</li><li> duration
67</li></ul>
68<p>Response
69</p>
70<ul><li> success
71</li></ul>
72<p>Errors
73</p>
74<ul><li> 1 - Access Denied
75</li><li> 10 - The Name cannot be longer than 100 characters
76</li><li> 11 - You must enter a duration
77</li><li> 12 - This user already owns media with this name
78</li><li> 30 - Database failure updating media
79</li></ul>
80<h3> <span class="mw-headline" id="LibraryMediaFileRevise"> LibraryMediaFileRevise </span></h3>
81<p>Parameters
82</p>
83<ul><li> mediaId
84</li><li> fileId
85</li><li> fileName (including extension)
86</li></ul>
87<p>Response
88</p>
89<ul><li> mediaId
90</li></ul>
91<p>Errors
92</p>
93<ul><li> 1 - Access Denied
94</li><li> 13 - Error inserting media into the database
95</li><li> 14 - Cannot clean up after failure
96</li><li> 15 - Cannot store file
97</li><li> 16 - Cannot update stored file location
98</li><li> 18 - Invalid File Extension
99</li><li> 31 - Unable to get information about existing media record
100</li><li> 32 - Unable to update existing media record
101</li></ul>
102<h3> <span class="mw-headline" id="LibraryMediaRetire"> LibraryMediaRetire </span></h3>
103<p>Parameters
104</p>
105<ul><li> mediaId
106</li></ul>
107<p>Response
108</p>
109<ul><li> success
110</li></ul>
111<p>Error Codes
112</p>
113<ul><li> 1 - Access Denied
114</li><li> 19 - Error retiring media
115</li></ul>
116<h3> <span class="mw-headline" id="LibraryMediaDelete"> LibraryMediaDelete </span></h3>
117<p>Parameters
118</p>
119<ul><li> mediaId
120</li></ul>
121<p>Response
122</p>
123<ul><li> Success = True
124</li></ul>
125<p>Error Codes
126</p>
127<ul><li> 1 - Access Denied
128</li><li> 20 - Cannot check if media is assigned to layouts
129</li><li> 21 - Media is in use
130</li><li> 22 - Cannot locate stored files, unable to delete
131</li><li> 23 - Database error deleting media
132</li></ul>
0\ No newline at end of file133\ No newline at end of file
1134
=== added file 'server/manual/content/admin/api_methods.php'
--- server/manual/content/admin/api_methods.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_methods.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,144 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h2> <span class="mw-headline" id="Request_Formats"> Request Formats </span></h2>
24<p>Xibo supports the following request formats
25</p>
26<ul><li> REST
27</li></ul>
28<h3> <span class="mw-headline" id="REST"> REST </span></h3>
29<p>A simple POST or GET.
30</p><p>To request the Xibo Version method:
31</p>
32<pre>services.php?service=rest&amp;method=version
33</pre>
34<p>By default the response type is xml. To get a different response type send "&amp;response="
35</p><p><br />
36</p>
37<h2> <span class="mw-headline" id="Response_Types"> Response Types </span></h2>
38<p>Xibo supports the following response types
39</p>
40<ul><li> JSON (not implemented)
41</li><li> XML
42</li></ul>
43<h3> <span class="mw-headline" id="JSON"> JSON </span></h3>
44<p>To return a JSON object specify the response to be JSON (response="json")
45</p><p>A method call returns:
46</p>
47<pre>xiboApi({
48 "stat":"ok",
49 "response": {...}
50})
51</pre>
52<p><br />
53A failure call returns:
54</p>
55<pre>xiboApi({
56 "stat":"error",
57 "error": {
58 "code": "[error-code]",
59 "message": "[error-message]"
60 }
61})
62</pre>
63<h3> <span class="mw-headline" id="XML"> XML </span></h3>
64<p>A successful call returns this:
65</p>
66<pre>&lt;?xml version="1.0" encoding="utf-8"&#160;?&gt;
67&lt;rsp status="ok"&gt;
68 [xml-payload-here]
69&lt;/rsp&gt;
70</pre>
71<p>A failure call returns this:
72</p>
73<pre>&lt;?xml version="1.0" encoding="utf-8"&#160;?&gt;
74&lt;rsp status="error"&gt;
75 &lt;error code="[error-code]" message="[error-message]"
76&lt;/rsp&gt;
77</pre>
78<h2> <span class="mw-headline" id="Error_Codes">General Error Codes </span></h2>
79<p>A list of the potential error codes from each method call can be found with the documentation of that call.
80</p>
81
82<table border="1">
83<caption> Error code numbers and explanations
84</caption>
85<tr>
86<th>Error Code</th>
87<th>Explanation</th>
88<th>Use case
89</th></tr>
90<tr>
91<td> 1 </td>
92<td>Access Denied</td>
93<td>OAuth was successful, but Xibo denied access to that functionality for the user
94</td></tr>
95<tr>
96<td> 2 </td>
97<td>Checksum does not match with the generated checksum for the current payload</td>
98<td>Used when Uploading data or requesting file offset
99</td></tr>
100<tr>
101<td> 3 </td>
102<td>Unable to add File record to the Database</td>
103<td>
104</td></tr>
105<tr>
106<td> 4 </td>
107<td>Library location does not exist</td>
108<td>
109</td></tr>
110<tr>
111<td> 5 </td>
112<td>Unable to create file in the library location</td>
113<td>
114</td></tr>
115<tr>
116<td> 6 </td>
117<td>Unable to write to file in the library location</td>
118<td>
119</td></tr>
120<tr>
121<td> 7 </td>
122<td>File does not exist</td>
123<td>
124</td></tr>
125<tr>
126<td>10</td>
127<td>The Layout Name cannot be longer than 100 characters</td>
128<td>
129</td></tr>
130<tr>
131<td>11</td>
132<td>You must enter a duration</td>
133<td>
134</td></tr>
135<tr>
136<td>12</td>
137<td>The user already owns media with this name</td>
138<td>
139</td></tr>
140<tr>
141<td>13</td>
142<td>Error inserting media into the database</td>
143<td>
144</td></tr></table>
0\ No newline at end of file145\ No newline at end of file
1146
=== added file 'server/manual/content/admin/api_misc.php'
--- server/manual/content/admin/api_misc.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_misc.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,15 @@
1
2<h3> <span class="mw-headline" id="Other"> Other </span></h3>
3<ul><li> Version
4</li><li> ServerStatus
5</li></ul>
6
7
8<h3> <span class="mw-headline" id="Version"> Version </span></h3>
9<p>Response
10</p>
11<pre>&lt;?xml version="1.0"?&gt;
12&lt;rsp status="ok"&gt;
13 &lt;version app_ver="1.1.1" XlfVersion="1" XmdsVersion="2" DBVersion="22"/&gt;
14&lt;/rsp&gt;
15</pre>
0\ No newline at end of file16\ No newline at end of file
117
=== added file 'server/manual/content/admin/api_modules.php'
--- server/manual/content/admin/api_modules.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_modules.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,19 @@
1
2<h3> <span class="mw-headline" id="Modules"> Modules</span></h3>
3<ul><li> ModuleList
4</li></ul>
5
6
7<h3> <span class="mw-headline" id="ModuleList"> ModuleList </span></h3>
8<p>Response
9A list of modules with the following attributes:
10</p>
11<ul><li> module - The Module Name
12</li><li> layoutOnly- Whether the module is a library based module or only available for layouts
13</li><li> description - A description of the module
14</li><li> extensions - Extensions allowed by this module
15</li></ul>
16<p>Error Codes
17</p>
18<ul><li> 40 - Unable to query for modules
19</li></ul>
0\ No newline at end of file20\ No newline at end of file
121
=== added file 'server/manual/content/admin/api_oauth.php'
--- server/manual/content/admin/api_oauth.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_oauth.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,100 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1>Applications <small>API Authentication with oAuth</small></h1>
24<p>Any application that connects to the CMS API will require pre-registration and user authentication before it is allowed to connect.</p>
25
26<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>
27
28<p><img class="img-thumbnail" alt="API" src="content/admin/sa_api.png"></p>
29
30<p class="alert alert-danger">It is recommended to keep this information confidential and only accessible to super administrator users.</p>
31
32
33<h3 id="Registered_Applications">Registered Applications</h3>
34
35<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>
36
37<p><img class="img-thumbnail" alt="API" src="content/admin/api_register_application.png"></p>
38
39
40<h3 id="Callback_URL">Callback URL</h3>
41<p>The Callback URL will be automatically called by <?php echo PRODUCT_NAME; ?> on a completely Authorize request. It will be called regardless
42of whether the authorization was successful and will contain an OAuth message indicating the authorize success.</p>
43
44<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>
45
46<h2 id="oAuthLog">oAuth Log <small>Debugging authentication requests</small></h2>
47<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>
48
49<p><img class="img-thumbnail" alt="API" src="content/admin/api_oauth_log.png"></p>
50
51<h1 id="Authorization">Application Code <small>within the 3rd party application</small></h1>
52<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>
53
54<p>Service location: <code>http:://**YourCMS**/services.php</code></p>
55<p>OAuth methods:</p>
56
57<ul>
58 <li>XRDS: <code>services.php?xrds</code></li>
59 <li>Request Token: <code>services.php?service=oauth&amp;method=request_token</code></li>
60 <li>Authorize Token: <code>index.php?p=oauth&amp;q=authorize</code></li>
61 <li>Access Token: <code>services.php?service=oauth&amp;method=access_token</code></li>
62</ul>
63
64<h3 id="XRDS">XRDS</h3>
65<p>The service is also discoverable by XRDS. The schema is below: </p>
66
67<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
68 &lt;XRDS xmlns="xri://$xrds"&gt;
69 &lt;XRD xmlns:simple="<a href="http://xrds-simple.net/core/1.0" class="external free" title="http://xrds-simple.net/core/1.0"
70 rel="nofollow">http://xrds-simple.net/core/1.0</a>"
71 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;
72 &lt;Type&gt;xri://$xrds*simple&lt;/Type&gt;
73&lt;Service&gt;
74 &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;
75 &lt;URI&gt;#main&lt;/URI&gt;
76&lt;/Service&gt;
77&lt;Service&gt;
78 &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;
79 &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;
80 &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;
81 &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;
82 &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;
83 &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;
84&lt;/Service&gt;
85&lt;Service&gt;
86 &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;
87 &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;
88 &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;
89&lt;/Service&gt;
90&lt;Service&gt;
91 &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;
92 &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;
93 &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;
94 &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;
95 &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;
96 &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;
97&lt;/Service&gt;
98&lt;/XRD&gt;
99&lt;/XRDS&gt;
100</pre>
0\ No newline at end of file101\ No newline at end of file
1102
=== added file 'server/manual/content/admin/api_oauth_log.png'
2Binary 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 differ103Binary 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
=== renamed file 'server/manual/content/admin/api.php' => 'server/manual/content/admin/api_overview.php'
--- server/manual/content/admin/api.php 2013-05-01 19:24:35 +0000
+++ server/manual/content/admin/api_overview.php 2014-01-19 13:57:27 +0000
@@ -1,396 +1,25 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">1<?php
2<?php include('../../template.php'); ?>2/*
3<html>3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 <head>4 * Copyright (C) 2006-2013 Daniel Garner
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />5 *
6 <title><?php echo PRODUCT_NAME; ?> Documentation</title>6 * This file is part of Xibo.
7 <link rel=stylesheet type="text/css" href="../../css/doc.css">7 *
8 <meta http-equiv="Content-Type" content="text/html" />8 * Xibo is free software: you can redistribute it and/or modify
9 <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />9 * it under the terms of the GNU Affero General Public License as published by
10 <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." />10 * the Free Software Foundation, either version 3 of the License, or
1111 * any later version.
12 <link href="img/favicon.ico" rel="shortcut icon"/>12 *
13 <!-- Javascript Libraries -->13 * Xibo is distributed in the hope that it will be useful,
14 <script type="text/javascript" src="lib/jquery.pack.js"></script>14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>16 * GNU Affero General Public License for more details.
17 </head>17 *
18 <body>18 * You should have received a copy of the GNU Affero General Public License
19 <h1><?php echo PRODUCT_NAME; ?> API</h1>19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
2020 */
21 <p><img alt="SA <?php echo PRODUCT_NAME; ?> API" src="sa_api.png"21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22 style="display: block; text-align: center; margin-left: auto; margin-right: auto"22?>
23 width="805" height="149"></p>23<h1><?php echo PRODUCT_NAME; ?> API</h1>
2424
25 <a name="Authorization" id="Authorization"></a><h2>Authorization</h2>25<p>The CMS comes with an API for external applications to integrate with <?php echo PRODUCT_NAME; ?>.</p>
26 <p>OAuth will be used to provide authorization for access to the <?php echo PRODUCT_NAME; ?> API.</p>
27
28<blockquote>
29 <a name="OAuth_Information" id="OAuth_Information"></a><h3>OAuth Information</h3>
30 <p>Service location: services.php</p>
31 <p>OAuth methods:</p>
32
33 <ul>
34 <li> XRDS: services.php?xrds</li>
35 <li> Request Token: services.php?service=oauth&amp;method=request_token</li>
36 <li> Authorize Token: index.php?p=oauth&amp;q=authorize</li>
37 <li> Access Token: services.php?service=oauth&amp;method=access_token</li>
38 </ul>
39
40 <a name="XRDS" id="XRDS"></a><h3>XRDS</h3>
41 <pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
42 &lt;XRDS xmlns="xri://$xrds"&gt;
43 &lt;XRD xmlns:simple="<a href="http://xrds-simple.net/core/1.0" class="external free" title="http://xrds-simple.net/core/1.0"
44 rel="nofollow">http://xrds-simple.net/core/1.0</a>"
45 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;
46 &lt;Type&gt;xri://$xrds*simple&lt;/Type&gt;
47 &lt;Service&gt;
48 &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;
49 &lt;URI&gt;#main&lt;/URI&gt;
50 &lt;/Service&gt;
51 &lt;Service&gt;
52 &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;
53 &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;
54 &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;
55 &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;
56 &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;
57 &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;
58 &lt;/Service&gt;
59 &lt;Service&gt;
60 &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;
61 &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;
62 &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;
63 &lt;/Service&gt;
64 &lt;Service&gt;
65 &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;
66 &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;
67 &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;
68 &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;
69 &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;
70 &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;
71 &lt;/Service&gt;
72 &lt;/XRD&gt;
73 &lt;/XRDS&gt;
74 </pre>
75
76 <a name="Registered_Applications" id="Registered_Applications"></a><h3>Registered Applications</h3>
77 <p>You must obtain a consumer_key and consumer_secret for your application. Keys for "Supported" applications
78 will be shipped with <?php echo PRODUCT_NAME; ?> meaning no extra steps are required. If you have made your own application you will need
79 to register it with your <?php echo PRODUCT_NAME; ?> Server using the following address:</p>
80 <p>Register Service: index.php?p=oauth</p>
81 <p>You will be asked for:</p>
82 <ul>
83 <li>Your Name</li>
84 <li> Your email address</li>
85 <li> A URL for your Application</li>
86 <li> A Callback URL</li>
87 </ul>
88 <p><?php echo PRODUCT_NAME; ?> will (at a later date) have a UI for displaying all registered applications.</p>
89
90 <a name="Callback_URL" id="Callback_URL"></a><h3>Callback URL</h3>
91 <p>The Callback URL will be automatically called by <?php echo PRODUCT_NAME; ?> on a completely Authorize request. It will be called regardless
92 of whether the authorization was successful and will contain an OAuth message indicating the authorize success.</p>
93 <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>
94</blockquote>
95
96 <a name="Request_Formats" id="Request_Formats"></a><h2>Request Formats</h2>
97 <p><?php echo PRODUCT_NAME; ?> supports the following request formats</p>
98
99 <ul><li>REST</li></ul>
100
101<blockquote>
102 <a name="REST" id="REST"></a><h3>REST</h3>
103 <p>A simple POST or GET.</p>
104 <p>To request the <?php echo PRODUCT_NAME; ?> Version method:</p>
105 <pre>services.php?service=rest&amp;method=version</pre>
106 <p>By default the response type is xml. To get a different response type send "&amp;response="</p>
107</blockquote>
108
109 <a name="Response_Types" id="Response_Types"></a><h2>Response Types</h2>
110 <p><?php echo PRODUCT_NAME; ?> supports the following response types</p>
111
112 <blockquote>
113 <ul><li>JSON</li>
114 <li> XML</li></ul>
115
116 <a name="JSON" id="JSON"></a><h3>JSON</h3>
117 <p>To return a JSON object specify the response to be JSON (response="json")</p>
118 <p>A method call returns:</p>
119 <pre><?php echo PRODUCT_NAME; ?>Api({
120 "stat":"ok",
121 "response": {...}
122 })
123 </pre>
124
125 <p>A failure call returns:</p>
126 <pre><?php echo PRODUCT_NAME; ?>Api({
127 "stat":"error",
128 "error": {
129 "code": "[error-code]",
130 "message": "[error-message]"
131 }
132 })
133 </pre>
134
135 <a name="XML" id="XML"></a><h3>XML</h3>
136 <p>A successful call returns this:</p>
137 <pre>&lt;?xml version="1.0" encoding="utf-8"&nbsp;?&gt;
138 &lt;rsp status="ok"&gt;
139 [xml-payload-here]
140 &lt;/rsp&gt;
141 </pre>
142 <p>A failure call returns this:</p>
143 <pre>&lt;?xml version="1.0" encoding="utf-8"&nbsp;?&gt;
144 &lt;rsp status="error"&gt;
145 &lt;error code="[error-code]" message="[error-message]"
146 &lt;/rsp&gt;
147 </pre>
148</blockquote>
149
150 <a name="Error_Codes" id="Error_Codes"></a><h2>Error Codes</h2>
151 <p>A complete list of error codes can be found here: <a href="http://wiki.<?php echo PRODUCT_NAME; ?>.org.uk/wiki/Error_codes"
152 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>
153 <p>A list of the potential error codes from each method call can be found with the documentation of that call.</p>
154
155 <a name="Methods" id="Methods"></a><h2>Methods</h2>
156 <p>Transactions supported by <?php echo PRODUCT_NAME; ?></p>
157
158 <blockquote>
159 <a name="Displays" id="Displays"></a><h3>Displays</h3>
160 <ul><li>DisplayList</li>
161 <li>DisplayEdit</li>
162 <li>DisplayRetire</li>
163 <li>DisplayDelete</li>
164 <li>DisplayUserGroupSecurity</li>
165 <li>DisplayUserGroupEdit</li>
166 </ul>
167
168 <a name="DisplayGroups" id="DisplayGroups"></a><h3>DisplayGroups</h3>
169 <ul><li> DisplayGroupList</li>
170 <li> DisplayGroupAdd</li>
171 <li> DisplayGroupEdit</li>
172 <li> DisplayGroupDelete</li>
173 <li> DisplayGroupMembersList</li>
174 <li> DisplayGroupMembersEdit</li>
175 <li> DisplayGroupUserGroupList</li>
176 <li> DisplayGroupUserGroupEdit</li></ul>
177
178 <a name="Layout" id="Layout"></a><h3>Layout</h3>
179 <ul><li> LayoutList</li>
180 <li> LayoutAdd</li>
181 <li> LayoutEdit</li>
182 <li> LayoutCopy</li>
183 <li> LayoutDelete</li>
184 <li> LayoutRetire</li>
185 <li> LayoutBackgroundList</li>
186 <li> LayoutBackgroundEdit</li>
187 <li> LayoutGetXlf</li>
188 <li> LayoutRegionList</li>
189 <li> LayoutRegionAdd</li><li> LayoutRegionEdit</li>
190 <li> LayoutRegionPosition</li><li> LayoutRegionTimelineList</li>
191 <li> LayoutRegionMediaAdd</li>
192 <li> LayoutRegionMediaReorder</li>
193 <li> LayoutRegionMediaDelete</li>
194 <li> LayoutRegionLibraryAdd</li>
195 <li> LayoutRegionMediaEdit</li>
196 <li> LayoutRegionMediaDetails</li></ul>
197
198 <a name="Library" id="Library"></a><h3>Library</h3>
199 <ul><li> LibraryMediaFileUpload</li>
200 <li> LibraryMediaFileRevise</li>
201 <li> LibraryMediaAdd</li>
202 <li> LibraryMediaEdit</li>
203 <li> LibraryMediaRetire</li>
204 <li> LibraryMediaDownload</li>
205 <li> LibraryMediaList</li></ul>
206
207 <a name="Schedule" id="Schedule"></a><h3>Schedule</h3>
208 <ul><li> ScheduleList</li>
209 <li> ScheduleAdd</li>
210 <li> ScheduleEdit</li>
211 <li> ScheduleDelete</li></ul>
212
213 <a name="Template" id="Template"></a><h3>Template</h3>
214 <ul><li> TemplateList</li>
215 <li> TemplateDelete</li></ul>
216
217 <a name="Resolution" id="Resolution"></a><h3>Resolution</h3>
218 <ul><li> ResolutionList</li></ul>
219
220 <a name="Modules" id="Modules"></a><h3>Modules</h3>
221 <ul><li> ModuleList</li></ul>
222
223 <a name="Other" id="Other"></a><h3>Other</h3>
224 <ul><li> Version</li>
225 <li> ServerStatus</li></ul>
226 </blockquote>
227
228 <a name="Method_Calls" id="Method_Calls"></a><h2>Method Calls</h2>
229
230 <blockquote>
231 <a name="LayoutAdd" id="LayoutAdd"></a><h3>LayoutAdd</h3>
232 <p>Parameters</p>
233 <ul><li> layout - The Name of the Layout</li>
234 <li> description - The Description of the Layout</li>
235 <li> permissionid - PermissionID for the layout</li>
236 <li> tags - Tags for the Layout</li>
237 <li> templateid - Template for the Layout</li>
238 </ul>
239
240 <p>Response</p>
241 <ul><li> layout - The ID of the layout</li></ul>
242
243 <p>Errors</p>
244 <ul><li> Code 1 - Access Denied</li>
245 <li> Code 25001 - Layout Name must be between 1 and 50 characters</li>
246 <li> Code 25002 - Description must be less than 254 characters</li>
247 <li> Code 25003 - All tags combined must be less that 254 characters</li>
248 <li> Code 25004 - User already has a layout with this name</li>
249 <li> Code 25005 - Database error adding layout</li>
250 <li> Code 25006 - Failed to Parse Tags</li>
251 <li> Code 25007 - Unable to update layout xml</li>
252 <li> Code 25008 - Unable to Delete layout on failure</li>
253 </ul>
254
255 <a name="LayoutEdit" id="LayoutEdit"></a><h3> <span class="mw-headline"> LayoutEdit </span></h3>
256 <p>Not implemented</p>
257
258 <a name="LayoutUpdateXlf" id="LayoutUpdateXlf"></a><h3> <span class="mw-headline"> LayoutUpdateXlf </span></h3>
259 <p>Not Implemented</p>
260
261 <a name="LayoutBackground" id="LayoutBackground"></a><h3> <span class="mw-headline"> LayoutBackground </span></h3>
262 <p>Not Implemented</p>
263
264 <a name="LayoutDelete" id="LayoutDelete"></a><h3> <span class="mw-headline"> LayoutDelete </span></h3>
265 <p>Parameters</p>
266 <ul><li> layoutId - The ID of the layout to delete</li></ul>
267 <p>Response</p>
268 <ul><li> success = true</li></ul>
269 <p>Errors</p>
270 <ul><li> Code 1 - Access Denied</li><li> Code 25008 - Unable to delete layout</li></ul>
271
272 <a name="TemplateDelete" id="TemplateDelete"></a><h3> <span class="mw-headline"> TemplateDelete </span></h3>
273 <p>Parameters</p>
274 <ul><li> templateId - The ID of the template to delete</li></ul>
275 <p>Response</p>
276 <ul><li> success = true</li></ul>
277 <p>Errors</p>
278 <ul><li> Code 1 - Access Denied</li><li> Code 25105 - Unable to delete template</li></ul>
279
280 <a name="LibraryMediaFileUpload" id="LibraryMediaFileUpload"></a><h3> <span class="mw-headline"> LibraryMediaFileUpload </span></h3>
281 <p>Parameters</p>
282 <ul>
283 <li> FileID - Null for 1st call</li><li> Chunk Offset</li>
284 <li> Check Sum (MD5)</li></ul>
285 <p>Response</p>
286 <ul><li> FileID</li>
287 <li> Offset (file length)</li></ul>
288 <p>Errors</p>
289 <ul><li> 1 - Access Denied</li>
290 <li> 2 - Payload Checksum doesn't match provided checksum</li>
291 <li> 3 - Unable to add File record to the Database</li>
292 <li> 4 - Library location does not exist</li>
293 <li> 5 - Unable to create file in the library location</li>
294 <li> 6 - Unable to write to file in the library location</li>
295 <li> 7 - File does not exist</li></ul>
296
297 <a name="LibraryMediaAdd" id="LibraryMediaAdd"></a><h3> <span class="mw-headline"> LibraryMediaAdd </span></h3>
298 <p>Parameters </p>
299 <ul><li> fileId</li>
300 <li>type (image|video|flash|ppt)</li>
301 <li> name</li>
302 <li>duration</li>
303 <li> permissionId (1|2|3)</li>
304 <li> fileName (including extension)</li></ul>
305 <p>Response</p>
306 <ul><li> MediaID</li></ul>
307 <p>Errors</p>
308 <ul><li> Code 1 - Access Denied</li>
309 <li> Code 10 - The Name cannot be longer than 100 characters</li>
310 <li> Code 11 - You must enter a duration</li>
311 <li> Code 12 - This user already owns media with this name</li>
312 <li> Code 13 - Error inserting media into the database</li>
313 <li> Code 14 - Cannot clean up after failure</li>
314 <li> Code 15 - Cannot store file</li>
315 <li> Code 16 - Cannot update stored file location</li>
316 <li> Code 18 - Invalid File Extension</li></ul>
317
318 <a name="LibraryMediaEdit" id="LibraryMediaEdit"></a><h3> <span class="mw-headline"> LibraryMediaEdit </span></h3>
319 <p>Parameters</p>
320 <ul><li> mediaId</li>
321 <li> name</li>
322 <li>duration</li>
323 <li> permissionId (1|2|3)</li>
324 </ul>
325 <p>Response</p>
326 <ul><li> success</li></ul>
327 <p>Errors</p>
328 <ul><li> 1 - Access Denied</li>
329 <li> 10 - The Name cannot be longer than 100 characters</li>
330 <li> 11 - You must enter a duration</li>
331 <li> 12 - This user already owns media with this name</li>
332 <li> 30 - Database failure updating media</li>
333 </ul>
334
335 <a name="LibraryMediaFileRevise" id="LibraryMediaFileRevise"></a><h3> <span class="mw-headline"> LibraryMediaFileRevise </span></h3>
336 <p>Parameters</p>
337 <ul><li> mediaId</li>
338 <li> fileId</li>
339 <li> fileName (including extension)</li></ul>
340 <p>Response</p>
341 <ul><li> mediaId</li></ul>
342 <p>Errors</p>
343 <ul><li> 1 - Access Denied</li>
344 <li> 13 - Error inserting media into the database</li>
345 <li> 14 - Cannot clean up after failure</li>
346 <li> 15 - Cannot store file</li>
347 <li> 16 - Cannot update stored file location</li>
348 <li> 18 - Invalid File Extension</li>
349 <li> 31 - Unable to get information about existing media record</li>
350 <li> 32 - Unable to update existing media record</li>
351 </ul>
352
353 <a name="LibraryMediaRetire" id="LibraryMediaRetire"></a><h3> <span class="mw-headline"> LibraryMediaRetire </span></h3>
354 <p>Parameters</p>
355 <ul><li> mediaId</li></ul>
356 <p>Response</p>
357 <ul><li> success</li></ul>
358 <p>Error Codes</p>
359 <ul><li> 1 - Access Denied</li>
360 <li> 19 - Error retiring media</li></ul>
361
362 <a name="LibraryMediaDelete" id="LibraryMediaDelete"></a><h3> <span class="mw-headline"> LibraryMediaDelete </span></h3>
363 <p>Parameters</p>
364 <ul><li> mediaId</li></ul>
365 <p>Response</p>
366 <ul><li> Success = True</li></ul>
367 <p>Error Codes</p>
368 <ul><li> 1 - Access Denied</li>
369 <li> 20 - Cannot check if media is assigned to layouts</li>
370 <li> 21 - Media is in use</li>
371 <li> 22 - Cannot locate stored files, unable to delete</li>
372 <li> 23 - Database error deleting media</li>
373 </ul>
374
375 <a name="ModuleList" id="ModuleList"></a><h3> <span class="mw-headline"> ModuleList </span></h3>
376 <p>Response A list of modules with the following attributes:</p>
377 <ul><li> module - The Module Name</li>
378 <li> layoutOnly- Whether the module is a library based module or only available for layouts</li>
379 <li> description - A description of the module</li>
380 <li> extensions - Extensions allowed by this module</li>
381 </ul>
382 <p>Error Codes</p>
383 <ul><li> 40 - Unable to query for modules</li></ul>
384
385 <a name="Version" id="Version"></a><h3> <span class="mw-headline"> Version </span></h3>
386 <p>Response</p>
387 <pre>&lt;?xml version="1.0"?&gt;
388 &lt;rsp status="ok"&gt;
389 &lt;version app_ver="1.1.1" XlfVersion="1" XmdsVersion="2" DBVersion="22"/&gt;
390 &lt;/rsp&gt;
391 </pre>
392 </blockquote>
393
394 <?php include('../../template/footer.php'); ?>
395 </body>
396</html>
39726
=== added file 'server/manual/content/admin/api_register_application.png'
398Binary 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 differ27Binary 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
=== added file 'server/manual/content/admin/api_resolution.php'
--- server/manual/content/admin/api_resolution.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_resolution.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,4 @@
1
2<h3> <span class="mw-headline" id="Resolution"> Resolution </span></h3>
3<ul><li> ResolutionList
4</li></ul>
0\ No newline at end of file5\ No newline at end of file
16
=== added file 'server/manual/content/admin/api_schedule.php'
--- server/manual/content/admin/api_schedule.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_schedule.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,7 @@
1
2<h3> <span class="mw-headline" id="Schedule"> Schedule </span></h3>
3<ul><li> ScheduleList
4</li><li> ScheduleAdd
5</li><li> ScheduleEdit
6</li><li> ScheduleDelete
7</li></ul>
0\ No newline at end of file8\ No newline at end of file
19
=== added file 'server/manual/content/admin/api_template.php'
--- server/manual/content/admin/api_template.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/api_template.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,21 @@
1
2<h3> <span class="mw-headline" id="Template"> Template </span></h3>
3<ul><li> TemplateList
4</li><li> TemplateDelete
5</li></ul>
6
7
8<h3> <span class="mw-headline" id="TemplateDelete"> TemplateDelete </span></h3>
9<p>Parameters
10</p>
11<ul><li> templateId - The ID of the template to delete
12</li></ul>
13<p>Response
14</p>
15<ul><li> success = true
16</li></ul>
17<p>Errors
18</p>
19<ul><li> Code 1 - Access Denied
20</li><li> Code 25105 - Unable to delete template
21</li></ul>
0\ No newline at end of file22\ No newline at end of file
123
=== added file 'server/manual/content/admin/blueprints.php'
--- server/manual/content/admin/blueprints.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/blueprints.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,24 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1>Blueprints</h1>
24<p>For the time being blueprints will be managed on the <a href="https://blueprints.launchpad.net/xibo">Launchpad Project Page</a>.</p>
0\ No newline at end of file25\ No newline at end of file
126
=== added file 'server/manual/content/admin/contributing.php'
--- server/manual/content/admin/contributing.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/contributing.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,167 @@
1<table id="toc" class="toc"><tr><td><div id="toctitle"><h1>Contributing <small>How can you help?</small></h1></div>
2<ul>
3<li class="toclevel-1 tocsection-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
4<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>
5<li class="toclevel-1 tocsection-3"><a href="#Licensing"><span class="tocnumber">3</span> <span class="toctext">Licensing</span></a></li>
6<li class="toclevel-1 tocsection-4"><a href="#Answering_Questions"><span class="tocnumber">4</span> <span class="toctext">Answering Questions</span></a></li>
7<li class="toclevel-1 tocsection-5"><a href="#Reporting_Bugs"><span class="tocnumber">5</span> <span class="toctext">Reporting Bugs</span></a></li>
8<li class="toclevel-1 tocsection-6"><a href="#Suggest_Improvements"><span class="tocnumber">6</span> <span class="toctext">Suggest Improvements</span></a></li>
9<li class="toclevel-1 tocsection-7"><a href="#Translate_Xibo"><span class="tocnumber">7</span> <span class="toctext">Translate Xibo</span></a></li>
10<li class="toclevel-1 tocsection-8"><a href="#Triage_Bugs"><span class="tocnumber">8</span> <span class="toctext">Triage Bugs</span></a></li>
11<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>
12<li class="toclevel-1 tocsection-10"><a href="#Documentation"><span class="tocnumber">10</span> <span class="toctext">Documentation</span></a></li>
13<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>
14<ul>
15<li class="toclevel-2 tocsection-12"><a href="#Development_Overview"><span class="tocnumber">11.1</span> <span class="toctext">Development Overview</span></a></li>
16<li class="toclevel-2 tocsection-13"><a href="#Important_Links"><span class="tocnumber">11.2</span> <span class="toctext">Important Links</span></a></li>
17<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>
18<ul>
19<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>
20<li class="toclevel-3 tocsection-16"><a href="#Bugs"><span class="tocnumber">11.3.2</span> <span class="toctext">Bugs</span></a></li>
21</ul>
22</li>
23</ul>
24</li>
25<li class="toclevel-1 tocsection-17"><a href="#Translatability"><span class="tocnumber">12</span> <span class="toctext">Translatability</span></a></li>
26<li class="toclevel-1 tocsection-18"><a href="#Coding_Style_Guide"><span class="tocnumber">13</span> <span class="toctext">Coding Style Guide</span></a>
27<ul>
28<li class="toclevel-2 tocsection-19"><a href="#Server"><span class="tocnumber">13.1</span> <span class="toctext">Server</span></a></li>
29<li class="toclevel-2 tocsection-20"><a href="#Notes"><span class="tocnumber">13.2</span> <span class="toctext">Notes</span></a></li>
30</ul>
31</li>
32</ul>
33</td></tr></table>
34<h2> <span class="mw-headline" id="Introduction">Introduction</span></h2>
35<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.
36</p><p>We are always delighted to accept contributions from others and we would always encourage this.
37</p>
38<h2> <span class="mw-headline" id="Ways_to_Contribute">Ways to Contribute</span></h2>
39<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.
40</p>
41<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>
42</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)
43</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>
44</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>
45</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>
46</li><li>Test unstable development releases and report bugs
47</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>
48</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>
49</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>
50</li></ul>
51<p>Each of these areas is covered in more detail below:
52</p>
53<h2> <span class="mw-headline" id="Licensing">Licensing</span></h2>
54<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).
55</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.
56</p><p><br />
57</p>
58<h2> <span class="mw-headline" id="Answering_Questions">Answering Questions</span></h2>
59<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.
60</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.
61</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!
62</p>
63<h2> <span class="mw-headline" id="Reporting_Bugs">Reporting Bugs</span></h2>
64<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.
65</p><p>If you've found a new bug, please let us know about it!
66</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.
67</p>
68<h2> <span class="mw-headline" id="Suggest_Improvements">Suggest Improvements</span></h2>
69<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.
70</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.
71</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.
72</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.
73</p>
74<h2> <span class="mw-headline" id="Translate_Xibo">Translate Xibo</span></h2>
75<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>
76</p>
77<h2> <span class="mw-headline" id="Triage_Bugs">Triage Bugs</span></h2>
78<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.
79</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.
80</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.
81</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".
82If 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.
83If 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:
84</p>
85<ul><li>Low - Confirmed bugs with workaround available
86</li><li>Medium - Confirmed bugs with no workaround that does not significantly impact upon operation of the whole system
87</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.
88</li><li>Critical - Confirmed bugs with no workaround that make the whole system inoperable.
89</li></ul>
90<h2> <span class="mw-headline" id="Test_Unstable_Releases">Test Unstable Releases</span></h2>
91<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.
92</p>
93<h2> <span class="mw-headline" id="Documentation">Documentation</span></h2>
94<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.
95</p><p><br />
96</p>
97<h2> <span class="mw-headline" id="Fix_Bugs_.2F_Implement_Blueprints">Fix Bugs / Implement Blueprints</span></h2>
98<h3> <span class="mw-headline" id="Development_Overview">Development Overview</span></h3>
99<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.
100</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.
101</p>
102<h3> <span class="mw-headline" id="Important_Links">Important Links</span></h3>
103<ul><li>Xibo Homepage: <a rel="nofollow" class="external free" href="http://www.xibo.org.uk">http://www.xibo.org.uk</a>
104</li><li>Launchpad Project Page: <a rel="nofollow" class="external free" href="https://launchpad.net/xibo">https://launchpad.net/xibo</a>
105</li><li>Developer Wiki: <a rel="nofollow" class="external free" href="http://wiki.xibo.org.uk">http://wiki.xibo.org.uk</a>
106</li></ul>
107<h3> <span class="mw-headline" id="Development_Process_.28how_to_contribute.29">Development Process (how to contribute)</span></h3>
108<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.
109</p>
110<h4> <span class="mw-headline" id="Blueprints_.28new_features.29">Blueprints (new features)</span></h4>
111<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.
112</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.
113</p><p><b>Note:</b> Blueprints will almost always be for the "Future series".
114We would suggest you call your branch "lp:~username/xibo/blueprint-title"
115</p>
116<h4> <span class="mw-headline" id="Bugs">Bugs</span></h4>
117<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.
118</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).
119</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#"
120</p><p><i>Check list</i>
121</p>
122<pre>1. Register a bug report or blueprint in Launchpad
1232. For a blueprint create a specification document - for a bug help triage it
1243. Get your blueprint approved / bug confirmed and assigned to you
1254. Branch the code your blueprint/bug relates to
1265. Implement the one blueprint / bug and push the branch back to Launchpad
1276. Does the code meet the coding style guide?
1287. Does the code use the appropriate library objects (Config, Kit, ResponseManager, db etc)
1298. Does the code output translatable strings (use the library function)
1309. Create a merge request
131</pre>
132<p>10. Wait for your code to be reviewed and merged!!
13311. Points 1-3 may take some time to get checked off - but it is worth it!
134</p>
135<h2> <span class="mw-headline" id="Translatability">Translatability</span></h2>
136<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.
137</p>
138<h2> <span class="mw-headline" id="Coding_Style_Guide">Coding Style Guide</span></h2>
139<h4> <span class="mw-headline" id="Server">Server</span></h4>
140<p>Blocks are expressed as follows:
141</p>
142<pre>class Example
143{
144 function registerDisplay(var)
145 {
146 print "OK";
147 }
148}
149
150$example = new Example();
151</pre>
152<p>Comments are good. Please add adequate comments to describe your code.
153If 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>
154</p><p>Xibo is very object oriented. Please make sure you code in an object-oriented style where appropriate.
155</p>
156<h3> <span class="mw-headline" id="Notes">Notes</span></h3>
157<p>Due to the time pressures on Alex and myself we are unlikely to accept any code changes that fall into the below categories:
158</p>
159<ul><li> Do not have an approved blueprint or associated bug
160</li><li> Have more than one blueprint or associated bug (without prior agreement)
161</li><li> Are not released under an appropriate license (see above)
162</li></ul>
163<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!
164</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.
165</p><p>It is also the method the Xibo Maintainers (Alex and I) develop and bug fix Xibo!!
166</p><p>We look forward to your contributions!
167</p>
0\ No newline at end of file168\ No newline at end of file
1169
=== added file 'server/manual/content/admin/contributing_fr.php'
--- server/manual/content/admin/contributing_fr.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/contributing_fr.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,166 @@
1<p>Merci de vous référer aux notes ci-dessous lors de vos réflexions ou contributions au projet Xibo
2</p>
3<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
4<ul>
5<li class="toclevel-1 tocsection-1"><a href="#Introduction"><span class="tocnumber">1</span> <span class="toctext">Introduction</span></a></li>
6<li class="toclevel-1 tocsection-2"><a href="#Comment_contribuer"><span class="tocnumber">2</span> <span class="toctext">Comment contribuer</span></a></li>
7<li class="toclevel-1 tocsection-3"><a href="#Licence"><span class="tocnumber">3</span> <span class="toctext">Licence</span></a></li>
8<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>
9<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>
10<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>
11<li class="toclevel-1 tocsection-7"><a href="#Traduire_Xibo"><span class="tocnumber">7</span> <span class="toctext">Traduire Xibo</span></a></li>
12<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>
13<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>
14<li class="toclevel-1 tocsection-10"><a href="#Documentation"><span class="tocnumber">10</span> <span class="toctext">Documentation</span></a></li>
15<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>
16<ul>
17<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>
18<li class="toclevel-2 tocsection-13"><a href="#Liens_importants"><span class="tocnumber">11.2</span> <span class="toctext">Liens importants</span></a></li>
19<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>
20<ul>
21<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>
22<li class="toclevel-3 tocsection-16"><a href="#Bugs"><span class="tocnumber">11.3.2</span> <span class="toctext">Bugs</span></a></li>
23</ul>
24</li>
25</ul>
26</li>
27<li class="toclevel-1 tocsection-17"><a href="#Traduction"><span class="tocnumber">12</span> <span class="toctext">Traduction</span></a></li>
28<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>
29<ul>
30<li class="toclevel-2 tocsection-19"><a href="#Serveur"><span class="tocnumber">13.1</span> <span class="toctext">Serveur</span></a></li>
31<li class="toclevel-2 tocsection-20"><a href="#Notes"><span class="tocnumber">13.2</span> <span class="toctext">Notes</span></a></li>
32</ul>
33</li>
34</ul>
35</td></tr></table>
36<h2> <span class="mw-headline" id="Introduction">Introduction</span></h2>
37<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.
38</p><p>Nous sommes toujours ravis d'accepter des contributions d'autres personnes et nous encourageons cela.
39</p>
40<h2> <span class="mw-headline" id="Comment_contribuer">Comment contribuer</span></h2>
41<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;!
42Voici les principaux moyens, énumérés dans l'ordre croissant de difficulté&#160;:
43</p>
44<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>
45</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)
46</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>
47</li><li>Traduire Xibo dans d'autres Langues: https&#160;://translations.launchpad.net/xibo
48</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>
49</li><li>Tester les versions de développement instables et reporter les bugs
50</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>
51</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>
52</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>
53</li></ul>
54<p>Chacun de ces aspects est traité plus en détail ci-dessous&#160;:
55</p>
56<h2> <span class="mw-headline" id="Licence">Licence</span></h2>
57<p>Xibo est publié sous licence AGPL v3. La documentation de Xibo est sous Creative Commons Attribution ShareAlike License.
58Les traductions de Xibo sont par le biais de Launchpad sous licence BSD (révisé, sans clause de publicité).
59</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.
60</p>
61<h2> <span class="mw-headline" id="Questions_.2F_R.C3.A9ponses">Questions / Réponses</span></h2>
62<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.
63</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.
64</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;!
65</p>
66<h2> <span class="mw-headline" id="Report_des_bugs">Report des bugs</span></h2>
67<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.
68</p><p>Si vous avez trouvé un nouveau bug, merci de nous le faire savoir&#160;!
69</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é.
70</p>
71<h2> <span class="mw-headline" id="Sugg.C3.A9rer_des_am.C3.A9liorations">Suggérer des améliorations</span></h2>
72<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.
73</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.
74</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.
75</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.
76</p>
77<h2> <span class="mw-headline" id="Traduire_Xibo">Traduire Xibo</span></h2>
78<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>
79</p>
80<h2> <span class="mw-headline" id="Triage_des_bugs">Triage des bugs</span></h2>
81<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.
82</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.
83</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.
84</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.
85Si 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:
86</p>
87<ul><li> Low - Bugs confirmés avec une solution disponible
88</li><li> Middle - Bugs confirmés, sans solution disponible, sans impact significatif sur le fonctionnement de l'ensemble du système
89</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.
90</li><li> Critical - Bugs confirmés, sans solution disponible et qui rend l'ensemble du système inutilisable.
91</li></ul>
92<h2> <span class="mw-headline" id="Test_des_versions_instables">Test des versions instables</span></h2>
93<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.
94</p>
95<h2> <span class="mw-headline" id="Documentation">Documentation</span></h2>
96<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.
97</p>
98<h2> <span class="mw-headline" id="Correction_de_Bugs_.2F_Impl.C3.A9mentation_Blueprints">Correction de Bugs / Implémentation Blueprints</span></h2>
99<h3> <span class="mw-headline" id="Vue_d.27ensemble_du_d.C3.A9veloppement">Vue d'ensemble du développement</span></h3>
100<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.
101</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.
102</p>
103<h3> <span class="mw-headline" id="Liens_importants">Liens importants</span></h3>
104<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>
105</li><li> Page du project sur Launchpad&#160;: <a rel="nofollow" class="external free" href="https://launchpad.net/xibo">https://launchpad.net/xibo</a>
106</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>
107</li></ul>
108<h3> <span class="mw-headline" id="Processus_de_d.C3.A9veloppement_.28comment_contribuer.29">Processus de développement (comment contribuer)</span></h3>
109<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.
110</p>
111<h4> <span class="mw-headline" id="Blueprints_.28nouvelles_fonctionnalit.C3.A9s.29">Blueprints (nouvelles fonctionnalités)</span></h4>
112<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.
113</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.
114</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"
115</p>
116<h4> <span class="mw-headline" id="Bugs">Bugs</span></h4>
117<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.
118</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).
119</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#"
120</p><p><i>Check list</i>
121</p>
122<pre>1. Enregistrer un rapport de bug ou une nouvelle fonctionnalité Blueprint in Launchpad
1232. Pour une fonctionnalité Blueprint, créer une spécifiation détaillée, pour un bug aider au triage de celui-ci
1243. Obtenez l'approbation de votre fonctionnalité Blueprint / confirmation de votre bug et vous l'assignez
1254. Récupérer le code la branche correspondante à la fonctionnalité Blueprint / de votre bug
1265. Implémenter la fonctionnalité Blueprint / corriger le bug et publié le code dans une nouvelle branche sur Launchpad
1276. Est-ce que le code correspond au style du code Xibo indiqué dans le guide
1287. Est-ce que le code utilise corectement les libraries d'objets Xibo (Config, Kit, ResponseManager, DB, etc)
1298. Es-ce que le code affiche bien les variables (utilisation des librairies de fonctions)
1309. Faire une demande de fusion du code
13110. Attendre que votre code soit relu et fusionné&#160;!
13211. Les points à 1-3 peuvent mettre du temps à être complété, mais cela en vaut la peine&#160;!
133</pre>
134<h2> <span class="mw-headline" id="Traduction">Traduction</span></h2>
135<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.
136</p>
137<h2> <span class="mw-headline" id="Guide_pour_le_code_source">Guide pour le code source</span></h2>
138<h4> <span class="mw-headline" id="Serveur">Serveur</span></h4>
139<p>Les blocs sont exprimés comme suit:
140</p>
141<pre>class Example
142{
143 function registerDisplay(var)
144 {
145 print "OK";
146 }
147}
148
149$example = new Example();
150</pre>
151<p>Les commentaires sont utiles. Merci d'ajouter des commentaires adéquats pour décrire votre code.
152Si 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>
153</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.
154</p>
155<h3> <span class="mw-headline" id="Notes">Notes</span></h3>
156<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:
157</p>
158<ul><li> Ne pas avoir une fonctionnalité Blueprint ou bug attribué
159</li><li> Avoir plus d'une fonctionnalité Blueprint ou bug en même temps (sans accord préalable)
160</li><li> Ne pas avoir une licence appropriée (voir ci-dessus)
161</li></ul>
162<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;!
163</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.
164</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!
165</p><p>Nous attendons vos contributions!
166</p>
0\ No newline at end of file167\ No newline at end of file
1168
=== added file 'server/manual/content/admin/database_model.php'
--- server/manual/content/admin/database_model.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/database_model.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,26 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1>Database Model</h1>
24
25<h2>EER</h2>
26<p><a href="content/admin/eer_1.4.png"><img class="img-thumbnail" alt="EER" src="content/admin/eer_1.4.png"></a></p>
0\ No newline at end of file27\ No newline at end of file
128
=== added file 'server/manual/content/admin/display_action_menu.png'
2Binary 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 differ29Binary 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
=== added file 'server/manual/content/admin/display_wakeonlan.php'
--- server/manual/content/admin/display_wakeonlan.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/display_wakeonlan.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,78 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1>Wake On LAN (WOL)</h1>
24
25<p>This section will look at the Wake On Lan (WOL) feature of <?php echo PRODUCT_NAME; ?>.</p>
26
27<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
28generally not have the <?php echo PRODUCT_NAME; ?> display screen solution on unnecessarily.</p>
29
30<p>The WOL function is intended to be used for display clients that are addressable by the server, by this we mean that there
31has to be a clear addressable network route between the server and the client that needs to wake up. It is also required that
32WOL is turned on in any necessary settings on the client PC.</p>
33
34<p>The WOL configuration happens on a display by display basis from the Edit Display form. Each display has new settings for:</p>
35<dl>
36 <dt>Enable Wake On LAN</dt>
37 <dd>Turn WOL on/off for the display</dd>
38</dl>
39<dl>
40 <dt>Wake On LAN Time</dt>
41 <dd>Specify a time for this display to wake, using the 24 hr clock</dd>
42</dl>
43<dl>
44 <dt>BroadCast Address</dt>
45 <dd>The BroadCast address of the client, if unknown use the IP address and fill in the CIDR field</dd>
46</dl>
47<dl>
48 <dt>Wake On LAN Secure On</dt>
49 <dd>The SecureOn password for the client, if supported</dd>
50</dl>
51<dl>
52 <dt>Wake On LAN CIDR</dt>
53 <dd>The CIDR subnet mask, if the BroadCast Address is unknown</dd>
54</dl>
55
56<p>Once the display has these settings it can be woken up in 2 ways:</p>
57
58
59<h3>Wake On LAN Now</h3>
60
61<p><img class="img-thumbnail" alt="Send WOL Form" src="content/admin/sa_display_wol.png"></p>
62
63<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
64a form for confirmation, once this is pressed the command is send immediately to the client.</p>
65
66<h3>Wake On LAN Time - Maintenance Script</h3>
67<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
68a "Wake On LAN Time" specified. It will only send the command once, as the time window is passed.</p>
69
70<p>The maintenance script has to be running for this to work correctly. Maintenance instructions can be found on the
71<a title="Maintenance Instructions" href="index.php?toc=getting_started&p=admin/settings#Maintenance">Settings -> Maintenance</a>.</p>
72
73<h3>Putting the client to sleep</h3>
74<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
75will look at an option built into <?php echo PRODUCT_NAME; ?>. The "Shell Command" module.</p>
76
77<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,
78or on a different subnet.</p>
0\ No newline at end of file79\ No newline at end of file
180
=== added file 'server/manual/content/admin/displaygroups.php'
--- server/manual/content/admin/displaygroups.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/displaygroups.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,53 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1 id="Display_Group">Display Groups</h1>
24
25<p>Display Groups help to easily schedule layouts and campaigns to multiple displays at once.</p>
26
27<p><img class="img-thumbnail" alt="Display Group Administration" src="content/admin/sa_display_groups.png"></p>
28
29
30<h3 id="Add_Group">Adding a Group</h3>
31<p>Click the navigation menu "Displays > Display Groups" to go to Display Groups page. To add a group click on
32the "Add Group" button found at the top of the Displays list.</p>
33
34<h3 id="Edit_Group">Edit a Group</h3>
35<p>To edit a group click on the edit button on the row belonging to the group you wish to edit.</p>
36
37<p><strong>Name</strong> is a unique identifier for a group.</p>
38
39<h3 id="Delete_Group">Delete a Group</h3>
40<p>To delete a group click on the delete button on the row belonging to the group you wish to delete.</p>
41
42<h3 id="Group_Component_Security">Group / Component Security</h3>
43<p>When editing a group the components that are assigned / unassigned to that group are show. These
44determine the permissions of the users belonging to that group.</p>
45
46<p>You should always have at least one group.</p>
47
48<h3 id="Group_Members">Group Members</h3>
49
50<p>Click on "Group Members" load the "Manage Membership" form for editing. All the Displays on the system will be shown.
51You can assign or remove group members.</p>
52
53<p><img class="img-thumbnail" alt="Display Group Members" src="content/admin/sa_display_group_members.png"></p>
0\ No newline at end of file54\ No newline at end of file
155
=== modified file 'server/manual/content/admin/displays.php'
--- server/manual/content/admin/displays.php 2013-05-01 19:24:35 +0000
+++ server/manual/content/admin/displays.php 2014-01-19 13:57:27 +0000
@@ -1,189 +1,163 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">1<?php
2<?php include('../../template.php'); ?>2/*
3<html>3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 <head>4 * Copyright (C) 2006-2013 Daniel Garner
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />5 *
6 <title><?php echo PRODUCT_NAME; ?> Documentation</title>6 * This file is part of Xibo.
7 <link rel=stylesheet type="text/css" href="../../css/doc.css">7 *
8 <meta http-equiv="Content-Type" content="text/html" />8 * Xibo is free software: you can redistribute it and/or modify
9 <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />9 * it under the terms of the GNU Affero General Public License as published by
10 <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." />10 * the Free Software Foundation, either version 3 of the License, or
1111 * any later version.
12 <link href="img/favicon.ico" rel="shortcut icon"/>12 *
13 <!-- Javascript Libraries -->13 * Xibo is distributed in the hope that it will be useful,
14 <script type="text/javascript" src="lib/jquery.pack.js"></script>14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>16 * GNU Affero General Public License for more details.
17 </head>17 *
18 <body>18 * You should have received a copy of the GNU Affero General Public License
19 <a name="Displays" id="Displays"></a><h1>Displays</h1>19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 20 */
21 <p>Displays are how you output your layouts with <?php echo PRODUCT_NAME; ?>.</p>21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22 <p>Each client application registered with the server creates a new display record in <?php echo PRODUCT_NAME; ?> server. You can then choose a 22?>
23 default layout for that display, schedule further layouts on the display and control who has access to the display, 23<h1 id="Displays">Displays</h1>
24 as well as monitor its status from the Display Management page.</p>24
25 25<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>
26 <p>The Display Manamagement page is accessed from the Nagivation Bar by clicking on "Displays > Displays"</p>26
2727<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>
28 <p><img alt="SA Displays" src="sa_displays.png"28
29 style="display: block; text-align: center; margin-left: auto; margin-right: auto"29<p><img class="img-thumbnail" alt="Display Administration" src="content/admin/sa_displays.png"></p>
30 width="820" height="262"></p>30
31 <blockquote> 31<p>The display administration table gives an easy to understand overview of each display registered in the CMS.</p>
32 <a name="Display_Edit" id="Display_Edit"></a><h3>Display Edit</h3>32
33 <p>After a new display client is registered with <?php echo PRODUCT_NAME; ?> server, you need to perform Edit granting license to the client 33<dl class="dl-horizontal">
34 to work.</p>34 <dt>Row Colour</dt>
35 <p> Click on the 'Edit" button of the Display loads its editing window. You can then proceed to change the settings for35 <dd>The status of the display. Red = missing content, Yellow = downloading missing content, Green = Up to Date.</dd>
36 the chosen Display. </p> 36</dl>
3737<dl class="dl-horizontal">
38 <p><img alt="Display Edit" src="sa_display_edit.png"38 <dt>ID</dt>
39 style="display: block; text-align: center; margin-left: auto; margin-right: auto"39 <dd>The internal ID for the display.</dd>
40 width="493" height="231"></p> 40</dl>
4141<dl class="dl-horizontal">
42 <a name="Display_Delete" id="Display_Delete"></a><h3>Display Delete</h3>42 <dt>Licence</dt>
43 <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 connecting43 <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>
44 to the server.</p>44</dl>
45 <p> Click on the 'Delete" button of the Display you want to unlicense; and the below form is loaded. </p> 45<dl class="dl-horizontal">
4646 <dt>Display</dt>
47 <p><img alt="Display Delete" src="sa_display_delete.png"47 <dd>A friendly name for the display. This can be set during the registration process in the display client software.</dd>
48 style="display: block; text-align: center; margin-left: auto; margin-right: auto"48</dl>
49 width="357" height="217"></p>49<dl class="dl-horizontal">
50 50 <dt>Default Layout</dt>
51 <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>51 <dd>The default layout that will play when there are no other layouts/campaigns scheduled or when all scheduled layouts are invalid.</dd>
52 52</dl>
53 <a name="Media_Inventory" id="Media_Inventory"></a><h3>Media Inventory</h3>53<dl class="dl-horizontal">
54 <p>When you schedule new content, or change existing content, it is helpful to know that the displays have updated with the new 54 <dt>Interleave Default</dt>
55 information. In a <?php echo PRODUCT_NAME; ?> server and client system, the client applications will connect in to the server periodically 55 <dd>A tick or cross showing whether the default layout will play when there are other layouts scheduled.</dd>
56 and update itself on the media items that they have stored locally. Media Inventory allows you to look at a glance to check if 56</dl>
57 your updates were pulled by the clients yet.</p>57<dl class="dl-horizontal">
58 <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>58 <dt>Email Alert</dt>
59 <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 59 <dd>A tick or cross showing whether an email alert will be sent by the Maintenance module.</dd>
60 on that client, schedule a new layout or change the default layout), the status light will immediately goes red. That signifies 60</dl>
61 that as far as the server is aware there are updates pending for that client and it has not received them yet.</p>61<dl class="dl-horizontal">
62 <p>The client will then connect up to the server on a schedule and will read the new information that is available. If there 62 <dt>Logged In</dt>
63 are new files to download (for example if you modified a layout or scheduled something completely new), the status light will 63 <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>
64 turn amber while the files are being downloaded.</p>64</dl>
65 <p>Once the client is satisfied that all files have been downloaded, it will send an inventory of all the files it has active 65<dl class="dl-horizontal">
66 in it is cache back to the server, and the server will change the status light to green.</p>66 <dt>Last Accessed</dt>
67 <p>If you are curious to see what files the client is actively monitoring, you can click the "Media Inventory" button and a popup 67 <dd>The date/time of last access.</dd>
68 will appear showing the status of each file, along with the last time the client checked it was still stored correctly on disk. 68</dl>
69 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 69<dl class="dl-horizontal">
70 that the client needs to download, but that it is unaware of at the present time. For example. If you schedule a new layout 70 <dt>IP Address</dt>
71 and immediately go to the Media Inventory before the client has connected up to the server, you'll see the status light is red, 71 <dd>The IP address the display had the last time it reported its status through the "Media Inventory" status call.</dd>
72 but the content of the media inventory will not show the new files that are required. Once the client connects, those new files 72</dl>
73 will be included in the inventory automatically.)</p> 73<dl class="dl-horizontal">
7474 <dt>Mac Address</dt>
75 <p><img alt="Display Media Inventory" src="sa_display_media_inventory.png"75 <dd>The Mac Address of the display (if the client software is capable of sending it).</dd>
76 style="display: block; text-align: center; margin-left: auto; margin-right: auto"76</dl>
77 width="418" height="268"></p>77
7878<h2 id="Display_ActionMenu">Action Menu <small>options for each display</small></h2>
79 <a name="Display_Group_Member" id="Display_Group_Member"></a><h3>Group Members</h3>79<p>Displays can have a number of actions performed against them.</p>
80 <p>To find the Group that the Display is belonged to, click on the "Group Members" on the corresponding row.</p>80
81 81<p><img class="img-thumbnail" alt="Display Action Menu" src="content/admin/display_action_menu.png"></p>
82 <p><img alt="SA Display Group Edit" src="sa_display_groups_edit.png"82
83 style="display: block; text-align: center; margin-left: auto; margin-right: auto"83<dl class="dl-horizontal">
84 width="408" height="218"></p>84 <dt>Schedule Now</dt>
85 </blockquote>85 <dd>A quick shortcut to scheduling a layout from the current time for a particular duration.</dd>
8686</dl>
87 <h2>Wake On LAN (WOL)</h2>87<dl class="dl-horizontal">
88 <blockquote>88 <dt>Media Inventory</dt>
89 <h3>Introducing Wake On Lan for Display Clients</h3>89 <dd>View the required media inventory and the current status of each item as reported by the display during the last check in.</dd>
90 <p>This section will look at the Wake On Lan (WOL) feature of <?php echo PRODUCT_NAME; ?>.</p>90</dl>
9191<dl class="dl-horizontal">
92 <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 92 <dt>Default Layout</dt>
93 generally not have the <?php echo PRODUCT_NAME; ?> display screen solution on unnecessarily.</p>93 <dd>A quick shortcut to updating the default layout.</dd>
9494</dl>
95 <p>The WOL function is intended to be used for display clients that are addressable by the server, by this we mean that there 95<dl class="dl-horizontal">
96 has to be a clear addressable network route between the server and the client that needs to wake up. It is also required that96 <dt>Edit</dt>
97 WOL is turned on in any necessary settings on the client PC.</p>97 <dd>The display edit form for adjusting all options available on the display.</dd>
9898</dl>
99 <p>The WOL configuration happens on a display by display basis from the Edit Display form. Each display has new settings for:</p>99<dl class="dl-horizontal">
100 <ul>100 <dt>Wake on LAN</dt>
101 <li><strong>Enable Wake On LAN</strong> - (Turn WOL on/off for the display)</li>101 <dd>Send a Wake on LAN packet to the display - requires the Wake On LAN settings to be configured.</dd>
102 <li><strong>Wake On LAN Time</strong> - (Specify a time for this display to wake, using the 24 hr clock)</li>102</dl>
103 <li><strong>BroadCast Address</strong> - (The BroadCast address of the client, if unknown use the IP address and fill in the CIDR field)</li>103<dl class="dl-horizontal">
104 <li><strong>Wake On LAN Secure On</strong> - (The SecureOn password for the client, if supported)</li>104 <dt>Delete</dt>
105 <li><strong>Wake On LAN CIDR</strong> - (The CIDR subnet mask, if the BroadCast Address is unknown)</li>105 <dd>The display delete form.</dd>
106 </ul>106</dl>
107107<dl class="dl-horizontal">
108 <p>Once the display has these settings it can be woken up in 2 ways:</p>108 <dt>Display Groups</dt>
109 <h3>Wake On LAN Now</h3>109 <dd>Administration of the display groups this display belongs to.</dd>
110 110</dl>
111 <p><img alt="SA Display WOL" src="sa_display_wol.png"111<dl class="dl-horizontal">
112 style="display: block; text-align: center; margin-left: auto; margin-right: auto"112 <dt>Permissions</dt>
113 width="308" height="158"></p>113 <dd>Adjust the user/user group permissions on this display.</dd>
114 114</dl>
115 <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 115
116 a form for confirmation, once this is pressed the command is send immediately to the client.</p>116<h2 id="Display_Edit">Display Edit</h2>
117117
118 <h3>Wake On LAN Time - Maintenance Script</h3>118<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>
119 <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 119
120 a "Wake On LAN Time" specified. It will only send the command once, as the time window is passed.</p>120<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>
121121
122 <p>The maintenance script has to be running for this to work correctly. Maintenance instructions can be found on the 122<p><img class="img-thumbnail" alt="Display Edit" src="content/admin/sa_display_edit.png"></p>
123 <a title="Maintenance Instructions" href="settings.php">Settings -> Maintenance</a>.</p>123
124124
125 <h3>Putting the client to sleep</h3>125<h2 id="Display_Delete">Display Delete</h2>
126 <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 126
127 will look at an option built into <?php echo PRODUCT_NAME; ?>. The "Shell Command" module.</p>127<p>Deleting a display will remove it from the CMS entirely and can only be performed if the display is not active.</p>
128128
129 <p>Note: WOL is not routable. The <?php echo PRODUCT_NAME; ?> server is unable to see clients over the internet that are behind NAT, 129<p class="alert alert-info">A display can be unlicenced without deleting it using the Display Edit form.</p>
130 or on a different subnet.</p>130
131 </blockquote>131<p><img class="img-thumbnail" alt="Display Delete" src="content/admin/sa_display_delete.png"></p>
132132
133 <a name="Display_Group" id="Display_Group"></a><h1>Display Groups</h1>133<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>
134 <p>A group should be added when there is a new set of components required for a particular group of users.134
135 It could be that you want certain users to only have access to certain components or that certain users 135
136 should not be able to share their content, playlists and schedules with each other.</p>136<h2 id="Media_Inventory">Media Inventory</h2>
137 137
138 <p><strong>Components</strong> refer to parts of <?php echo PRODUCT_NAME; ?>, e.g. Content, or Playlists.</p>138<p>When you schedule new content, or change existing content, it is helpful to know that the displays have updated with the new
139 139information. In a <?php echo PRODUCT_NAME; ?> server and client system, the client applications will connect in to the server periodically
140 <blockquote>140and update itself on the media items that they have stored locally. Media Inventory allows you to look at a glance to check if
141 <a name="Adding_a_Group" id="Adding_a_Group"></a><h3>Adding a Group</h3>141your updates were pulled by the clients yet.</p>
142 <p>Click the navigation menu "Displays > Display Groups" to go to Display Groups page. To add a group click on 142
143 the "Add Group" button found at the top of the Displays list.</p>143<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>
144 144
145 <a name="Edit_Group" id="Edit_Group"></a><h3>Edit a Group</h3>145<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
146 <p>To edit a group click on the edit button on the row belonging to the group you wish to edit.</p>146on that client, schedule a new layout or change the default layout), the status light will immediately goes red. That signifies
147 147that as far as the server is aware there are updates pending for that client and it has not received them yet.</p>
148 <p><img alt="SA Display Group" src="sa_display_groups.png"148
149 style="display: block; text-align: center; margin-left: auto; margin-right: auto"149<p>The client will then connect up to the server on a schedule and will read the new information that is available. If there
150 width="621" height="226"></p>150are new files to download (for example if you modified a layout or scheduled something completely new), the status light will
151 151turn amber while the files are being downloaded.</p>
152 <p><strong>Name</strong> is a unique identifier for a group.</p> 152
153 153<p>Once the client is satisfied that all files have been downloaded, it will send an inventory of all the files it has active
154 <a name="Delete_Group" id="Delete_Group"></a><h3>Delete a Group</h3>154in it is cache back to the server, and the server will change the status light to green.</p>
155 <p>To delete a group click on the delete button on the row belonging to the group you wish to delete.</p>155
156 156<p>If you are curious to see what files the client is actively monitoring, you can click the "Media Inventory" button and a popup
157 <a name="Group_Component_Security" id="Group_Component_Security"></a><h3>Group / Component Security</h3>157will appear showing the status of each file, along with the last time the client checked it was still stored correctly on disk.
158 <p>When editing a group the components that are assigned / unassigned to that group are show. These158You will also see any files that the client is in the process of downloading.</p>
159 determine the permissions of the users belonging to that group.</p>159
160 <p>You should always have at least one group.</p>160
161161<p><img class="img-thumbnail" alt="Display Media Inventory" src="content/admin/sa_display_media_inventory.png"></p>
162 <a name="Group_Members" id="Group_Members"></a><h3>Group Members</h3>162
163163<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>
164 <p>Click on "Group Members" load the "Manage Membership" form for editing. All the Displays on the system will be shown.
165 You can assign or remove group members.</p>
166
167 <p><img alt="SA Display Group Members" src="sa_display_group_members.png"
168 style="display: block; text-align: center; margin-left: auto; margin-right: auto"
169 width="408" height="270"></p>
170
171 </blockquote>
172
173 <a name="Display_Statistic" id="Display_Statistic"></a><h1>Display Statistic</h1>
174 <p>Click on "Statistic" shows a page giving statistic detail of all the system Displys on the followings. You can define
175 the filters i.e. Date, Display &amp; Media, for the required statistical data display.</p>
176
177 <ul>
178 <li><h3>Layout ran</h3>Statistical data on layouts run for each Display.</li>
179 <li><h3>Library Media ran</h3>Statistical data on Media played for each Display.</li>
180 <li><h3>Media on Layouts ran</h3>Statistical data on Media played on all layouts run for each Display.</li>
181 </ul>
182
183 <p><img alt="SA Display Statistic" src="sa_display_statistic.png"
184 style="display: block; text-align: center; margin-left: auto; margin-right: auto"
185 width="648" height="650"></p>
186
187 <?php include('../../template/footer.php'); ?>
188 </body>
189</html>
190\ No newline at end of file164\ No newline at end of file
191165
=== added file 'server/manual/content/admin/displaystats.php'
--- server/manual/content/admin/displaystats.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/displaystats.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,44 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<h1 id="Display_Statistic">Display Statistics <small>Proof of Play</small></h1>
24
25<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>
26
27<p>A specific display can be viewed across a date range.</p>
28
29<p><img class="img-thumbnail" alt="Display Statistics" src="content/admin/sa_display_statistic.png"></p>
30
31<dl class="dl-horizontal">
32 <dt>Layouts Shown</dt>
33 <dd>All layouts shown in the range selected.</dd>
34</dl>
35<dl class="dl-horizontal">
36 <dt>Library Media Shown</dt>
37 <dd>All media shown in the range selected.</dd>
38</dl>
39<dl class="dl-horizontal">
40 <dt>Media on Layouts Shown</dt>
41 <dd>All Layouts shown with a breakdown of the associated media on those Layouts.</dd>
42</dl>
43
44<p class="alert alert-warning">Statistics reporting may need to be enabled on the display client application.</p>
045
=== added file 'server/manual/content/admin/eer_1.4.png'
1Binary 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 differ46Binary 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
=== modified file 'server/manual/content/admin/modules.php'
--- server/manual/content/admin/modules.php 2013-05-01 19:24:35 +0000
+++ server/manual/content/admin/modules.php 2014-01-19 13:57:27 +0000
@@ -1,66 +1,75 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">1<?php
2<?php include('../../template.php'); ?>2/*
3<html>3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 <head>4 * Copyright (C) 2006-2013 Daniel Garner
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />5 *
6 <title><?php echo PRODUCT_NAME; ?> Documentation</title>6 * This file is part of Xibo.
7 <link rel=stylesheet type="text/css" href="../../css/doc.css">7 *
8 <meta http-equiv="Content-Type" content="text/html" />8 * Xibo is free software: you can redistribute it and/or modify
9 <meta name="keywords" content="digital signage, signage, narrow-casting, <?php echo PRODUCT_NAME; ?>, open source, agpl" />9 * it under the terms of the GNU Affero General Public License as published by
10 <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." />10 * the Free Software Foundation, either version 3 of the License, or
1111 * any later version.
12 <link href="img/favicon.ico" rel="shortcut icon"/>12 *
13 <!-- Javascript Libraries -->13 * Xibo is distributed in the hope that it will be useful,
14 <script type="text/javascript" src="lib/jquery.pack.js"></script>14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 <script type="text/javascript" src="lib/jquery.dimensions.pack.js"></script>15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 <script type="text/javascript" src="lib/jquery.ifixpng.js"></script>16 * GNU Affero General Public License for more details.
17 </head>17 *
18 <body>18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
19 23
20 <h1>Modules</h1>24<h1>Modules</h1>
21 <p><?php echo PRODUCT_NAME; ?> server content handling is done by Modules.</p>25<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>
22 <p>Click "Administration -> Modules" load the modules parameters for edit.</p>26
23 27<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>
24 <p><img alt="SA_Modules" src="sa_modules.png"28
25 style="display: block; text-align: center; margin-left: auto; margin-right: auto"29<p><img class="img-thumbnail" alt="Module List" src="content/admin/sa_modules.png"></p>
26 width="644" height="418"></p>30
2731<p>Each module has the following properties.</p>
28 <p><?php echo PRODUCT_NAME; ?> server modules table contains parameters for user edit.</p>32
29 <ul>33<dl class="dl-horizontal">
30 <li><strong>Name:</strong>34 <dt>Name</dt>
31 <p>System given Name for the specific module.</p</li>35 <dd>System given Name for the specific module.</dd>
32 <li><strong>Description:</strong>36</dl>
33 <p>A breif description of the modules.</p</li>37
34 <li><strong>Library Media:</strong>38<dl class="dl-horizontal">
35 <p>Indicated if the content is saved in the <?php echo PRODUCT_NAME; ?> Library. Unchecked indicate the specific content is only save39 <dt>Description</dt>
36 with the Layout-Regions.</p</li>40 <dd>A breif description of the module.</dd>
37 <li><strong>Valid Extensions:</strong>41</dl>
38 <p>Valid file extensions that are supported by the specific module.</p</li>42
39 <li><strong>Image Uri:</strong>43<dl class="dl-horizontal">
40 <p>Link to the module icon for UI display, usually leave as it.</p></li>44 <dt>Library Media</dt>
41 <li><strong>Enabled:</strong>45 <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>
42 <p>System administrator may enable/disable the specific content for <?php echo PRODUCT_NAME; ?> user access.</p</li>46</dl>
43 </ul>47
4448<dl class="dl-horizontal">
45 <h2>Edit</h2>49 <dt>Valid Extensions</dt>
46 <p>Click Edit button for the specific content type load the following form for user changes.</p>50 <dd>File extensions that are supported by the specific module.</dd>
4751</dl>
48 <ul>52
49 <li><h3>Content Without Extension:</h3>53<dl class="dl-horizontal">
50 <p>Admininstrator may enable or disable the content for user access.</p>54 <dt>Image Uri</dt>
51 55 <dd>Link to the module icon for UI display - this can also be provided by your Theme.</dd>
52 <p><img alt="SA_Modules" src="sa_modules_text.png"56</dl>
53 style="display: block; text-align: center; margin-left: auto; margin-right: auto"57
54 width="358" height="179"></p></li>58<dl class="dl-horizontal">
5559 <dt>Preview Enabled</dt>
56 <li><h3>Content With Extension:</h3>60 <dd>Should this module output a preview in the Layout Designer.</dd>
57 <p>Administrator may add other valid files extensions that are supported by the <?php echo PRODUCT_NAME; ?> Client Display e.g. mp4.</p>61</dl>
58 62
59 <p><img alt="SA_Modules" src="sa_modules_video.png"63<dl class="dl-horizontal">
60 style="display: block; text-align: center; margin-left: auto; margin-right: auto"64 <dt>Enabled</dt>
61 width="358" height="211"></p></li>65 <dd>Can this module be used?</dd>
62 </ul> 66</dl>
6367
64 <?php include('../../template/footer.php'); ?>68
65 </body>69<h2>Modules Settings</h2>
66</html>70<p>A Module can have a selection of its settings adjusted, exactly which ones depends on the module.</p>
71
72<h3>File based Modules</h3>
73<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>
74
75<p><img class="img-thumbnail" alt="Modules" src="content/admin/sa_modules_video.png"></p>
6776
=== modified file 'server/manual/content/admin/overview.php'
68Binary 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 differ77Binary 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
=== added file 'server/manual/content/admin/release_notes.php'
--- server/manual/content/admin/release_notes.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/release_notes.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,23 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<?php include('content/admin/release_notes_' . PRODUCT_VERSION . '.php'); ?>
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'server/manual/content/admin/release_notes_1.0.0.php'
--- server/manual/content/admin/release_notes_1.0.0.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/release_notes_1.0.0.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,74 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
24<ul>
25<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>
26<li class="toclevel-1 tocsection-2"><a href="#Requirements"><span class="tocnumber">2</span> <span class="toctext">Requirements</span></a></li>
27<li class="toclevel-1 tocsection-3"><a href="#Upgrading"><span class="tocnumber">3</span> <span class="toctext">Upgrading</span></a></li>
28<li class="toclevel-1 tocsection-4"><a href="#Bug_Fixes"><span class="tocnumber">4</span> <span class="toctext">Bug Fixes</span></a></li>
29<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>
30</ul>
31</td></tr></table>
32<h3> <span class="mw-headline" id="Xibo_1.0.1_-_Codename_.22Halley.22">Xibo 1.0.1 - Codename "Halley"</span></h3>
33<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.
34</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>
35</p>
36<h3> <span class="mw-headline" id="Requirements"> Requirements </span></h3>
37<p>You should use the 1.0.0 client with this version of the Xibo server.
38</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.
39</p>
40<h3> <span class="mw-headline" id="Upgrading"> Upgrading </span></h3>
41<ul><li> Backup settings.php from your installation
42</li><li> The upgrader will attempt to backup your database, but manually taking a backup would be a good idea.
43</li><li> Replace your existing installation with the new version from the tar.gz or zip file
44</li><li> Replace your settings.php file
45</li><li> Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a> as normal
46</li><li> You will be prompted that an upgrade is required.
47</li><li> Enter your xibo_admin password, and follow the upgrade wizard.
48</li><li> The upgrade should run, and finally ask you to log in as you would normally.
49</li></ul>
50<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>
51</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>
52</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>
53</p>
54<h3> <span class="mw-headline" id="Bug_Fixes">Bug Fixes</span></h3>
55<p>Fixes for the following Bugs
56</p>
57<ul><li> 358996 - [Linux Server] Install block on configuration of database
58</li><li> 369674 - Xibo requires PHP 5.1.0 (with compile options) or 5.2.0 otherwise, but only checks for 5.0.2
59</li><li> 362320 - Retired layouts shown in Default Layout select
60</li><li> 361125 - The file name is not displayed in Layout / Region Options
61</li></ul>
62<h3> <span class="mw-headline" id="Known_Issues_and_Limitations"> Known Issues and Limitations </span></h3>
63<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.
64</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.
65</p><p>Therefore there are the following known issues and limitations with Xibo 1.0.0-final:
66</p>
67<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>
68</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>
69</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>
70</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>
71</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>
72</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>
73</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>
74</li></ul>
0\ No newline at end of file75\ No newline at end of file
176
=== added file 'server/manual/content/admin/release_notes_1.0.1.php'
--- server/manual/content/admin/release_notes_1.0.1.php 1970-01-01 00:00:00 +0000
+++ server/manual/content/admin/release_notes_1.0.1.php 2014-01-19 13:57:27 +0000
@@ -0,0 +1,74 @@
1<?php
2/*
3 * Xibo - Digital Signage - http://www.xibo.org.uk
4 * Copyright (C) 2006-2013 Daniel Garner
5 *
6 * This file is part of Xibo.
7 *
8 * Xibo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * any later version.
12 *
13 * Xibo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with Xibo. If not, see <http://www.gnu.org/licenses/>.
20 */
21defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
22?>
23<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
24<ul>
25<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>
26<li class="toclevel-1 tocsection-2"><a href="#Requirements"><span class="tocnumber">2</span> <span class="toctext">Requirements</span></a></li>
27<li class="toclevel-1 tocsection-3"><a href="#Upgrading"><span class="tocnumber">3</span> <span class="toctext">Upgrading</span></a></li>
28<li class="toclevel-1 tocsection-4"><a href="#Bug_Fixes"><span class="tocnumber">4</span> <span class="toctext">Bug Fixes</span></a></li>
29<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>
30</ul>
31</td></tr></table>
32<h3> <span class="mw-headline" id="Xibo_1.0.1_-_Codename_.22Halley.22">Xibo 1.0.1 - Codename "Halley"</span></h3>
33<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.
34</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>
35</p>
36<h3> <span class="mw-headline" id="Requirements"> Requirements </span></h3>
37<p>You should use the 1.0.0 client with this version of the Xibo server.
38</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.
39</p>
40<h3> <span class="mw-headline" id="Upgrading"> Upgrading </span></h3>
41<ul><li> Backup settings.php from your installation
42</li><li> The upgrader will attempt to backup your database, but manually taking a backup would be a good idea.
43</li><li> Replace your existing installation with the new version from the tar.gz or zip file
44</li><li> Replace your settings.php file
45</li><li> Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a> as normal
46</li><li> You will be prompted that an upgrade is required.
47</li><li> Enter your xibo_admin password, and follow the upgrade wizard.
48</li><li> The upgrade should run, and finally ask you to log in as you would normally.
49</li></ul>
50<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>
51</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>
52</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>
53</p>
54<h3> <span class="mw-headline" id="Bug_Fixes">Bug Fixes</span></h3>
55<p>Fixes for the following Bugs
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: