1
0

Added <ExtendedGitGraph> (zu /about & /admin)

This commit is contained in:
Mike Schwörer 2014-06-07 19:53:13 +02:00
parent a6c751a636
commit 02aa4a2cf4
15 changed files with 906 additions and 353 deletions

570
.idea/workspace.xml generated
View File

@ -3,11 +3,11 @@
<component name="ChangeListManager">
<list default="true" id="802a3fea-d257-43f4-acd0-825667875110" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/encodings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/www.mikescher.de.iml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/frameworkRootSettings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/www.mikescher.de.iml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
</list>
<ignored path="www.mikescher.de.iws" />
@ -62,37 +62,7 @@
</favorites_list>
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="admin.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="36" column="62" selection-start="738" selection-end="738" vertical-scroll-proportion="-17.76923" vertical-offset="150" max-vertical-offset="1241">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="main.php" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/www/protected/views/layouts/main.php">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="88" selection-start="1927" selection-end="1927" vertical-scroll-proportion="0.46910754" vertical-offset="423" max-vertical-offset="1683">
<folding>
<marker date="1402075581793" expanded="true" signature="2632:2667" placeholder="..." />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="admin.php" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="0" selection-start="537" selection-end="558" vertical-scroll-proportion="-18.307692" vertical-offset="0" max-vertical-offset="1071">
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
<leaf />
</component>
<component name="FindManager">
<FindUsagesManager>
@ -105,18 +75,12 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/www/protected/views/programs/_view.php" />
<option value="$PROJECT_DIR$/www/protected/controllers/SiteController.php" />
<option value="$PROJECT_DIR$/www/protected/views/site/debugerror.php" />
<option value="$PROJECT_DIR$/www/index.php" />
<option value="$PROJECT_DIR$/www/protected/components/ThumbnailPreview.php" />
<option value="$PROJECT_DIR$/www/protected/extensions/bootstrap/helpers/TbHtml.php" />
<option value="$PROJECT_DIR$/www/protected/config/env/database-access.secret" />
<option value="$PROJECT_DIR$/www/protected/config/env/.gitignore" />
<option value="$PROJECT_DIR$/www/protected/config/env/database-access.secret.php" />
<option value="$PROJECT_DIR$/www/protected/views/site/index.php" />
<option value="$PROJECT_DIR$/www/protected/config/env/prod.php" />
<option value="$PROJECT_DIR$/www/protected/components/MSController.php" />
<option value="$PROJECT_DIR$/www/protected/components/views/thumbnailPreview.php" />
<option value="$PROJECT_DIR$/www/protected/components/widgets/FullPreview.php" />
<option value="$PROJECT_DIR$/www/protected/components/SeededRandom.php" />
@ -134,7 +98,6 @@
<option value="$PROJECT_DIR$/www/protected/components/ProgramHelper.php" />
<option value="$PROJECT_DIR$/www/protected/components/widgets/views/fullProgPreview.php" />
<option value="$PROJECT_DIR$/www/protected/components/widgets/views/thumbnailProgPreview.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/about.php" />
<option value="$PROJECT_DIR$/www/protected/views/programs/_form.php" />
<option value="$PROJECT_DIR$/www/protected/views/programs/_search.php" />
<option value="$PROJECT_DIR$/www/protected/views/programs/admin.php" />
@ -142,20 +105,27 @@
<option value="$PROJECT_DIR$/www/protected/views/layouts/column2.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/log.php" />
<option value="$PROJECT_DIR$/www/protected/views/log/index.php" />
<option value="$PROJECT_DIR$/www/protected/config/main.php" />
<option value="$PROJECT_DIR$/www/protected/controllers/ProgramsController.php" />
<option value="$PROJECT_DIR$/www/protected/components/UserIdentity.php" />
<option value="$PROJECT_DIR$/www/protected/views/log/_ajaxMarkdownPreview.php" />
<option value="$PROJECT_DIR$/www/protected/models/Log.php" />
<option value="$PROJECT_DIR$/www/protected/views/log/_form.php" />
<option value="$PROJECT_DIR$/www/protected/controllers/LogController.php" />
<option value="$PROJECT_DIR$/www/protected/controllers/MSMainController.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/debugerror.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/error.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/login.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/admin.php" />
<option value="$PROJECT_DIR$/www/protected/views/layouts/main.php" />
<option value="$PROJECT_DIR$/www/egh.php" />
<option value="$PROJECT_DIR$/www/extendedGitGraph.php" />
<option value="$PROJECT_DIR$/www/protected/config/main.php" />
<option value="$PROJECT_DIR$/www/css/styles.css" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/admin_updateEGH.php" />
<option value="$PROJECT_DIR$/www/protected/views/layouts/main.php" />
<option value="$PROJECT_DIR$/www/protected/components/MSController.php" />
<option value="$PROJECT_DIR$/www/protected/controllers/MSMainController.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/about.php" />
<option value="$PROJECT_DIR$/www/protected/components/extendedGitGraph/extendedGitGraph.php" />
<option value="$PROJECT_DIR$/www/protected/views/msmain/admin.php" />
<option value="$PROJECT_DIR$/www/protected/data/.gitignore" />
</list>
</option>
</component>
@ -169,7 +139,7 @@
<option name="x" value="55" />
<option name="y" value="-8" />
<option name="width" value="1873" />
<option name="height" value="1092" />
<option name="height" value="1096" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
@ -252,20 +222,6 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope">
<subPane subId="Mikescher.de App">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
<PATH_ELEMENT USER_OBJECT="www.mikescher.de">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="ProjectPane">
<subPane>
<PATH>
@ -364,32 +320,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="protected" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="views" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="log" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
@ -434,7 +364,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="models" />
<option name="myItemId" value="data" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -460,28 +390,6 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="protected" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="config" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
@ -526,37 +434,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="widgets" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www.mikescher.de" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="www" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="protected" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="components" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="widgets" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="views" />
<option name="myItemId" value="extendedGitGraph" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -580,6 +458,20 @@
</PATH>
</subPane>
</pane>
<pane id="Scope">
<subPane subId="Mikescher.de App">
<PATH>
<PATH_ELEMENT USER_OBJECT="Root">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
<PATH_ELEMENT USER_OBJECT="www.mikescher.de">
<option name="myItemId" value="" />
<option name="myItemType" value="" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
</panes>
</component>
<component name="PropertiesComponent">
@ -593,7 +485,7 @@
<property name="LayoutCode.rearrangeEntriesPHP" value="false" />
<property name="restartRequiresConfirmation" value="true" />
<property name="dynamic.classpath" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/www/protected" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../extendedGitGraph" />
<property name="SearchEverywhereHistory" value="phpdo&#10;scope" />
<property name="TODO_SCOPE" value="Project Files" />
</component>
@ -609,7 +501,7 @@
<recent name="E:\Eigene Dateien\Dropbox\Programming\Web\Mikescher.de\www.mikescher.de\www\protected\components\widgets" />
</key>
</component>
<component name="RunManager" selected="PHP HTTP Request.www.mikescher.de - Index">
<component name="RunManager" selected="PHP HTTP Request.www.mikescher.de - About">
<configuration default="false" name="index.php" type="JavascriptDebugType" factoryName="JavaScript Debug" singleton="true" temporary="true" uri="http://localhost:63342/www.mikescher.de/www/index.php">
<method />
</configuration>
@ -620,6 +512,11 @@
<ConfigurationWrapper RunnerId="PhpScriptDebugRunner" />
<method />
</configuration>
<configuration default="false" name="egh.php" type="PhpLocalRunConfigurationType" factoryName="PHP Console" temporary="true" path="$PROJECT_DIR$/www/egh.php">
<RunnerSettings RunnerId="PhpScriptDebugRunner" />
<ConfigurationWrapper RunnerId="PhpScriptDebugRunner" />
<method />
</configuration>
<configuration default="true" type="PHPUnitRunConfigurationType" factoryName="PHPUnit">
<TestRunner />
<method />
@ -659,16 +556,18 @@
<ConfigurationWrapper RunnerId="PhpRunner" />
<method />
</configuration>
<list size="4">
<list size="5">
<item index="0" class="java.lang.String" itemvalue="PHP HTTP Request.www.mikescher.de - Index" />
<item index="1" class="java.lang.String" itemvalue="PHP HTTP Request.www.mikescher.de - About" />
<item index="2" class="java.lang.String" itemvalue="JavaScript Debug.index.php" />
<item index="3" class="java.lang.String" itemvalue="PHP Script.index.php" />
<item index="4" class="java.lang.String" itemvalue="PHP Script.egh.php" />
</list>
<recent_temporary>
<list size="2">
<item index="0" class="java.lang.String" itemvalue="PHP Script.index.php" />
<item index="1" class="java.lang.String" itemvalue="JavaScript Debug.index.php" />
<list size="3">
<item index="0" class="java.lang.String" itemvalue="PHP Script.egh.php" />
<item index="1" class="java.lang.String" itemvalue="PHP Script.index.php" />
<item index="2" class="java.lang.String" itemvalue="JavaScript Debug.index.php" />
</list>
</recent_temporary>
</component>
@ -720,29 +619,29 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="55" y="-8" width="1873" height="1092" extended-state="0" />
<editor active="true" />
<frame x="55" y="-8" width="1873" height="1096" extended-state="6" />
<editor active="false" />
<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.32873806" sideWeight="0.4997245" order="11" 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.32694355" sideWeight="0.4997245" 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="Framework" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3294766" sideWeight="0.5" order="2" 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.39766702" sideWeight="0.4997245" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3244963" sideWeight="0.5002755" order="9" side_tool="true" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2214876" sideWeight="0.5" order="3" 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="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.3244963" sideWeight="0.4997245" 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.24958678" sideWeight="0.5" order="1" 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.23581268" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Framework" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3294766" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2429752" sideWeight="0.5" 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.3972311" sideWeight="0.4997245" 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.2214876" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3244963" sideWeight="0.5002755" order="9" 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.33722162" sideWeight="0.4997245" 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="10" 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="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32694355" sideWeight="0.4997245" 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="PHP-CGI Server" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" 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" />
<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" />
</layout>
</component>
<component name="UnknownFeatures">
@ -766,45 +665,10 @@
<breakpoints-dialog>
<breakpoints-dialog />
</breakpoints-dialog>
<option name="time" value="23" />
<option name="time" value="30" />
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/gii/bootstrap/BootstrapCode.php">
<provider selected="true" editor-type-id="text-editor">
<state line="33" column="28" selection-start="1355" selection-end="1355" vertical-scroll-proportion="-7.1923075" vertical-offset="272" max-vertical-offset="1054" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/gii/bootstrap/templates/default/_form.php">
<provider selected="true" editor-type-id="text-editor">
<state line="41" column="20" selection-start="1442" selection-end="1442" vertical-scroll-proportion="-13.730769" vertical-offset="289" max-vertical-offset="850" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/gii/bootstrap/templates/default/_search.php">
<provider selected="true" editor-type-id="text-editor">
<state line="30" column="80" selection-start="996" selection-end="996" vertical-scroll-proportion="-14.384615" vertical-offset="85" max-vertical-offset="646" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/tests/unit/TbHtmlTest.php">
<provider selected="true" editor-type-id="text-editor">
<state line="3927" column="8" selection-start="122401" selection-end="122401" vertical-scroll-proportion="-13.730769" vertical-offset="66402" max-vertical-offset="66963" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbAffix.php">
<provider selected="true" editor-type-id="text-editor">
<state line="46" column="13" selection-start="1329" selection-end="1329" vertical-scroll-proportion="-12.115385" vertical-offset="365" max-vertical-offset="952" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbAlert.php">
<provider selected="true" editor-type-id="text-editor">
<state line="88" column="21" selection-start="2778" selection-end="2778" vertical-scroll-proportion="-13.730769" vertical-offset="1037" max-vertical-offset="1598" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbBreadcrumb.php">
<provider selected="true" editor-type-id="text-editor">
<state line="70" column="17" selection-start="2099" selection-end="2099" vertical-scroll-proportion="-15.038462" vertical-offset="714" max-vertical-offset="1275" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbButtonColumn.php">
<provider selected="true" editor-type-id="text-editor">
<state line="78" column="29" selection-start="2791" selection-end="2791" vertical-scroll-proportion="-11.115385" vertical-offset="918" max-vertical-offset="1479" />
@ -892,195 +756,199 @@
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/programs/index.php">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="0" selection-start="395" selection-end="478" vertical-scroll-proportion="0.0" vertical-offset="340" max-vertical-offset="1326">
<folding />
</state>
<state line="20" column="0" selection-start="395" selection-end="478" vertical-scroll-proportion="0.0" vertical-offset="340" max-vertical-offset="1326" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/config/env/prod.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="629">
<folding />
</state>
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="629" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/helpers/TbHtml.php">
<provider selected="true" editor-type-id="text-editor">
<state line="3348" column="27" selection-start="132363" selection-end="132363" vertical-scroll-proportion="0.3427283" vertical-offset="56493" max-vertical-offset="74018">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/about.php">
<provider selected="true" editor-type-id="text-editor">
<state line="19" column="63" selection-start="488" selection-end="490" vertical-scroll-proportion="0.0" vertical-offset="323" max-vertical-offset="1530">
<folding />
</state>
<state line="3348" column="27" selection-start="132363" selection-end="132363" vertical-scroll-proportion="0.3427283" vertical-offset="56493" max-vertical-offset="74018" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/config/env/dev.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1003">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1003" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/index.php">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="6" selection-start="738" selection-end="738" vertical-scroll-proportion="-25.5" vertical-offset="0" max-vertical-offset="765" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/ProgramsController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="39" selection-start="158" selection-end="182" vertical-scroll-proportion="73.88461" vertical-offset="2040" max-vertical-offset="4216" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/create.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="913" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbActiveForm.php">
<provider selected="true" editor-type-id="text-editor">
<state line="443" column="20" selection-start="17569" selection-end="17569" vertical-scroll-proportion="-11.692307" vertical-offset="7125" max-vertical-offset="12461" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/ExpandedLogHeader.php">
<provider selected="true" editor-type-id="text-editor">
<state line="30" column="20" selection-start="562" selection-end="562" vertical-scroll-proportion="-19.26923" vertical-offset="9" max-vertical-offset="901" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/views/expandedLogHeader.php">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="0" selection-start="428" selection-end="516" vertical-scroll-proportion="-11.769231" vertical-offset="0" max-vertical-offset="595" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/models/Log.php">
<provider selected="true" editor-type-id="text-editor">
<state line="31" column="43" selection-start="725" selection-end="725" vertical-scroll-proportion="-0.65384614" vertical-offset="510" max-vertical-offset="2057" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/_ajaxMarkdownPreview.php">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="14" selection-start="71" selection-end="71" vertical-scroll-proportion="-3.9230769" vertical-offset="0" max-vertical-offset="204" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/framework/web/CController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="864" column="20" selection-start="32477" selection-end="32477" vertical-scroll-proportion="0.3427283" vertical-offset="14265" max-vertical-offset="20910" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/login.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="1071" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/error.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="887" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/_form.php">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="115" selection-start="1481" selection-end="1481" vertical-scroll-proportion="0.7316798" vertical-offset="14" max-vertical-offset="969" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/debugerror.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="887" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/LogController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="35" column="25" selection-start="774" selection-end="774" vertical-scroll-proportion="0.67080045" vertical-offset="0" max-vertical-offset="3417" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/MsHtml.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="6" selection-start="12" selection-end="12" vertical-scroll-proportion="-0.43742955" vertical-offset="405" max-vertical-offset="1292" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="0" selection-start="537" selection-end="558" vertical-scroll-proportion="-18.307692" vertical-offset="0" max-vertical-offset="1071" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/framework/web/auth/CUserIdentity.php">
<provider selected="true" editor-type-id="text-editor">
<state line="31" column="4" selection-start="945" selection-end="962" vertical-scroll-proportion="0.43771043" vertical-offset="18" max-vertical-offset="1360" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/UserIdentity.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="34" selection-start="212" selection-end="212" vertical-scroll-proportion="0.1335578" vertical-offset="0" max-vertical-offset="891" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/extendedGitGraph/style.css">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="1637" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1615">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/data/disclaimer.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="900">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/config/main.php">
<provider selected="true" editor-type-id="text-editor">
<state line="70" column="53" selection-start="1528" selection-end="1528" vertical-scroll-proportion="-21.076923" vertical-offset="642" max-vertical-offset="1955">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/index.php">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="6" selection-start="738" selection-end="738" vertical-scroll-proportion="-25.5" vertical-offset="0" max-vertical-offset="765">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/UserIdentity.php">
<provider selected="true" editor-type-id="text-editor">
<state line="21" column="77" selection-start="678" selection-end="678" vertical-scroll-proportion="0.40248027" vertical-offset="0" max-vertical-offset="887">
<folding>
<marker date="1402070789932" expanded="true" signature="-1:-1" placeholder="SELECT SValu..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/ProgramsController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="7" column="39" selection-start="158" selection-end="182" vertical-scroll-proportion="73.88461" vertical-offset="2040" max-vertical-offset="4216">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/create.php">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="913">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/extensions/bootstrap/widgets/TbActiveForm.php">
<provider selected="true" editor-type-id="text-editor">
<state line="443" column="20" selection-start="17569" selection-end="17569" vertical-scroll-proportion="-11.692307" vertical-offset="7125" max-vertical-offset="12461">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/ExpandedLogHeader.php">
<provider selected="true" editor-type-id="text-editor">
<state line="30" column="20" selection-start="562" selection-end="562" vertical-scroll-proportion="-19.26923" vertical-offset="9" max-vertical-offset="901">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/widgets/views/expandedLogHeader.php">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="0" selection-start="428" selection-end="516" vertical-scroll-proportion="-11.769231" vertical-offset="0" max-vertical-offset="595">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/models/Log.php">
<provider selected="true" editor-type-id="text-editor">
<state line="31" column="43" selection-start="725" selection-end="725" vertical-scroll-proportion="-0.65384614" vertical-offset="510" max-vertical-offset="2057">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/_ajaxMarkdownPreview.php">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="14" selection-start="71" selection-end="71" vertical-scroll-proportion="-3.9230769" vertical-offset="0" max-vertical-offset="204">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/framework/web/CController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="864" column="20" selection-start="32477" selection-end="32477" vertical-scroll-proportion="0.3427283" vertical-offset="14265" max-vertical-offset="20910">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/login.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="1071">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/error.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="887">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/_form.php">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="115" selection-start="1481" selection-end="1481" vertical-scroll-proportion="0.7316798" vertical-offset="14" max-vertical-offset="969">
<folding>
<marker date="1402073199523" expanded="true" signature="-1:-1" placeholder="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/MSMainController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="111" column="17" selection-start="2044" selection-end="2044" vertical-scroll-proportion="0.31003383" vertical-offset="1612" max-vertical-offset="2584">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/debugerror.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="20" selection-start="26" selection-end="26" vertical-scroll-proportion="0.019165726" vertical-offset="0" max-vertical-offset="887">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/LogController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="35" column="25" selection-start="774" selection-end="774" vertical-scroll-proportion="0.67080045" vertical-offset="0" max-vertical-offset="3417">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/MsHtml.php">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="6" selection-start="12" selection-end="12" vertical-scroll-proportion="-0.43742955" vertical-offset="405" max-vertical-offset="1292">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="36" column="62" selection-start="738" selection-end="738" vertical-scroll-proportion="-17.76923" vertical-offset="150" max-vertical-offset="1241">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/log/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="0" selection-start="537" selection-end="558" vertical-scroll-proportion="-18.307692" vertical-offset="0" max-vertical-offset="1071">
<state line="34" column="56" selection-start="875" selection-end="875" vertical-scroll-proportion="0.65163475" vertical-offset="0" max-vertical-offset="1972">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/css/styles.css">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="28" selection-start="832" selection-end="832" vertical-scroll-proportion="0.63307774" vertical-offset="255" max-vertical-offset="6103">
<state line="409" column="1" selection-start="7325" selection-end="7325" vertical-scroll-proportion="0.0" vertical-offset="6703" max-vertical-offset="7616">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/layouts/main.php">
<provider selected="true" editor-type-id="text-editor">
<state line="49" column="88" selection-start="1927" selection-end="1927" vertical-scroll-proportion="0.46910754" vertical-offset="423" max-vertical-offset="1683">
<state line="55" column="52" selection-start="2182" selection-end="2182" vertical-scroll-proportion="-4.8461537" vertical-offset="809" max-vertical-offset="1836">
<folding>
<marker date="1402075581793" expanded="true" signature="2632:2667" placeholder="..." />
<marker date="1402162820506" expanded="true" signature="-1:-1" placeholder="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/MSController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="28" column="22" selection-start="836" selection-end="847" vertical-scroll-proportion="-18.307692" vertical-offset="0" max-vertical-offset="595">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/admin_updateEGH.php">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="59" selection-start="296" selection-end="296" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="306">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/controllers/MSMainController.php">
<provider selected="true" editor-type-id="text-editor">
<state line="77" column="99" selection-start="1517" selection-end="1517" vertical-scroll-proportion="20.153847" vertical-offset="1833" max-vertical-offset="2720">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/about.php">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="0" selection-start="1086" selection-end="1086" vertical-scroll-proportion="0.89299613" vertical-offset="204" max-vertical-offset="1598">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/components/extendedGitGraph/extendedGitGraph.php">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="10" selection-start="759" selection-end="759" vertical-scroll-proportion="-8.538462" vertical-offset="50" max-vertical-offset="4726">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/data/.gitignore">
<provider selected="true" editor-type-id="text-editor">
<state line="1" column="12" selection-start="38" selection-end="38" vertical-scroll-proportion="0.031481482" vertical-offset="0" max-vertical-offset="540">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/www/protected/views/msmain/admin.php">
<provider selected="true" editor-type-id="text-editor">
<state line="77" column="0" selection-start="1488" selection-end="1488" vertical-scroll-proportion="0.6692607" vertical-offset="965" max-vertical-offset="1564">
<folding>
<element signature="n#style#0;n#div#2;n#div#0;n#div#0;n#!!top" expanded="true" />
<element signature="n#style#0;n#div#3;n#div#0;n#div#0;n#!!top" expanded="true" />
</folding>
</state>
</provider>

View File

@ -351,4 +351,93 @@ ul.nav li.dropdown-append:hover > ul.dropdown-menu {
.expCollContent > div {
padding: 15px 60px;
}
/* ExtendedGitGraph
-------------------------------------------------- */
.git_list {
display: inline-block;
width: 715px;
height: 115px;
overflow: visible;
}
.git_list text.caption {
font-size: 10px;
fill: #666;
}
.git_list text.caption_month {
font-size: 8px;
fill: #BBB;
}
.git_list text.caption_day {
font-size: 8px;
fill: #BBB;
}
.svg-tip:after {
box-sizing: border-box;
position: absolute;
left: 50%;
height: 5px;
width: 5px;
bottom: -10px;
margin: 0px 0px 0px -5px;
content: " ";
border: 5px solid transparent;
border-top-color: rgba(0, 0, 0, 0.8);
-moz-border-top-colors: none;
-moz-border-right-colors: none;
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
border-image: none;
}
.svg-tip {
padding: 5px;
background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.8);
color: #BBB;
font-size: 12px;
position: absolute;
z-index: 99999;
text-align: center;
border-radius: 3px;
box-sizing: border-box;
opacity: 0;
}
.extGitGraphContainer {
background-color: #ECF0F1;
margin: 10px;
display: inline-block;
border: 1px solid #E3E3E3;
border-radius: 4px;
box-shadow: 0px 0 1px rgba(0, 0, 0, 0.25) inset;
}
.egg_footer {
margin-top: 5px;
text-align: right;
margin-right: 5px;
margin-bottom: 5px;
color: #FFF;
text-shadow: 0px 0px 8px #2C3E50, 0px 0px 8px #2C3E50;
}
.egg_footer > a {
text-decoration: none;
color: inherit;
}
.egg_footer > a:hover {
text-decoration: none;
color: #2C3E50;
text-shadow: 0px 0px 8px #00F;
}

View File

@ -22,4 +22,9 @@ class MSController extends CController
* @var string the currently active Element in the Navbar
*/
public $selectedNav = '';
/**
* @var string[] additional js scripts
*/
public $js_scripts = array();
}

View File

@ -0,0 +1,34 @@
<?php
include 'extendedGitGraph.php';
$v = new ExtendedGitGraph('Mikescher');
//$v->authenticate('7e26c5f1621349c14a7d');
//$v->setToken('7b3f6443cdd4b2f92d75c4c8aa83cfda6c7ca3ce');
//$v->collect();
$v->loadData();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" language="JavaScript">
<?php include 'script.js'; ?>
</script>
</head>
<body>
<?php
//echo $v->generateAndSave();
echo $v->loadFinished();
?>
</body>
</html>

View File

@ -0,0 +1,277 @@
<?php
/* https://api.github.com/rate_limit
* https://api.github.com/users/Mikescher/repos?page=1&per_page=100
* https://api.github.com/repos/Mikescher/BefunGen/commits?author=mailport@mikescher.de&sha=3498a7d04dfec2775eb8cc12fdb856aea4d08184
*
*/
class ExtendedGitGraph {
const API_AUTHORIZE = 'https://github.com/login/oauth/authorize?client_id=d51cb5eb4036e5b5b871';
const API_TOKEN = 'https://github.com/login/oauth/access_token?client_id=d51cb5eb4036e5b5b871&client_secret=536915cfd90f2d3a501fbde25fc1965a24523421&code=%s';
const API_RATELIMIT = 'https://api.github.com/rate_limit';
const API_REPOSITORIESLIST = 'https://api.github.com/users/%s/repos?page=%d&per_page=100';
private $username;
private $token;
private $tokenHeader;
public $repositories;
public $commits;
public function __construct($usr_name) {
$this->username = $usr_name;
set_time_limit(300); // 5min
}
public function authenticate($auth_key) {
$url = sprintf(self::API_TOKEN, $auth_key);
$result = file_get_contents($url);
$result = str_replace('access_token=', '', $result);
$result = str_replace('&scope=&token_type=bearer', '', $result);
setToken($result);
}
public function setToken($token) {
$this->token = $token;
$this->tokenHeader = 'access_token=' . $token . '&token_type=bearer';
}
public function collect() {
ob_implicit_flush(true);
ob_end_flush();
//--------------------------------
$this->listRepositories();
$this->listAllCommits();
$this->save();
//--------------------------------
$this->output_flushed($this->getRemainingRequests() . ' Requests remaining');
}
private function listRepositories() {
$page = 1;
$url = sprintf(self::API_REPOSITORIESLIST . '&' . $this->tokenHeader, $this->username, $page);
$result = $this->getJSON($url);
$repo_list = array();
while (! empty($result)) {
foreach ($result as $result_repo) {
$repo_list[] = $this->parseRepoJSON($result_repo);
$this->output_flushed("Found Repo: " . $result_repo->{'full_name'});
}
//##########
$url = sprintf(self::API_REPOSITORIESLIST . '&' . $this->tokenHeader, $this->username, ++$page);
$result = $this->getJSON($url);
}
$this->repositories = $repo_list;
}
private function getJSON($url) {
$options = array('http' => array('user_agent'=> $_SERVER['HTTP_USER_AGENT']));
// $options = array('http' => array('user_agent'=> 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36'));
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
return json_decode($response);
}
private function getRemainingRequests() {
$json = $this->getJSON(self::API_RATELIMIT . '?' . $this->tokenHeader);
return $json->{'resources'}->{'core'}->{'remaining'};
}
private function listAllCommits() {
$this->commits = array();
foreach($this->repositories as $repo) {
$this->listCommits($repo);
}
}
private function listCommits($repo) {
$page = 1;
$url = $repo['commits_url'] . '?per_page=100&page=' . $page . '&author=' .$this->username . '&' .$this->tokenHeader;
$result = $this->getJSON($url);
$commit_list = array();
while (! empty($result)) {
foreach ($result as $result_commit) {
$commit_list[] = $this->parseCommitJSON($repo, $result_commit);
}
$this->output_flushed("Found 100 Commits from " . $repo['full_name']);
//##########
$url = $repo['commits_url'] . '?per_page=100&page=' . ++$page . '&author=' .$this->username . '&' .$this->tokenHeader;
$result = $this->getJSON($url);
}
$this->commits = array_merge($this->commits, $commit_list);
}
private function parseRepoJSON($json) {
return
[
'id' => $json->{'id'},
'name' => $json->{'name'},
'full_name' => $json->{'full_name'},
'owner' => $json->{'owner'}->{'login'},
'owner_id' => $json->{'owner'}->{'id'},
'owner_avatar-url' => $json->{'owner'}->{'avatar_url'},
'owner_gravatar-id' => $json->{'owner'}->{'gravatar_id'},
'url' => $json->{'html_url'},
'language' => $json->{'language'},
'url' => $json->{'html_url'},
'creation' => DateTime::createFromFormat(DateTime::ISO8601, $json->{'created_at'}),
'size' => $json->{'size'},
'default_branch' => $json->{'default_branch'},
'commits_url' => str_replace('{/sha}', '', $json->{'commits_url'}),
];
}
private function parseCommitJSON($repo, $json) {
return
[
'sha' => $json->{'sha'},
'author_name' => $json->{'commit'}->{'author'}->{'name'},
'author_mail' => $json->{'commit'}->{'author'}->{'email'},
'author_login' => $json->{'author'}->{'login'},
'author_id' => $json->{'author'}->{'id'},
'sha' => $json->{'sha'},
'message' => $json->{'commit'}->{'message'},
'repository' => $repo,
'date' => DateTime::createFromFormat(DateTime::ISO8601, $json->{'commit'}->{'author'}->{'date'}),
];
}
private function save() {
$this->output_flushed("Start saving data");
$save = serialize(
[
'repositories' => $this->repositories,
'commits' => $this->commits,
]);
file_put_contents('protected/data/ext_git_graph_apidata.dat', $save);
$this->output_flushed('Finished saving data');
}
public function output_flushed($txt)
{
echo '[' . date('H:i.s') . '] ' . $txt . "<br>";
}
public function loadData() {
$data = unserialize(file_get_contents('protected/data/ext_git_graph_apidata.dat'));
$this->repositories = $data['repositories'];
$this->commits = $data['commits'];
}
public function generate($year) {
$ymap = $this->generateYearMap($year); // unused on purpose (template.php needs it)
$ymapmax = $this->getMaxCommitCount(); // unused on purpose (template.php needs it)
ob_start();
include('template.php');
$returned = ob_get_contents();
ob_end_clean();
return $returned;
}
public function generateAndSave() {
$result = '';
foreach($this->getYears() as $year) {
$result.= $this->generate($year);
$result.= '<br />';
}
file_put_contents('protected/data/gitgraph.dat',
serialize(
[
'creation' => new DateTime(),
'content' => $result,
]));
return $result;
}
public function loadFinished() {
$data = unserialize(file_get_contents('protected/data/gitgraph.dat'));
return $data['content'];
}
public function getFinishedDate() {
$data = unserialize(file_get_contents('protected/data/gitgraph.dat'));
return $data['creation'];
}
private function getMaxCommitCount() {
$max = 0;
foreach($this->getYears() as $year) {
$max = max($max, max($this->generateYearMap($year)));
}
return $max;
}
private function generateYearMap($year) {
$ymap = array();
$date = new DateTime($year . '-01-01');
while($date->format('Y') == $year) {
$ymap[$date->format('Y-m-d')] = 0;
$date = $date->modify("+1 day");
}
foreach ($this->commits as $commit) {
if(array_key_exists($commit['date']->format('Y-m-d'), $ymap))
$ymap[$commit['date']->format('Y-m-d')]++;
}
return $ymap;
}
public function getYears() {
$years = array();
foreach ($this->commits as $commit) {
if(! in_array($commit['date']->format('Y'), $years))
$years[] = $commit['date']->format('Y');
}
asort($years);
return $years;
}
}

View File

@ -0,0 +1,25 @@
jQuery(document).ready(function ($) {
$('.svg-tip').fadeOut(0);
$('.svg-tip').css({opacity: 1});
$("rect").mouseenter(
function (event) {
$('.svg-tip').stop(true, true);
$('.svg-tip').fadeIn(400);
$('.svg-tip strong').html($(event.target).attr('hvr_header'));
$('.svg-tip span').html($(event.target).attr('hvr_content'));
$('.svg-tip').css({left: $(event.target).position().left - $('.svg-tip').outerWidth() /2 - 2.5 + 9});
$('.svg-tip').css({top: $(event.target).position().top - $('.svg-tip').outerHeight() - 10});
}
);
$("rect").mouseleave(
function () {
$('.svg-tip').stop(true, true);
$('.svg-tip').fadeOut(400);
}
);
});

View File

@ -0,0 +1,90 @@
.git_list {
display: inline-block;
width: 715px;
height: 115px;
overflow: visible;
}
.git_list text.caption {
font-size: 10px;
fill: #666;
}
.git_list text.caption_month {
font-size: 8px;
fill: #BBB;
}
.git_list text.caption_day {
font-size: 8px;
fill: #BBB;
}
.svg-tip:after {
box-sizing: border-box;
position: absolute;
left: 50%;
height: 5px;
width: 5px;
bottom: -10px;
margin: 0px 0px 0px -5px;
content: " ";
border: 5px solid transparent;
border-top-color: rgba(0, 0, 0, 0.8);
-moz-border-top-colors: none;
-moz-border-right-colors: none;
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
border-image: none;
}
.svg-tip {
padding: 5px;
background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.8);
color: #BBB;
font-size: 12px;
position: absolute;
z-index: 99999;
text-align: center;
border-radius: 3px;
box-sizing: border-box;
opacity: 0;
}
body {
background-color: white;
margin: 40px 0 0;
}
.extGitGraphContainer {
background-color: #ECF0F1;
margin: 10px;
display: inline-block;
border: 1px solid #E3E3E3;
border-radius: 4px;
box-shadow: 0px 0 1px rgba(0, 0, 0, 0.25) inset;
}
.egg_footer {
margin-top: 5px;
text-align: right;
margin-right: 5px;
margin-bottom: 5px;
color: #FFF;
text-shadow: 0px 0px 8px #2C3E50, 0px 0px 8px #2C3E50;
}
.egg_footer > a {
text-decoration: none;
color: inherit;
}
.egg_footer > a:hover {
text-decoration: none;
color: #2C3E50;
text-shadow: 0px 0px 8px #00F;
}

View File

@ -0,0 +1,109 @@
<?php
/* @var $year integer */
/* @var ymap integer[] */
/* @var $ymapmax integer */
?>
<?php
$DIST_X = 13;
$DIST_Y = 13;
$DAY_WIDTH = 11;
$DAY_HEIGHT = 11;
$COLORS = ['#F5F5F5', '#DBDEE0', '#C2C7CB', '#AAB0B7', '#9099A2', '#77828E', '#5E6B79', '#455464', '#2C3E50'];
$MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
$DAYS = ['M', 'T', 'W', 'T', 'F', 'S', 'S'];
?>
<?php
$date = new DateTime($year . '-01-01');
$monthlist = array_fill(0, 12, [0, 0]);
?>
<div class="extGitGraphContainer">
<svg class="git_list">
<g transform="translate(20, 20) ">
<g transform="translate(0, 0)">
<?php
$now = new DateTime();
$exponent = log(0.98/(count($COLORS)-1), 1/$ymapmax); // (1/max)^n = 0.98 // => 1 commit erreicht immer genau die erste stufe
$week = 0;
while($date->format('Y') == $year) {
if ($date > new DateTime()) {// THE FUTURE, SPONGEBOB
while ($date->format('d') != $date->format('t')) {
if ($date->format('N') == 1 && $date->format('z') > 0) {
$week++;
}
$date = $date->modify("+1 day");
}
$monthlist[$date->format('m') - 1][1] = $week + ($wday / 7);
$date = $date->modify("+1 year"); // Kill
continue;
}
$c_count = $ymap[$date->format('Y-m-d')];
$color_idx = ceil(pow($c_count/$ymapmax, $exponent) * (count($COLORS)-1));
$color = $COLORS[$color_idx];
$wday = ($date->format('N') - 1);
if ($date->format('N') == 1 && $date->format('z') > 0) {
echo '</g>', PHP_EOL;
$week++;
echo '<g transform="translate(' . $week*$DIST_X . ', 0)">', PHP_EOL;
}
if ($date->format('d') == 1) {
$monthlist[$date->format('m') - 1][0] = $week + ($wday / 7);
} else if ($date->format('d') == $date->format('t')) {
$monthlist[$date->format('m') - 1][1] = $week + ($wday / 7);
}
echo '<rect style="fill: ' . $color .
';" y="' . $wday*$DIST_Y .
'" height="' . $DAY_HEIGHT .
'" width="' . $DAY_WIDTH .
'" dbg_tag="' . $date->format('d.m.Y') . ' [' . $year . ' :: '.$week.' :: '.$wday.'] -> ' . $color_idx .
'" hvr_header="' . $c_count . ' commits'.
'" hvr_content="' . ' ' . $date->format('\o\n l jS F Y') .
'"/>', PHP_EOL;
$date = $date->modify("+1 day");
}
?>
</g>
<?php
for($i = 0; $i < 12; $i++) {
if ($monthlist[$i][1]-$monthlist[$i][0] > 0) {
$posx = (($monthlist[$i][0]+$monthlist[$i][1])/2) * $DIST_X;
echo '<text y="-3" x="' . $posx . '" style="text-anchor: middle" class="caption_month">' . $MONTHS[$i] . '</text>';
}
}
for($i = 0; $i < 7; $i++) {
echo '<text y="' . ($i*$DIST_Y + $DAY_HEIGHT/2) . '" x="-6" style="text-anchor: middle" class="caption_day" dominant-baseline="central">' . $DAYS[$i] . '</text>';
}
echo '<text x="-10" y="-5" class="caption">' . $year . '</text>';
?>
</g>
</svg>
<div class="svg-tip n">
<strong>&nbsp;</strong><span>&nbsp;</span>
</div>
<div class="egg_footer">
<a href="/programs/view/ExtendedGitGraph">extendedGitGraph</a>
</div>
</div>

View File

@ -32,6 +32,7 @@ return ArrayX::merge(
'application.models.*',
'application.components.*',
'application.components.widgets.*',
'application.components.extendedGitGraph.*',
'bootstrap.components.*',
'bootstrap.behaviors.*',
'bootstrap.helpers.*',

View File

@ -75,6 +75,8 @@ class MSMainController extends MSController
{
$data = array();
$this->js_scripts[] = file_get_contents('protected/components/extendedGitGraph/script.js');
if(isset($_POST['SendMailForm']))
{
$model = new SendMailForm();
@ -132,6 +134,12 @@ class MSMainController extends MSController
public function actionAdmin()
{
if (isset($_GET['do_egh_update']) && $_GET['do_egh_update'] == '1') {
$this->layout = null;
$this->render('admin_updateEGH', array());
return;
}
$this->render('admin', array());
}

2
www/protected/data/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
ext_git_graph_apidata.dat
gitgraph.dat

View File

@ -90,5 +90,14 @@
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="/javascript/scripts.js"></script>
<?php
foreach($this->js_scripts as $script ) {
echo '<script type="text/javascript" language="JavaScript">', PHP_EOL;
echo $script;
echo '</script>', PHP_EOL;
}
?>
</body>
</html>

View File

@ -27,6 +27,9 @@ $this->selectedNav = 'about';
<p>If you want you can look <?php echo MsHtml::link('here', '/programs'); ?> at the things I programd </p>
</div>
<?php echo (new ExtendedGitGraph('Mikescher'))->loadFinished(); ?>
<br />
<div class="well cstm-well-light">
<?php
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm',
@ -35,6 +38,7 @@ $this->selectedNav = 'about';
]);
?>
<fieldset>
<legend>Contact</legend>
<?php

View File

@ -39,7 +39,7 @@
); ?>
</div>
<div class="span3">
<div class="span3" style="display: none">
<?php
echo MsHtml::lead('Programs');
@ -52,7 +52,7 @@
); ?>
</div>
<div class="span3">
<div class="span3" style="display: none">
<?php
echo MsHtml::lead('Programs');
@ -65,4 +65,23 @@
); ?>
</div>
</div>
<div class="well well-small">
<?php
$egh = new ExtendedGitGraph('Mikescher');
$egh->loadData();
?>
<h2>ExtendedGitGraph</h2>
<hr>
<strong>Last Update: </strong> <?php echo $egh->getFinishedDate()->format('d.m.Y H:i'); ?> <br>
<strong>Repositories: </strong> <?php echo count($egh->repositories); ?> <br>
<strong>Commits: </strong> <?php echo count($egh->commits); ?> <br>
<br><br>
<a class="btn btn-primary" href="?do_egh_update=1"> Update </a>
</div>
</div>

View File

@ -0,0 +1,13 @@
<?php
$v = new ExtendedGitGraph('Mikescher');
//$v->authenticate('7e26c5f1621349c14a7d');
$v->setToken('7b3f6443cdd4b2f92d75c4c8aa83cfda6c7ca3ce');
$v->collect();
$v->generateAndSave();
$v->output_flushed('Generated and Finished');
$v->output_flushed('<a href="/admin" class="btn btn-primary">back</a>');