- deleted stats class

- deleted other .idea folder
- added other .idea to .gitignore
This commit is contained in:
Steffen Schröder 2013-11-09 23:13:24 +01:00
parent 96eaa77b97
commit d1818680d5
13 changed files with 1 additions and 928 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
/.idea/
/application/.idea/
/.settings/
/.buildpath
/.project

View File

@ -1 +0,0 @@
application

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -1,3 +0,0 @@
<component name="ProjectDictionaryState">
<dictionary name="Lukas" />
</component>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
</project>

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
</expanded-state>
<selected-state>
<State>
<id>SASS/SCSS</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectRootManager" version="2" />
<component name="masterDetails">
<states>
<state key="ScopeChooserConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/application.iml" filepath="$PROJECT_DIR$/.idea/application.iml" />
</modules>
</component>
</project>

View File

@ -1,5 +0,0 @@
<component name="DependencyValidationManager">
<state>
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
</state>
</component>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VagrantSettings">
<option name="instanceFolder" value="" />
<option name="vagrantExecutable" value="vagrant.bat" />
</component>
</project>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="" />
</component>
</project>

View File

@ -1,505 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="810d50c2-5feb-4cd4-8bb3-d6196e2e83d8" name="Default" comment="" />
<ignored path="application.iws" />
<ignored path=".idea/workspace.xml" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="DaemonCodeAnalyzer">
<disable_hints />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="application" />
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="plugin.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="58" column="22" selection-start="1179" selection-end="1179" vertical-scroll-proportion="-32.03846" vertical-offset="153" max-vertical-offset="2703">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="player.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/player.php">
<provider selected="true" editor-type-id="text-editor">
<state line="103" column="0" selection-start="3396" selection-end="3396" vertical-scroll-proportion="-7.5657897" vertical-offset="1176" max-vertical-offset="1972">
<folding>
<element signature="e#6#85#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="playerHandler.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/core/playerHandler.php">
<provider selected="true" editor-type-id="text-editor">
<state line="57" column="118" selection-start="1645" selection-end="1645" vertical-scroll-proportion="0.5177305" vertical-offset="446" max-vertical-offset="1921">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="authentication.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/authentication.php">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="16" selection-start="146" selection-end="146" vertical-scroll-proportion="-5.8846154" vertical-offset="51" max-vertical-offset="1853">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="chat.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/chat.php">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="7" selection-start="976" selection-end="976" vertical-scroll-proportion="-9.653846" vertical-offset="548" max-vertical-offset="1547">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="database.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/database.php">
<provider selected="true" editor-type-id="text-editor">
<state line="319" column="19" selection-start="9044" selection-end="9044" vertical-scroll-proportion="-1.25" vertical-offset="5328" max-vertical-offset="6919">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="core.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/core.php">
<provider selected="true" editor-type-id="text-editor">
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-41.82895" vertical-offset="0" max-vertical-offset="6817">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="server.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/server.php">
<provider selected="true" editor-type-id="text-editor">
<state line="229" column="110" selection-start="5463" selection-end="5463" vertical-scroll-proportion="-5.730769" vertical-offset="3744" max-vertical-offset="6596">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tools.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/core/tools.php">
<provider selected="true" editor-type-id="text-editor">
<state line="154" column="6" selection-start="3963" selection-end="3963" vertical-scroll-proportion="-22.615385" vertical-offset="2030" max-vertical-offset="4352">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="chatlog.plugin.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/chatlog.plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="118" selection-start="631" selection-end="741" vertical-scroll-proportion="-20.26923" vertical-offset="153" max-vertical-offset="1547">
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindManager">
<FindUsagesManager>
<setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/core/database.ManiaControl.php" />
<option value="$PROJECT_DIR$/core/manialinkIdHandler.php" />
<option value="$PROJECT_DIR$/core/core.ManiaControl.php" />
<option value="$PROJECT_DIR$/configs/plugins.ManiaControl.xml" />
<option value="$PROJECT_DIR$/core/pluginHandler.php" />
<option value="$PROJECT_DIR$/ManiaControl.php" />
<option value="$PROJECT_DIR$/core/commands.php" />
<option value="$PROJECT_DIR$/core/stats.php" />
<option value="$PROJECT_DIR$/core/callbacks.php" />
<option value="$PROJECT_DIR$/core/chat.php" />
<option value="$PROJECT_DIR$/core/core.php" />
<option value="$PROJECT_DIR$/core/tools.php" />
<option value="$PROJECT_DIR$/core/server.php" />
<option value="$PROJECT_DIR$/core/player.php" />
<option value="$PROJECT_DIR$/core/playerHandler.php" />
<option value="$PROJECT_DIR$/core/plugin.php" />
</list>
</option>
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds">
<option name="x" value="542" />
<option name="y" value="216" />
<option name="width" value="1936" />
<option name="height" value="1056" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
<OptionsSetting value="true" id="Remove" />
<OptionsSetting value="true" id="Checkout" />
<OptionsSetting value="true" id="Update" />
<OptionsSetting value="true" id="Status" />
<OptionsSetting value="true" id="Edit" />
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="plugins" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="oldstructure" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="core" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="application" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="configs" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope">
<subPane subId="Problems" />
<subPane subId="Tests" />
<subPane subId="Project Files">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
<property name="options.splitter.main.proportions" value="0.3" />
<property name="WebServerToolWindowFactoryState" value="true" />
<property name="options.lastSelected" value="reference.settings.ide.settings.uml" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/.." />
<property name="options.splitter.details.proportions" value="0.2" />
<property name="options.searchVisible" value="true" />
</component>
<component name="PublishConfig">
<servers>
<server id="17a42bee-a550-4af8-9ca6-9ec751fda755">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" />
</mappings>
</serverdata>
</server>
<server id="cffd73bb-bc3d-46ed-be64-c7c6fe83d23d">
<serverdata>
<mappings>
<mapping local="$PROJECT_DIR$" />
</mappings>
</serverdata>
</server>
</servers>
</component>
<component name="RunManager">
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner />
<method />
</configuration>
<configuration default="true" type="PhpLocalRunConfigurationType" factoryName="PHP Console">
<method />
</configuration>
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug" singleton="true">
<method />
</configuration>
<configuration default="true" type="PhpUnitRemoteRunConfigurationType" factoryName="PHPUnit on Server">
<method />
</configuration>
<list size="0" />
</component>
<component name="ShelveChangesManager" show_recycled="false" />
<component name="SvnConfiguration" maxAnnotateRevisions="500" myUseAcceleration="nothing" myAutoUpdateAfterCommit="false" cleanupOnStartRun="false" SSL_PROTOCOLS="all">
<option name="USER" value="" />
<option name="PASSWORD" value="" />
<option name="mySSHConnectionTimeout" value="30000" />
<option name="mySSHReadTimeout" value="30000" />
<option name="LAST_MERGED_REVISION" />
<option name="MERGE_DRY_RUN" value="false" />
<option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
<option name="UPDATE_LOCK_ON_DEMAND" value="false" />
<option name="IGNORE_SPACES_IN_MERGE" value="false" />
<option name="CHECK_NESTED_FOR_QUICK_MERGE" value="false" />
<option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
<option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
<option name="FORCE_UPDATE" value="false" />
<option name="IGNORE_EXTERNALS" value="false" />
<configuration useDefault="false">C:\Users\Lukas\AppData\Roaming\Subversion</configuration>
<myIsUseDefaultProxy>false</myIsUseDefaultProxy>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="810d50c2-5feb-4cd4-8bb3-d6196e2e83d8" name="Default" comment="" />
<created>1383994867593</created>
<updated>1383994867593</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="542" y="216" width="1936" height="1056" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.12646745" sideWeight="0.8942093" order="0" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.105790645" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
<layout-to-restore>
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.105790645" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.12646745" sideWeight="0.8942093" order="0" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
</layout-to-restore>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<option name="myTodoPanelSettings">
<TodoPanelSettings />
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="1" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/chatlog.plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="40" column="118" selection-start="631" selection-end="741" vertical-scroll-proportion="-20.26923" vertical-offset="153" max-vertical-offset="1547">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/PhpRemote/GbxRemote.bem.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.66312057" vertical-offset="561" max-vertical-offset="15266">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/records.plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1200" column="7" selection-start="37957" selection-end="37957" vertical-scroll-proportion="0.5579196" vertical-offset="19928" max-vertical-offset="20774">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/plugins/oldstructure/obstacle.plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.024822695" vertical-offset="21" max-vertical-offset="1173">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/tools.php">
<provider selected="true" editor-type-id="text-editor">
<state line="154" column="6" selection-start="3963" selection-end="3963" vertical-scroll-proportion="-22.615385" vertical-offset="2030" max-vertical-offset="4352">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/chat.php">
<provider selected="true" editor-type-id="text-editor">
<state line="47" column="7" selection-start="976" selection-end="976" vertical-scroll-proportion="-9.653846" vertical-offset="548" max-vertical-offset="1547">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/commands.php">
<provider selected="true" editor-type-id="text-editor">
<state line="38" column="71" selection-start="829" selection-end="829" vertical-scroll-proportion="0.46217495" vertical-offset="255" max-vertical-offset="11730">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/stats.php">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="0" selection-start="268" selection-end="268" vertical-scroll-proportion="0.40189126" vertical-offset="0" max-vertical-offset="5151">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/server.php">
<provider selected="true" editor-type-id="text-editor">
<state line="229" column="110" selection-start="5463" selection-end="5463" vertical-scroll-proportion="-5.730769" vertical-offset="3744" max-vertical-offset="6596">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/pluginHandler.php">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="2" selection-start="478" selection-end="478" vertical-scroll-proportion="0.643026" vertical-offset="0" max-vertical-offset="846">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/core.php">
<provider selected="true" editor-type-id="text-editor">
<state line="187" column="24" selection-start="4232" selection-end="4232" vertical-scroll-proportion="-41.82895" vertical-offset="0" max-vertical-offset="6817">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/database.php">
<provider selected="true" editor-type-id="text-editor">
<state line="319" column="19" selection-start="9044" selection-end="9044" vertical-scroll-proportion="-1.25" vertical-offset="5328" max-vertical-offset="6919">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/authentication.php">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="16" selection-start="146" selection-end="146" vertical-scroll-proportion="-5.8846154" vertical-offset="51" max-vertical-offset="1853">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/player.php">
<provider selected="true" editor-type-id="text-editor">
<state line="103" column="0" selection-start="3396" selection-end="3396" vertical-scroll-proportion="-7.5657897" vertical-offset="1176" max-vertical-offset="1972">
<folding>
<element signature="e#6#85#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/plugin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="58" column="22" selection-start="1179" selection-end="1179" vertical-scroll-proportion="-32.03846" vertical-offset="153" max-vertical-offset="2703">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/core/playerHandler.php">
<provider selected="true" editor-type-id="text-editor">
<state line="57" column="118" selection-start="1645" selection-end="1645" vertical-scroll-proportion="0.5177305" vertical-offset="446" max-vertical-offset="1921">
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Configure the stats manager and enable/disable specific stats -->
<stats-config>
<stats>
<!-- Server stats -->
<server>
<!-- Track how many players connected on the server -->
<track_server_connects>true</track_server_connects>
<!-- Track how many players have been on the server at max -->
<track_server_max_players>true</track_server_max_players>
<!-- Track how many maps have been played during the day -->
<track_server_played_maps>true</track_server_played_maps>
<!-- Track how many times players finished during the day -->
<track_server_finishes>true</track_server_finishes>
</server>
<!-- Player stats -->
<player>
<!-- Track player connect counts -->
<track_player_connects>true</track_player_connects>
<!-- Track player play time -->
<track_player_playtime>true</track_player_playtime>
<!-- Track how many chat message players have sent -->
<track_player_chats>true</track_player_chats>
<!-- Track player finishes -->
<track_player_finishes>true</track_player_finishes>
</player>
</stats>
</stats-config>

View File

@ -1,297 +0,0 @@
<?php
namespace ManiaControl;
/**
* Stats class
*
* @author steeffeen
*/
class Stats {
/**
* Constants
*/
const TABLE_STATS_SERVER = 'ic_stats_server';
const TABLE_STATS_PLAYERS = 'ic_stats_players';
/**
* Private properties
*/
private $mc = null;
private $config = null;
/**
* Constuct stats manager
*/
public function __construct($mc) {
$this->mc = $mc;
// Load config
$this->config = Tools::loadConfig('stats.ManiaControl.xml');
$this->loadSettings();
// Init database tables
$this->initTables();
// Register for needed callbacks
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_ENDMAP, $this, 'handleEndMap');
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_PLAYERCHAT, $this, 'handlePlayerChat');
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_PLAYERCONNECT, $this, 'handlePlayerConnect');
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_MP_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect');
$this->mc->callbacks->registerCallbackHandler(Callbacks::CB_TM_PLAYERFINISH, $this, 'handlePlayerFinish');
}
/**
* Create the database tables
*/
private function initTables() {
$query = "";
// Server stats
$query .= "CREATE TABLE IF NOT EXISTS `" . self::TABLE_STATS_SERVER . "` (
`index` int(11) NOT NULL AUTO_INCREMENT,
`day` date NOT NULL,
`connectCount` int(11) NOT NULL DEFAULT '0',
`maxPlayerCount` int(11) NOT NULL DEFAULT '0',
`playedMaps` int(11) NOT NULL DEFAULT '0',
`finishCount` int(11) NOT NULL DEFAULT '0',
`changed` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`index`),
UNIQUE KEY `day` (`day`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Stores server stats' AUTO_INCREMENT=1;";
// Player stats
$query .= "CREATE TABLE IF NOT EXISTS `" . self::TABLE_STATS_PLAYERS . "` (
`index` int(11) NOT NULL AUTO_INCREMENT,
`Login` varchar(100) NOT NULL,
`playTime` int(11) NOT NULL DEFAULT '0',
`connectCount` int(11) NOT NULL DEFAULT '0',
`chatCount` int(11) NOT NULL DEFAULT '0',
`finishCount` int(11) NOT NULL DEFAULT '0',
`hitCount` int(11) NOT NULL DEFAULT '0',
`eliminationCount` int(11) NOT NULL DEFAULT '0',
`lastJoin` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`changed` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`index`),
UNIQUE KEY `Login` (`Login`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Tracks player stats' AUTO_INCREMENT=1;";
// Perform queries
if (!$this->mc->database->multiQuery($query)) {
trigger_error("Creating stats tables failed.");
}
}
/**
* Load settings from config
*/
private function loadSettings() {
$this->settings = new \stdClass();
$this->settings->track_server_connects = Tools::checkSetting($this->config, 'track_server_connects');
$this->settings->track_server_max_players = Tools::checkSetting($this->config, 'track_server_max_players');
$this->settings->track_server_played_maps = Tools::checkSetting($this->config, 'track_server_played_maps');
$this->settings->track_server_finishes = Tools::checkSetting($this->config, 'track_server_finishes');
$this->settings->track_player_connects = Tools::checkSetting($this->config, 'track_player_connects');
$this->settings->track_player_playtime = Tools::checkSetting($this->config, 'track_player_playtime');
$this->settings->track_player_chats = Tools::checkSetting($this->config, 'track_player_chats');
$this->settings->track_player_finishes = Tools::checkSetting($this->config, 'track_player_finishes');
}
/**
* Handle EndMap callback
*/
public function handleEndMap($callback) {
$multiquery = "";
// Track played server maps
if ($this->settings->track_server_played_maps) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_SERVER . "` (
`day`,
`playedMaps`
) VALUES (
CURDATE(),
1
) ON DUPLICATE KEY UPDATE
`playedMaps` = `playedMaps` + VALUES(`playedMaps`)
;";
}
// Perform query
if (!$this->mc->database->multiQuery($multiquery)) {
trigger_error("Perform queries on end map failed.");
}
}
/**
* Handle PlayerChat callback
*/
public function handlePlayerChat($callback) {
if ($callback[1][0] <= 0) return;
$multiquery = "";
$login = $callback[1][1];
// Track chats
if ($this->settings->track_player_chats) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_PLAYERS . "` (
`Login`,
`chatCount`
) VALUES (
'" . $this->mc->database->escape($login) . "',
1
) ON DUPLICATE KEY UPDATE
`chatCount` = `chatCount` + VALUES(`chatCount`)
;";
}
// Perform query
if (!$this->mc->database->multiQuery($multiquery)) {
trigger_error("Perform queries on player chat failed.");
}
}
/**
* Handle PlayerConnect callback
*/
public function handlePlayerConnect($callback) {
$multiquery = "";
$login = $callback[1][0];
// Track server connect
if ($this->settings->track_server_connects) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_SERVER . "` (
`day`,
`connectCount`
) VALUES (
CURDATE(),
1
) ON DUPLICATE KEY UPDATE
`connectCount` = `connectCount` + VALUES(`connectCount`)
;";
}
// Track server max players
if ($this->settings->track_server_max_players) {
$players = $this->mc->server->getPlayers();
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_SERVER . "` (
`day`,
`maxPlayerCount`
) VALUES (
CURDATE(),
" . count($players) . "
) ON DUPLICATE KEY UPDATE
`maxPlayerCount` = GREATEST(`maxPlayerCount`, VALUES(`maxPlayerCount`))
;";
}
// Track player connect
if ($this->settings->track_player_connects) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_PLAYERS . "` (
`Login`,
`lastJoin`,
`connectCount`
) VALUES (
'" . $this->mc->database->escape($login) . "',
NOW(),
1
) ON DUPLICATE KEY UPDATE
`lastJoin` = VALUES(`lastJoin`),
`connectCount` = `connectCount` + VALUES(`connectCount`)
;";
}
// Perform query
if (!$this->mc->database->multiQuery($multiquery)) {
trigger_error("Perform queries on player connect failed.");
}
}
/**
* Handle PlayerDisconnect callback
*/
public function handlePlayerDisconnect($callback) {
$multiquery = "";
$login = $callback[1][0];
// Track player playtime
if ($this->settings->track_player_playtime) {
$query = "SELECT `lastJoin` FROM `" . self::TABLE_STATS_PLAYERS . "`
WHERE `Login` = '" . $this->mc->database->escape($login) . "'
;";
$result = $this->mc->database->query($query);
if (!$result) {
// Error
trigger_error("Error selecting player join time from '" . $login . "'.");
}
else {
// Add play time
while ($row = $result->fetch_object()) {
if (!property_exists($row, 'lastJoin')) continue;
$lastJoin = strtotime($row->lastJoin);
$lastJoin = ($lastJoin > $this->mc->startTime ? $lastJoin : $this->mc->startTime);
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_PLAYERS . "` (
`Login`,
`playTime`
) VALUES (
'" . $this->mc->database->escape($login) . "',
TIMESTAMPDIFF(SECOND, '" . Tools::timeToTimestamp($lastJoin) . "', NOW())
) ON DUPLICATE KEY UPDATE
`playTime` = `playTime` + VALUES(`playTime`)
;";
break;
}
}
}
// Perform query
if (!$this->mc->database->multiQuery($multiquery)) {
trigger_error("Perform queries on player connect failed.");
}
}
/**
* Handle the PlayerFinish callback
*/
public function handlePlayerFinish($callback) {
if ($callback[1][0] <= 0) return;
if ($callback[1][2] <= 0) return;
$multiquery = "";
$login = $callback[1][1];
// Track server finishes
if ($this->settings->track_server_finishes) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_SERVER . "` (
`day`,
`finishCount`
) VALUES (
CURDATE(),
1
) ON DUPLICATE KEY UPDATE
`finishCount` = `finishCount` + VALUES(`finishCount`)
;";
}
// Track player finishes
if ($this->settings->track_player_finishes) {
$multiquery .= "INSERT INTO `" . self::TABLE_STATS_PLAYERS . "` (
`Login`,
`finishCount`
) VALUES (
'" . $this->mc->database->escape($login) . "',
1
) ON DUPLICATE KEY UPDATE
`finishCount` = `finishCount` + VALUES(`finishCount`)
;";
}
// Perform query
if (!$this->mc->database->multiQuery($multiquery)) {
trigger_error("Perform queries on player finish failed.");
}
}
}
?>