Added Contact form

This commit is contained in:
R. Eric Wheeler 2016-07-10 18:45:50 -07:00
parent da02c1b6c8
commit 3fb36fdfb1
9 changed files with 885 additions and 331 deletions

View File

@ -2,8 +2,15 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="cf1e275f-fbc1-41d4-a421-0f55447b6367" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/Sikofitt/Form/Type/ContactType.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bower.json" afterPath="$PROJECT_DIR$/bower.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/config/config.yml" afterPath="$PROJECT_DIR$/app/config/config.yml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/providers.php" afterPath="$PROJECT_DIR$/app/providers.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/views/resume.html.twig" afterPath="$PROJECT_DIR$/app/views/resume.html.twig" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.json" afterPath="$PROJECT_DIR$/composer.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/composer.lock" afterPath="$PROJECT_DIR$/composer.lock" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Sikofitt/Controller/ApiControllerProvider.php" afterPath="$PROJECT_DIR$/src/Sikofitt/Controller/ApiControllerProvider.php" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/Sikofitt/Controller/ResumeControllerProvider.php" afterPath="$PROJECT_DIR$/src/Sikofitt/Controller/ResumeControllerProvider.php" />
</list>
<ignored path="resume.iws" />
<ignored path=".idea/workspace.xml" />
@ -15,7 +22,6 @@
<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>
@ -25,113 +31,86 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="index.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220">
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="resume.json" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/data/resume.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="990">
<caret line="45" column="45" selection-start-line="45" selection-start-column="45" selection-end-line="45" selection-end-column="45" />
<state relative-caret-position="797">
<caret line="68" column="9" selection-start-line="68" selection-start-column="9" selection-end-line="68" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="package.json" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/package.json">
<file leaf-file-name="ResumeControllerProvider.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Controller/ResumeControllerProvider.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="19" column="0" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
<state relative-caret-position="342">
<caret line="40" column="57" selection-start-line="40" selection-start-column="57" selection-end-line="40" selection-end-column="57" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ApiControllerProvider.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Controller/ApiControllerProvider.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="739">
<caret line="61" column="31" selection-start-line="61" selection-start-column="31" selection-end-line="61" selection-end-column="31" />
<folding>
<element signature="e#544#568#0#PHP" expanded="true" />
<element signature="e#853#951#0#PHP" expanded="true" />
<element signature="e#853#951#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="resume.html.twig" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/resume.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3478">
<caret line="231" column="20" selection-start-line="231" selection-start-column="20" selection-end-line="231" selection-end-column="20" />
<state relative-caret-position="432">
<caret line="173" column="44" selection-start-line="173" selection-start-column="44" selection-end-line="173" selection-end-column="44" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ContactType.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Form/Type/ContactType.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="450">
<caret line="67" column="33" selection-start-line="67" selection-start-column="33" selection-end-line="67" selection-end-column="33" />
<folding>
<element signature="e#39#272#0#PHP" expanded="true" />
<element signature="e#2717#2796#0#PHP" expanded="true" />
<element signature="e#2717#2796#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="App.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/App.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="122" column="20" selection-start-line="122" selection-start-column="20" selection-end-line="122" selection-end-column="20" />
<state relative-caret-position="725">
<caret line="161" column="0" selection-start-line="161" selection-start-column="0" selection-end-line="161" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Gruntfile.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Gruntfile.js">
<file leaf-file-name="providers.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/providers.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="550">
<caret line="25" column="40" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="bower.json" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/bower.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="601">
<caret line="55" column="27" selection-start-line="55" selection-start-column="27" selection-end-line="55" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ResumeBuilder.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Json/ResumeBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="484">
<caret line="37" column="0" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
<state relative-caret-position="540">
<caret line="42" column="42" selection-start-line="42" selection-start-column="42" selection-end-line="42" selection-end-column="42" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
<element signature="e#341#349#0#PHP" expanded="false" />
<element signature="e#235#274#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="uikit.html.twig" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/views/uikit.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="660">
<caret line="30" column="6" selection-start-line="30" selection-start-column="6" selection-end-line="30" selection-end-column="6" />
<folding>
<marker date="1468121015070" expanded="true" signature="768:877" ph="{% block javascripts_head ...%}" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="config.yml" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app/config/config.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="7" column="5" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="Git.Settings">
@ -156,7 +135,6 @@
<option value="$PROJECT_DIR$/app/views/base.html.twig" />
<option value="$PROJECT_DIR$/src/Sikofitt/Config/ConfigTrait.php" />
<option value="$PROJECT_DIR$/src/Sikofitt/less/resume.less" />
<option value="$PROJECT_DIR$/app/config/config.yml" />
<option value="$PROJECT_DIR$/Gruntfile.js" />
<option value="$PROJECT_DIR$/app/views/uikit.html.twig" />
<option value="$PROJECT_DIR$/web/index.php" />
@ -165,8 +143,13 @@
<option value="$PROJECT_DIR$/app_nginx.conf" />
<option value="$PROJECT_DIR$/Procfile" />
<option value="$PROJECT_DIR$/app/App.php" />
<option value="$PROJECT_DIR$/app/views/resume.html.twig" />
<option value="$PROJECT_DIR$/bower.json" />
<option value="$PROJECT_DIR$/app/config/config.yml" />
<option value="$PROJECT_DIR$/src/Sikofitt/Controller/ResumeControllerProvider.php" />
<option value="$PROJECT_DIR$/app/providers.php" />
<option value="$PROJECT_DIR$/app/views/resume.html.twig" />
<option value="$PROJECT_DIR$/src/Sikofitt/Form/Type/ContactType.php" />
<option value="$PROJECT_DIR$/src/Sikofitt/Controller/ApiControllerProvider.php" />
</list>
</option>
</component>
@ -179,12 +162,100 @@
<component name="PhpServers">
<servers />
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" interpreter_name="PHP 7" />
<component name="ProjectFrameBounds">
<option name="x" value="110" />
<option name="y" value="54" />
<option name="x" value="122" />
<option name="y" value="24" />
<option name="width" value="1701" />
<option name="height" value="893" />
<option name="height" value="1011" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
<profile-state>
<expanded-state>
<State>
<id />
</State>
<State>
<id>AnnotationPHP</id>
</State>
<State>
<id>CSS</id>
</State>
<State>
<id>Code SmellPHP</id>
</State>
<State>
<id>Code StylePHP</id>
</State>
<State>
<id>CoffeeScript</id>
</State>
<State>
<id>Control FlowPHP</id>
</State>
<State>
<id>Control flow issuesJavaScript</id>
</State>
<State>
<id>Cucumber</id>
</State>
<State>
<id>DocBlocksJoomla!</id>
</State>
<State>
<id>Error handlingJavaScript</id>
</State>
<State>
<id>GeneralCoffeeScript</id>
</State>
<State>
<id>GeneralJavaScript</id>
</State>
<State>
<id>GeneralPHP</id>
</State>
<State>
<id>JavaScript</id>
</State>
<State>
<id>Joomla!</id>
</State>
<State>
<id>PHP</id>
</State>
<State>
<id>PHPDocPHP</id>
</State>
<State>
<id>Probable bugsPHP</id>
</State>
<State>
<id>RELAX NG</id>
</State>
<State>
<id>Type compatibilityPHP</id>
</State>
<State>
<id>UndefinedPHP</id>
</State>
<State>
<id>UnusedPHP</id>
</State>
<State>
<id>XML</id>
</State>
<State>
<id>XSLT</id>
</State>
</expanded-state>
<selected-state>
<State>
<id>PhpUndefinedMethodInspection</id>
</State>
</selected-state>
</profile-state>
</entry>
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
@ -211,8 +282,8 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -271,6 +342,54 @@
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="resume" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="resume" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Sikofitt" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Form" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Type" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="resume" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="resume" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Sikofitt" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Controller" />
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="resume" />
@ -320,27 +439,11 @@
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="true" />
<property name="js-jscs-nodeInterpreter" value="C:\Program Files\nodejs\node.exe" />
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.Twig" />
<property name="settings.editor.selected.configurable" value="reference.webide.settings.project.settings.php" />
<property name="settings.editor.splitter.proportion" value="0.2" />
<property name="nodejs_interpreter_path" value="/usr/local/bin/node" />
</component>
<component name="RunManager">
<configuration default="true" type="#PerlConfigurationType" factoryName="Perl">
<option name="SCRIPT_PATH" />
<option name="PROGRAM_PARAMETERS" />
<option name="PERL_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="CHARSET" />
<option name="USE_ALTERNATIVE_SDK" value="false" />
<option name="ALTERNATIVE_SDK_PATH" />
<option name="scriptCharset" value="utf8" />
<option name="startMode" value="RUN" />
<option name="isNonInteractiveModeEnabled" value="false" />
<option name="isCompileTimeBreakpointsEnabled" value="false" />
<option name="initCode" value="" />
<method />
</configuration>
<configuration default="true" type="BashConfigurationType" factoryName="Bash">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="INTERPRETER_PATH" value="" />
@ -352,6 +455,26 @@
<envs />
<method />
</configuration>
<configuration default="true" type="GoApplicationRunConfiguration" factoryName="Go Application">
<module name="" />
<working_directory value="$PROJECT_DIR$" />
<filePath value="$PROJECT_DIR$" />
<kind value="FILE" />
<method />
</configuration>
<configuration default="true" type="GoRunFileConfiguration" factoryName="Go Single File">
<module name="" />
<working_directory value="$PROJECT_DIR$" />
<filePath value="$PROJECT_DIR$" />
<method />
</configuration>
<configuration default="true" type="GoTestRunConfiguration" factoryName="Go Test">
<module name="" />
<working_directory value="$PROJECT_DIR$" />
<framework value="gotest" />
<kind value="DIRECTORY" />
<method />
</configuration>
<configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
<method />
</configuration>
@ -419,35 +542,37 @@
<workItem from="1467938148836" duration="1798000" />
<workItem from="1468092833685" duration="3410000" />
<workItem from="1468116337948" duration="2641000" />
<workItem from="1468134888178" duration="420000" />
<workItem from="1468135339724" duration="10488000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="34978000" />
<option name="totallyTimeSpent" value="45886000" />
</component>
<component name="ToolWindowManager">
<frame x="110" y="54" width="1701" height="893" extended-state="0" />
<frame x="122" y="24" width="1701" height="1011" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" 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" show_stripe_button="true" weight="0.19545175" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" 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" show_stripe_button="true" weight="0.32919955" sideWeight="0.41894352" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="DB Execution Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Regex Tester" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="8" 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" show_stripe_button="true" weight="0.32919955" sideWeight="0.41894352" order="0" side_tool="true" content_ui="tabs" />
<window_info id="GitLabIntegration" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5810565" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="hashGenerator" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32919955" sideWeight="0.5" order="10" side_tool="true" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" 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" show_stripe_button="true" weight="0.33" 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" show_stripe_button="true" weight="0.20036429" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" 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" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" 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" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" 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" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@ -490,43 +615,6 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2024">
<caret line="96" column="2" selection-start-line="96" selection-start-column="2" selection-end-line="96" selection-end-column="2" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/resume.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Gruntfile.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="550">
<caret line="25" column="40" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Json/ResumeBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<caret line="28" column="0" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
<element signature="e#341#349#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/App.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220">
@ -539,7 +627,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
@ -547,9 +634,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726">
<caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="7" />
<folding>
<marker date="1468121015070" expanded="true" signature="768:877" ph="{% block javascripts_head ...%}" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -557,14 +642,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
<folding>
<marker date="1468031890828" expanded="true" signature="359:420" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="436:467" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="484:717" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="683:715" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="735:837" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="795:834" ph="{...}" />
</folding>
</state>
</provider>
</entry>
@ -580,9 +657,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2024">
<caret line="96" column="2" selection-start-line="96" selection-start-column="2" selection-end-line="96" selection-end-column="2" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -598,7 +673,9 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
<folding>
<marker date="1468134766921" expanded="true" signature="58:1404" ph="{...}" />
</folding>
</state>
</provider>
</entry>
@ -606,10 +683,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
<element signature="e#341#349#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -625,7 +699,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="16" column="42" selection-start-line="16" selection-start-column="42" selection-end-line="16" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
@ -633,9 +706,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="726">
<caret line="33" column="7" selection-start-line="33" selection-start-column="7" selection-end-line="33" selection-end-column="7" />
<folding>
<marker date="1468121015070" expanded="true" signature="768:877" ph="{% block javascripts_head ...%}" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -643,14 +714,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
<folding>
<marker date="1468031890828" expanded="true" signature="359:420" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="436:467" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="484:717" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="683:715" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="735:837" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="795:834" ph="{...}" />
</folding>
</state>
</provider>
</entry>
@ -666,9 +729,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -676,10 +737,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="308">
<caret line="27" column="17" selection-start-line="27" selection-start-column="17" selection-end-line="27" selection-end-column="17" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
<element signature="e#341#349#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -702,9 +760,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -736,7 +792,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="594">
<caret line="27" column="42" selection-start-line="27" selection-start-column="42" selection-end-line="27" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
@ -758,116 +813,140 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1078">
<caret line="50" column="1" selection-start-line="50" selection-start-column="1" selection-end-line="50" selection-end-column="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app_nginx.conf" />
<entry file="file://$PROJECT_DIR$/Procfile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="79" selection-start-line="0" selection-start-column="79" selection-end-line="0" selection-end-column="79" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Gruntfile.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="29" column="13" selection-start-line="29" selection-start-column="13" selection-end-line="29" selection-end-column="13" />
<folding>
<marker date="1468031890828" expanded="true" signature="359:420" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="436:467" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="484:717" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="683:715" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="735:837" ph="{...}" />
<marker date="1468031890828" expanded="true" signature="795:834" ph="{...}" />
<marker date="1468134766921" expanded="true" signature="58:1404" ph="{...}" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/config/config.yml">
<entry file="file://$PROJECT_DIR$/bower.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="154">
<caret line="7" column="5" selection-start-line="7" selection-start-column="5" selection-end-line="7" selection-end-column="5" />
<state relative-caret-position="630">
<caret line="35" column="26" selection-start-line="35" selection-start-column="26" selection-end-line="35" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Json/ResumeBuilder.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="484">
<caret line="37" column="0" selection-start-line="37" selection-start-column="0" selection-end-line="37" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
<element signature="e#341#349#0#PHP" expanded="false" />
</folding>
<state relative-caret-position="558">
<caret line="46" column="0" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/uikit.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="660">
<caret line="30" column="6" selection-start-line="30" selection-start-column="6" selection-end-line="30" selection-end-column="6" />
<folding>
<marker date="1468121015070" expanded="true" signature="768:877" ph="{% block javascripts_head ...%}" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/index.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220">
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding>
<element signature="e#7#233#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/resume.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="990">
<caret line="45" column="45" selection-start-line="45" selection-start-column="45" selection-end-line="45" selection-end-column="45" />
<state relative-caret-position="324">
<caret line="18" column="44" selection-start-line="18" selection-start-column="44" selection-end-line="18" selection-end-column="44" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app_nginx.conf">
<entry file="file://$PROJECT_DIR$/app/config/config.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="220">
<caret line="10" column="19" selection-start-line="10" selection-start-column="19" selection-end-line="10" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/App.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110">
<caret line="122" column="20" selection-start-line="122" selection-start-column="20" selection-end-line="122" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Procfile">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="79" selection-start-line="0" selection-start-column="79" selection-end-line="0" selection-end-column="79" />
<state relative-caret-position="36">
<caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="19" column="0" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
<state relative-caret-position="360">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<marker date="1468134766933" expanded="true" signature="635:640" ph="{&quot;grunt&quot;: &quot;^1.0.1&quot;...}" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/data/resume.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="797">
<caret line="68" column="9" selection-start-line="68" selection-start-column="9" selection-end-line="68" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/App.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="725">
<caret line="161" column="0" selection-start-line="161" selection-start-column="0" selection-end-line="161" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/providers.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="42" column="42" selection-start-line="42" selection-start-column="42" selection-end-line="42" selection-end-column="42" />
<folding>
<element signature="e#235#274#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app/views/resume.html.twig">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3478">
<caret line="231" column="20" selection-start-line="231" selection-start-column="20" selection-end-line="231" selection-end-column="20" />
<state relative-caret-position="432">
<caret line="173" column="44" selection-start-line="173" selection-start-column="44" selection-end-line="173" selection-end-column="44" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Gruntfile.js">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Form/Type/ContactType.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="550">
<caret line="25" column="40" selection-start-line="25" selection-start-column="40" selection-end-line="25" selection-end-column="40" />
<state relative-caret-position="450">
<caret line="67" column="33" selection-start-line="67" selection-start-column="33" selection-end-line="67" selection-end-column="33" />
<folding>
<element signature="e#39#272#0#PHP" expanded="true" />
<element signature="e#2717#2796#0#PHP" expanded="true" />
<element signature="e#2717#2796#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Controller/ResumeControllerProvider.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="40" column="57" selection-start-line="40" selection-start-column="57" selection-end-line="40" selection-end-column="57" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/bower.json">
<entry file="file://$PROJECT_DIR$/src/Sikofitt/Controller/ApiControllerProvider.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="601">
<caret line="55" column="27" selection-start-line="55" selection-start-column="27" selection-end-line="55" selection-end-column="27" />
<folding />
<state relative-caret-position="739">
<caret line="61" column="31" selection-start-line="61" selection-start-column="31" selection-end-line="61" selection-end-column="31" />
<folding>
<element signature="e#544#568#0#PHP" expanded="true" />
<element signature="e#853#951#0#PHP" expanded="true" />
<element signature="e#853#951#0#PHP" expanded="true" />
</folding>
</state>
</provider>
</entry>

View File

@ -1,6 +1,6 @@
app:
debug: false
environment: prod
debug: true
environment: dev
title: R. Eric Wheeler | Resume
email: eric@rewiv.com
phone: 510-646-2135

View File

@ -9,6 +9,11 @@
* file that was distributed with this source code.
*/
use Silex\Provider\CsrfServiceProvider;
use Silex\Provider\LocaleServiceProvider;
use Silex\Provider\TranslationServiceProvider;
use Silex\Provider\ValidatorServiceProvider;
$app->register(new \Sikofitt\Config\ConfigServiceProvider(), [
'config.path' => $app->getConfDirectory(),
]);
@ -32,7 +37,10 @@ $app->register(new \Silex\Provider\MonologServiceProvider());
$app->register(new \Silex\Provider\SessionServiceProvider());
$app->register(new \Silex\Provider\HttpKernelServiceProvider());
$app->register(new \Silex\Provider\FormServiceProvider());
$app->register(new LocaleServiceProvider());
$app->register(new TranslationServiceProvider());
$app->register(new ValidatorServiceProvider());
$app->register(new CsrfServiceProvider());
$app->register(new \Silex\Provider\MonologServiceProvider(),
[

View File

@ -5,7 +5,8 @@
{% endblock %}
{% block body %}
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-grid" data-uk-grid-margin xmlns="http://www.w3.org/1999/html">
<div class="uk-width-1-1">
<h1 class="uk-heading-large">
{% if basics.name is not empty %}
@ -35,11 +36,11 @@
<h3 class="company uk-panel-title uk-animation-slide-left">
{{ position.company }}
<small class="uk-align-right">
{{ position.startDate|date('Y') }} -
{{ position.startDate|date('M, Y') }} -
{% if position.endDate is not defined %}
Current
{% else %}
{{ position.endDate|date('Y') }}
{{ position.endDate|date('M, Y') }}
{% endif %}
(~
@ -55,9 +56,7 @@
<p class="summary uk-text-primary uk-text-large">
{{ position.summary|raw }}
</p>
{% if position.highlights is not empty and position.highlights is defined %}
{% if position.highlights is defined and position.highlights is not empty %}
<dl class="uk-description-list-horizontal uk-animation-slide-right">
<dt>Highlights</dt>
{% for highlight in position.highlights %}
@ -91,9 +90,14 @@
<li class="uk-list-space"><a href="#captcha" class="hidden-phone" data-uk-modal>Phone</a></li>
{% endif %}
<li class="uk-list-space">
{% if basics.email is not empty %}
<li class="uk-list-space"><a href="mailto:{{ basics.email }}">{{ basics.email }}</a></li>
<a href="#contact-form-wrapper" data-uk-modal>{{ basics.email }}</a>
{% endif %}
</li>
{% if basics.website is not empty %}
<li class="uk-list-space"><a href="{{ basics.website }}" target="_blank"
title="Home page">{{ basics.website }}</a></li>
@ -147,13 +151,60 @@
</div>
</div>
<div id="contact-form-wrapper" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<div class="uk-grid uk-flex-center uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background">
<div id="contact-form">
<div class="uk-width-1-1">
{{ form_start(contact_form) }}
<fieldset data-uk-margin>
<legend>Contact {% if basics.email is not empty %}<small class="uk-align-right">{{ basics.email }}</small>{% endif %}</legend>
<div class="uk-form-row">
{{ form_label(contact_form.name) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.name) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.email) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.email) }}
</div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.message) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.message, {'attr':{'placeholder': "Please leave me a message. I will get back to you as soon as possible."}}) }} </div>
</div>
<div class="uk-form-row">
{{ form_label(contact_form.submit) }}
<div class="uk-form-controls">
{{ form_widget(contact_form.submit) }}
</div>
</div>
{{ form_rest(contact_form) }}
</fieldset>
{{ form_end(contact_form) }}
</div>
</div>
</div>
</div>
</div>
<!-- phone -->
<div id="captcha" class="uk-modal">
<div class="uk-modal-dialog uk-modal-dialog-blank">
<button class="uk-modal-close uk-close" type="button"></button>
<div
class="uk-grid uk-flex-center uk-grid-match uk-grid-divider uk-flex-middle uk-height-viewport uk-cover-background"
data-uk-grid-match>
>
<div id="recaptcha-wrapper">
<h1>Verify</h1>

View File

@ -21,10 +21,10 @@
"php": ">=5.6.0",
"silex/silex": "~2.0",
"symfony/form": "~2.8|^3.0",
"symfony/validator": "~2.8|^3.0",
"symfony/validator": "^3.1",
"symfony/intl": "~2.8|^3.0",
"symfony/asset": "~2.8|^3.0",
"symfony/translation": "~2.8|^3.0",
"symfony/translation": "^3.1",
"symfony/yaml": "^3.1",
"twig/twig": "~1.8|~2.0",
"symfony/twig-bridge": "~2.8|^3.0",
@ -39,7 +39,9 @@
"google/recaptcha": "^1.1",
"hassankhan/config": "^0.10.0",
"silex/web-profiler": "^2.0",
"twig/extensions": "^1.3"
"twig/extensions": "^1.3",
"symfony/config": "^3.1",
"symfony/security-csrf": "^3.1"
},
"require-dev": {
"symfony/debug": "~2.8|^3.0",

387
composer.lock generated
View File

@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "96bd34ea2d8b4071fc21838708d5d029",
"content-hash": "def5c6484dffd9a153773cb7f569868f",
"hash": "0f425f962f6394440cbbb321ce807262",
"content-hash": "647b11b24de59ee68972bdfae7495819",
"packages": [
{
"name": "google/recaptcha",
@ -825,6 +825,59 @@
"homepage": "https://symfony.com",
"time": "2016-05-13 18:06:41"
},
{
"name": "symfony/config",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "bcf5aebabc95b56e370e13d78565f74c7d8726dc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/bcf5aebabc95b56e370e13d78565f74c7d8726dc",
"reference": "bcf5aebabc95b56e370e13d78565f74c7d8726dc",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/filesystem": "~2.8|~3.0"
},
"suggest": {
"symfony/yaml": "To use the yaml reference dumper"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Config\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/debug",
"version": "v3.1.2",
@ -942,6 +995,55 @@
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/filesystem",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "322da5f0910d8aa0b25fa65ffccaba68dbddb890"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/322da5f0910d8aa0b25fa65ffccaba68dbddb890",
"reference": "322da5f0910d8aa0b25fa65ffccaba68dbddb890",
"shasum": ""
},
"require": {
"php": ">=5.5.9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Filesystem\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/form",
"version": "v3.1.2",
@ -1514,6 +1616,62 @@
],
"time": "2016-05-18 14:26:46"
},
{
"name": "symfony/polyfill-php56",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/3edf57a8fbf9a927533344cef65ad7e1cf31030a",
"reference": "3edf57a8fbf9a927533344cef65ad7e1cf31030a",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/polyfill-util": "~1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php56\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-05-18 14:26:46"
},
{
"name": "symfony/polyfill-php70",
"version": "v1.2.0",
@ -1573,6 +1731,58 @@
],
"time": "2016-05-18 14:26:46"
},
{
"name": "symfony/polyfill-util",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
"reference": "ef830ce3d218e622b221d6bfad42c751d974bf99"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ef830ce3d218e622b221d6bfad42c751d974bf99",
"reference": "ef830ce3d218e622b221d6bfad42c751d974bf99",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Util\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony utilities for portability of PHP codes",
"homepage": "https://symfony.com",
"keywords": [
"compat",
"compatibility",
"polyfill",
"shim"
],
"time": "2016-05-18 14:26:46"
},
{
"name": "symfony/process",
"version": "v3.1.2",
@ -1759,6 +1969,130 @@
],
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/security-core",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
"reference": "8a17287ca4b2a8fe45414a8bbb80db139d503251"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-core/zipball/8a17287ca4b2a8fe45414a8bbb80db139d503251",
"reference": "8a17287ca4b2a8fe45414a8bbb80db139d503251",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/polyfill-php56": "~1.0",
"symfony/polyfill-util": "~1.0"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/event-dispatcher": "~2.8|~3.0",
"symfony/expression-language": "~2.8|~3.0",
"symfony/http-foundation": "~2.8|~3.0",
"symfony/ldap": "~3.1",
"symfony/validator": "~2.8|~3.0"
},
"suggest": {
"symfony/event-dispatcher": "",
"symfony/expression-language": "For using the expression voter",
"symfony/http-foundation": "",
"symfony/ldap": "For using LDAP integration",
"symfony/validator": "For using the user password constraint"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Core\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"time": "2016-06-29 15:24:22"
},
{
"name": "symfony/security-csrf",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
"reference": "94057944fb53ad1f38c3633c8bca388d7d1864ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/94057944fb53ad1f38c3633c8bca388d7d1864ba",
"reference": "94057944fb53ad1f38c3633c8bca388d7d1864ba",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/polyfill-php56": "~1.0",
"symfony/polyfill-php70": "~1.0",
"symfony/security-core": "~2.8|~3.0"
},
"require-dev": {
"symfony/http-foundation": "~2.8|~3.0"
},
"suggest": {
"symfony/http-foundation": "For using the class SessionTokenStorage."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Csrf\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"time": "2016-03-10 11:16:56"
},
{
"name": "symfony/stopwatch",
"version": "v3.1.2",
@ -2781,55 +3115,6 @@
"homepage": "https://symfony.com",
"time": "2016-02-13 09:24:02"
},
{
"name": "symfony/filesystem",
"version": "v3.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "322da5f0910d8aa0b25fa65ffccaba68dbddb890"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/322da5f0910d8aa0b25fa65ffccaba68dbddb890",
"reference": "322da5f0910d8aa0b25fa65ffccaba68dbddb890",
"shasum": ""
},
"require": {
"php": ">=5.5.9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Filesystem\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2016-06-29 05:41:56"
},
{
"name": "symfony/finder",
"version": "v3.1.2",

View File

@ -27,20 +27,39 @@ namespace Sikofitt\Controller;
use ReCaptcha\ReCaptcha;
use Silex\Api\ControllerProviderInterface;
use Silex\Application;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class ApiControllerProvider implements ControllerProviderInterface
{
/**
* {@inheritdoc}
*
* @param Application $app
*
* @return mixed
*/
public function connect(Application $app)
{
$controllers = $app['controllers_factory'];
$controllers->get('/v1/schema', function () {
return new \Symfony\Component\HttpFoundation\Response('Success!');
});
$controllers->get('/v1/schema', function () use($app) {
$response = new Response(file_get_contents($app->getDataDirectory() . '/schema/schema.v1.json'), Response::HTTP_OK);
$response->headers->set('Content-Type', 'application/schema+json');
return $response;
});
$controllers->match('/v1/message', function(Request $request) use ($app) {
/*$app->mail(\Swift_Message::newInstance()
->setSubject('[YourSite] Feedback')
->setFrom(array('noreply@yoursite.com'))
->setTo(array('feedback@yoursite.com'))
->setBody($request->get('message'))); */
return new Response('This is the message.');
})->method('GET|POST');
$controllers->post('/v1/captcha', function (Request $request) use ($app) {
$captcha = new ReCaptcha('6LcvmSQTAAAAAITkvYJjgLar1LqGGLz-ic0ZMiXo');

View File

@ -12,8 +12,10 @@
namespace Sikofitt\Controller;
use ReCaptcha\ReCaptcha;
use Sikofitt\Form\Type\ContactType;
use Silex\Api\ControllerProviderInterface;
use Silex\Application;
use Symfony\Component\Form\FormFactory;
use Symfony\Component\HttpFoundation\Request;
/**
@ -39,10 +41,10 @@ class ResumeControllerProvider implements ControllerProviderInterface
$app->getDataDirectory() . '/schema/schema.v1.json'
);
$contactForm = $app['form.factory']->create(ContactType::class);
$controllers = $app['controllers_factory'];
$controllers->get('/', function (Request $request) use ($app) {
$controllers->get('/', function (Request $request) use ($app, $contactForm) {
return $app['twig']->render('resume.html.twig', [
@ -57,6 +59,7 @@ class ResumeControllerProvider implements ControllerProviderInterface
'languages' => $this->getResumeLanguages(),
'interests' => $this->getResumeInterests(),
'references' => $this->getResumeReferences(),
'contact_form' => $contactForm->createView(),
]);
});

View File

@ -0,0 +1,107 @@
<?php
namespace Sikofitt\Form\Type;
use Symfony\Component\Form\{
FormBuilderInterface, AbstractType, Extension\Core\Type\SubmitType, Extension\Core\Type\EmailType, Extension\Core\Type\TextareaType, Extension\Core\Type\TextType, FormConfigInterface, FormInterface
};
use Symfony\Component\Security\Csrf\CsrfToken;
use Symfony\Component\Validator\Constraints\{
Email,
Length,
NotBlank
};
use Symfony\Component\OptionsResolver\OptionsResolver;
/**
* Class ContactType
* @package Sikofitt\Form\Type
*/
class ContactType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm (FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'constraints' => [
new Length([
'min' => 5]
),
new NotBlank(),
],
'attr' => [
'class' => 'uk-form-large uk-width-1-1',
'placeholder' => 'Your name',
],
'label' => 'Name',
'label_attr' => [
'class' => 'uk-form-label',
],
])
->add('email', EmailType::class, [
'constraints' => [
new NotBlank(),
new Email(),
],
'attr' => [
'class' => 'uk-form-large uk-width-1-1',
'placeholder' => 'Email address',
],
'label' => 'Email',
'label_attr' => [
'class' => 'uk-form-label',
],
])
->add('message', TextareaType::class, [
'attr' => [
'rows' => 5,
'cols' => 40,
'class' => 'uk-form-large uk-width-1-1',
'placeholder' => 'Please leave me a message, I will get back to you as soon as possible.',
],
'constraints' => [
new NotBlank(),
new Length([
'min' => 20,
]),
],
'label_attr' => [
'class' => 'uk-invisible uk-form-label',
],
])
->add('submit', SubmitType::class, [
'attr' => [
'class' => 'uk-button uk-button-large uk-button-primary uk-align-right'
],
'label' => 'Send',
])
->getForm()
;
}
/**
* {@inheritdoc}
*
* @param OptionsResolver $resolver
*/
public function configureOptions (OptionsResolver $resolver)
{
$resolver->setDefaults([
'attr' => [
'class' => 'uk-form uk-form-horizontal',
],
]);
}
}