├── var ├── cache │ └── .gitkeep └── logs │ └── .gitkeep ├── src ├── AppBundle │ ├── Resources │ │ ├── doc │ │ │ └── index.rst │ │ ├── public │ │ │ ├── js │ │ │ │ ├── ui.reviews.js │ │ │ │ ├── app.markdown.js │ │ │ │ ├── app.deck_gallery.js │ │ │ │ ├── jquery.toc.min.js │ │ │ │ ├── string_score.min.js │ │ │ │ └── app.binomial.js │ │ │ ├── fonts │ │ │ │ ├── arkham.eot │ │ │ │ ├── arkham.ttf │ │ │ │ ├── arkham.woff │ │ │ │ ├── arkham.woff2 │ │ │ │ ├── font3933.eot │ │ │ │ ├── font3933.ttf │ │ │ │ ├── font3933.woff │ │ │ │ ├── thronesdb.eot │ │ │ │ ├── thronesdb.ttf │ │ │ │ ├── font3933.woff2 │ │ │ │ ├── thronesdb.woff │ │ │ │ ├── arkham-icons.otf │ │ │ │ ├── arkham-icons.ttf │ │ │ │ ├── arkham-icons.woff │ │ │ │ └── font3933.svg │ │ │ ├── css │ │ │ │ └── languages.png │ │ │ └── images │ │ │ │ ├── cards │ │ │ │ ├── 01001.png │ │ │ │ ├── 01005.png │ │ │ │ └── 01006.png │ │ │ │ ├── factions │ │ │ │ ├── mystic.png │ │ │ │ ├── rogue.png │ │ │ │ ├── seeker.png │ │ │ │ ├── guardian.png │ │ │ │ └── survivor.png │ │ │ │ └── rulesreference │ │ │ │ ├── rr1.png │ │ │ │ ├── rr2.png │ │ │ │ ├── rr3.png │ │ │ │ ├── rr4.png │ │ │ │ ├── rr5.png │ │ │ │ ├── rr6.png │ │ │ │ ├── rr7.png │ │ │ │ └── rr4b.png │ │ ├── views │ │ │ ├── Decklist │ │ │ │ ├── deck-content.html.twig │ │ │ │ ├── author-and-description.html.twig │ │ │ │ ├── table-graph-costs.html.twig │ │ │ │ ├── table-graph-strengths.html.twig │ │ │ │ ├── table-predecessor.html.twig │ │ │ │ ├── table-successor.html.twig │ │ │ │ ├── identity-and-stats.html.twig │ │ │ │ ├── export-modal.html.twig │ │ │ │ ├── comments.html.twig │ │ │ │ ├── delete-modal.html.twig │ │ │ │ └── compare-modal.html.twig │ │ │ ├── Search │ │ │ │ ├── card-taboo.twig │ │ │ │ ├── card-pack-faction.html.twig │ │ │ │ ├── card-flavor.html.twig │ │ │ │ ├── card-info.html.twig │ │ │ │ ├── paginationitem.html.twig │ │ │ │ ├── card-name.html.twig │ │ │ │ ├── card-illustrator.html.twig │ │ │ │ ├── card-pack.html.twig │ │ │ │ ├── pagination.html.twig │ │ │ │ ├── card.html.twig │ │ │ │ ├── setnavigation.html.twig │ │ │ │ ├── card-text.html.twig │ │ │ │ ├── card-faction.html.twig │ │ │ │ ├── display-short.html.twig │ │ │ │ ├── card-name-with-link.html.twig │ │ │ │ ├── display.html.twig │ │ │ │ ├── display-scan.html.twig │ │ │ │ ├── display-spoiler.html.twig │ │ │ │ ├── searchbar.html.twig │ │ │ │ ├── display-card-faqs.html.twig │ │ │ │ └── searchoptions.html.twig │ │ │ ├── Builder │ │ │ │ ├── tab-pane-charts.html.twig │ │ │ │ ├── tab-pane-draw.html.twig │ │ │ │ ├── table-suggestions.html.twig │ │ │ │ ├── deck-charts.html.twig │ │ │ │ ├── tab-pane-infos.html.twig │ │ │ │ ├── tab-pane-history.html.twig │ │ │ │ ├── tab-pane-personal.html.twig │ │ │ │ ├── draw-simulator.html.twig │ │ │ │ ├── initbuild-investigator.html.twig │ │ │ │ └── directimport.html.twig │ │ │ ├── Default │ │ │ │ ├── error.html.twig │ │ │ │ ├── google-adaptable-ad.html.twig │ │ │ │ ├── google-analytics.html.twig │ │ │ │ ├── allsets.html.twig │ │ │ │ ├── about.html.twig │ │ │ │ ├── pagination.html.twig │ │ │ │ ├── recent_reviews.html.twig │ │ │ │ ├── donators.html.twig │ │ │ │ ├── usercomments.html.twig │ │ │ │ └── allcomments.html.twig │ │ │ ├── Admin │ │ │ │ ├── base.html.twig │ │ │ │ ├── user_decklists.html.twig │ │ │ │ ├── find_user.html.twig │ │ │ │ ├── index.html.twig │ │ │ │ └── user_comments.html.twig │ │ │ ├── Emails │ │ │ │ ├── newcomment_author.html.twig │ │ │ │ ├── newcomment_commenter.html.twig │ │ │ │ └── newcomment_mentionned.html.twig │ │ │ ├── User │ │ │ │ └── remind-no-token.html.twig │ │ │ ├── Modale │ │ │ │ ├── diff.html.twig │ │ │ │ ├── export.html.twig │ │ │ │ ├── archive.html.twig │ │ │ │ ├── tag_clear.html.twig │ │ │ │ ├── delete_list.html.twig │ │ │ │ ├── delete.html.twig │ │ │ │ ├── tag_add.html.twig │ │ │ │ ├── tag_remove.html.twig │ │ │ │ └── file.html.twig │ │ │ ├── apiset.xml.twig │ │ │ ├── Security │ │ │ │ └── login.html.twig │ │ │ ├── Export │ │ │ │ └── octgn.xml.twig │ │ │ └── Compare │ │ │ │ └── deck_compare.html.twig │ │ ├── translations │ │ │ ├── messages.es.yml │ │ │ ├── FOSUserBundle.zh.xlf │ │ │ ├── FOSUserBundle.ko.xlf │ │ │ ├── FOSUserBundle.ru.xlf │ │ │ ├── FOSUserBundle.de.xlf │ │ │ ├── FOSUserBundle.de.xlf~ │ │ │ ├── FOSUserBundle.en.xlf │ │ │ ├── FOSUserBundle.en.xlf~ │ │ │ ├── FOSUserBundle.it.xlf │ │ │ ├── FOSUserBundle.it.xlf~ │ │ │ ├── FOSUserBundle.es.xlf │ │ │ ├── FOSUserBundle.es.xlf~ │ │ │ ├── FOSUserBundle.fr.xlf │ │ │ └── FOSUserBundle.fr.xlf~ │ │ └── config │ │ │ ├── doctrine │ │ │ ├── Client.orm.yml │ │ │ ├── Tournament.orm.yml │ │ │ ├── AuthCode.orm.yml │ │ │ ├── AccessToken.orm.yml │ │ │ ├── RefreshToken.orm.yml │ │ │ ├── Userscenario.orm.yml │ │ │ ├── SideDeckSlot.orm.yml │ │ │ ├── SideDecklistSlot.orm.yml │ │ │ ├── Taboo.orm.yml │ │ │ ├── Deckslot.orm.yml │ │ │ ├── Decklistslot.orm.yml │ │ │ ├── Type.orm.yml │ │ │ ├── Subtype.orm.yml │ │ │ ├── Usercampaign.orm.yml │ │ │ ├── Campaign.orm.yml │ │ │ ├── Encounter.orm.yml │ │ │ ├── Comment.orm.yml │ │ │ ├── Deckchange.orm.yml │ │ │ ├── Faction.orm.yml │ │ │ ├── Reviewcomment.orm.yml │ │ │ ├── Scenario.orm.yml │ │ │ └── Cycle.orm.yml │ │ │ └── routing │ │ │ ├── routing_collection.yml │ │ │ ├── routing_tag.yml │ │ │ ├── routing_api.yml │ │ │ ├── admin │ │ │ ├── routing_admin_excel.yml │ │ │ ├── routing_admin_type.yml │ │ │ ├── routing_admin_card.yml │ │ │ ├── routing_admin_pack.yml │ │ │ ├── routing_admin_cycle.yml │ │ │ ├── routing_admin_subtype.yml │ │ │ ├── routing_admin_faction.yml │ │ │ ├── routing_admin_encounter.yml │ │ │ └── routing_admin_tournament.yml │ │ │ ├── routing_faqs.yml │ │ │ ├── routing_review.yml │ │ │ ├── type.yml │ │ │ ├── faction.yml │ │ │ ├── routing_cards.yml │ │ │ ├── routing_decklist.yml │ │ │ ├── routing_user.yml │ │ │ └── api │ │ │ └── routing_api_oauth2.yml │ ├── AppBundle.php │ ├── Entity │ │ ├── AuthCode.php │ │ ├── AccessToken.php │ │ ├── RefreshToken.php │ │ ├── Client.php │ │ └── Userscenario.php │ ├── Controller │ │ ├── AdminController.php │ │ └── SecurityController.php │ ├── Repository │ │ ├── TypeRepository.php │ │ ├── SubtypeRepository.php │ │ ├── CycleRepository.php │ │ ├── PackRepository.php │ │ ├── FactionRepository.php │ │ ├── ClassMetadataFactory.php │ │ └── ClassMetadata.php │ ├── Services │ │ └── Uuid.php │ ├── Model │ │ ├── SlotInterface.php │ │ └── SlotCollectionInterface.php │ ├── Listener │ │ ├── LocalePrefixListener.php │ │ └── CoreExceptionListener.php │ ├── DQL │ │ ├── BinaryFunction.php │ │ ├── PowerFunction.php │ │ └── ReplaceFunction.php │ ├── Form │ │ ├── CycleType.php │ │ ├── PackType.php │ │ ├── TypeType.php │ │ ├── TournamentType.php │ │ ├── SubtypeType.php │ │ ├── EncounterType.php │ │ └── FactionType.php │ ├── DependencyInjection │ │ ├── AppExtension.php │ │ └── Configuration.php │ ├── Command │ │ ├── DeleteInactiveCommand.php │ │ ├── ResendCommand.php │ │ ├── FixCanonicalNamesCommand.php │ │ └── DumpStdBaseCommand.php │ └── Helper │ │ └── AgendaHelper.php └── .htaccess ├── import.sh ├── test.sh ├── .settings ├── org.eclipse.wst.jsdt.ui.superType.name ├── org.eclipse.wst.jsdt.ui.superType.container ├── org.eclipse.wst.validation.prefs ├── org.eclipse.ltk.core.refactoring.prefs └── .jsdtscope ├── web ├── index.html ├── favicon.ico ├── icon-dark-120.png ├── icon-dark-192.png ├── icon-light-120.png ├── icon-light-192.png ├── robots.txt ├── app.php └── app_dev.php ├── install_assets.sh ├── cgdb.sh ├── app ├── .htaccess ├── AppCache.php ├── Resources │ ├── FOSUserBundle │ │ └── views │ │ │ ├── Group │ │ │ ├── show_content.html.twig │ │ │ ├── edit.html.twig │ │ │ ├── list.html.twig │ │ │ ├── new.html.twig │ │ │ ├── show.html.twig │ │ │ ├── list_content.html.twig │ │ │ ├── new_content.html.twig │ │ │ └── edit_content.html.twig │ │ │ ├── Profile │ │ │ ├── edit.html.twig │ │ │ ├── show.html.twig │ │ │ ├── show_content.html.twig │ │ │ └── edit_content.html.twig │ │ │ ├── ChangePassword │ │ │ ├── changePassword.html.twig │ │ │ └── changePassword_content.html.twig │ │ │ ├── Registration │ │ │ ├── checkEmail.html.twig │ │ │ ├── email.txt.twig │ │ │ ├── confirmed.html.twig │ │ │ └── register_content.html.twig │ │ │ ├── layout.html.twig │ │ │ └── Resetting │ │ │ └── request_content.html.twig │ └── TwigBundle │ │ └── views │ │ └── Exception │ │ ├── error404.html.twig │ │ └── error500.html.twig ├── config │ ├── doctrine_extensions.yml │ ├── config_test.yml │ ├── routing_dev.yml │ ├── config_prod.yml │ ├── services.yml │ ├── parameters.yml.dist │ ├── config_dev.yml │ └── routing.yml ├── autoload.php ├── URI │ └── 4.7.0,8d03c8ec0e84e7feb92afd4c0f1735841b5fdacf,1.ser └── phpunit.xml.dist ├── .buildpath ├── .gitignore ├── .externalToolBuilders ├── org.eclipse.dltk.core.scriptbuilder.launch ├── org.eclipse.wst.validation.validationbuilder.launch └── org.eclipse.wst.jsdt.core.javascriptValidator.launch ├── trans.sh ├── README.md └── bin └── console /var/cache/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /var/logs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/doc/index.rst: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/ui.reviews.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /import.sh: -------------------------------------------------------------------------------- 1 | php app/console app:import:std ../dump/ 2 | -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | vendor/phpunit/phpunit/phpunit -c app/ 2 | -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- 1 |

Arkhamdb is down for maintenance

2 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/deck-content.html.twig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/messages.es.yml: -------------------------------------------------------------------------------- 1 | 'My Decks': 'Mis mazos' 2 | -------------------------------------------------------------------------------- /web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/web/favicon.ico -------------------------------------------------------------------------------- /install_assets.sh: -------------------------------------------------------------------------------- 1 | php app/console assets:install 2 | ln -s ../../../cards/ web/bundles/cards 3 | -------------------------------------------------------------------------------- /web/icon-dark-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/web/icon-dark-120.png -------------------------------------------------------------------------------- /web/icon-dark-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/web/icon-dark-192.png -------------------------------------------------------------------------------- /web/icon-light-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/web/icon-light-120.png -------------------------------------------------------------------------------- /web/icon-light-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/web/icon-light-192.png -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /.settings/org.eclipse.wst.validation.prefs: -------------------------------------------------------------------------------- 1 | disabled=06vendor 2 | eclipse.preferences.version=1 3 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-taboo.twig: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | Taboo! 5 |
6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/tab-pane-charts.html.twig: -------------------------------------------------------------------------------- 1 | {% include 'AppBundle:Builder:deck-charts.html.twig' %} 2 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/tab-pane-draw.html.twig: -------------------------------------------------------------------------------- 1 | {% include 'AppBundle:Builder:draw-simulator.html.twig' %} 2 | -------------------------------------------------------------------------------- /web/robots.txt: -------------------------------------------------------------------------------- 1 | # www.robotstxt.org/ 2 | # www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449 3 | 4 | User-agent: * 5 | -------------------------------------------------------------------------------- /cgdb.sh: -------------------------------------------------------------------------------- 1 | php app/console app:import:cards $1 -y --player > $1.json 2 | php app/console app:import:cards $1 -y --encounter > $1_encounter.json 3 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham.eot -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham.ttf -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/css/languages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/css/languages.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham.woff -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham.woff2 -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/font3933.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/font3933.eot -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/font3933.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/font3933.ttf -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/font3933.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/font3933.woff -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/thronesdb.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/thronesdb.eot -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/thronesdb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/thronesdb.ttf -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/font3933.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/font3933.woff2 -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/thronesdb.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/thronesdb.woff -------------------------------------------------------------------------------- /.settings/org.eclipse.ltk.core.refactoring.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false 3 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham-icons.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham-icons.otf -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham-icons.ttf -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/arkham-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/fonts/arkham-icons.woff -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/cards/01001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/cards/01001.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/cards/01005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/cards/01005.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/cards/01006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/cards/01006.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/factions/mystic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/factions/mystic.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/factions/rogue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/factions/rogue.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/factions/seeker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/factions/seeker.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/factions/guardian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/factions/guardian.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/factions/survivor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/factions/survivor.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr1.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr2.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr3.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr4.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr5.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr6.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr7.png -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/images/rulesreference/rr4b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kamalisk/arkhamdb/HEAD/src/AppBundle/Resources/public/images/rulesreference/rr4b.png -------------------------------------------------------------------------------- /app/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Order deny,allow 6 | Deny from all 7 | 8 | -------------------------------------------------------------------------------- /src/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Order deny,allow 6 | Deny from all 7 | 8 | -------------------------------------------------------------------------------- /src/AppBundle/AppBundle.php: -------------------------------------------------------------------------------- 1 | 2 | {% include 'AppBundle:Search:card-pack.html.twig' %} 3 | {% include 'AppBundle:Search:card-faction.html.twig' %} 4 |

-------------------------------------------------------------------------------- /app/AppCache.php: -------------------------------------------------------------------------------- 1 | 2 | {{ card.flavor|raw|nl2br }} 3 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-info.html.twig: -------------------------------------------------------------------------------- 1 |
2 | {% include 'AppBundle:Search:card-props.html.twig' %} 3 |
-------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/show_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
4 |

{{ 'group.show.name'|trans }}: {{ group.getName() }}

5 |
6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/edit.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Group:edit_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/list.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Group:list_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/new.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Group:new_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Group:show_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/paginationitem.html.twig: -------------------------------------------------------------------------------- 1 | {% if href %} 2 |
  • {{ s }}–{{ e }}
  • 3 | {% else %} 4 |
  • {{ s }}–{{ e }}
  • 5 | {% endif %} 6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Profile/edit.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Profile:edit_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Profile/show.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:Profile:show_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-name.html.twig: -------------------------------------------------------------------------------- 1 | {% if card.is_unique == true %} {% endif %} 2 | {{ card.name }} 3 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-illustrator.html.twig: -------------------------------------------------------------------------------- 1 | {% if card.illustrator is not empty %} 2 |
    3 | 4 | {{ card.illustrator }} 5 |
    6 | {% endif %} -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/ChangePassword/changePassword.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% block fos_user_content %} 4 | {% include "FOSUserBundle:ChangePassword:changePassword_content.html.twig" %} 5 | {% endblock fos_user_content %} 6 | -------------------------------------------------------------------------------- /app/config/doctrine_extensions.yml: -------------------------------------------------------------------------------- 1 | # services to handle doctrine extensions 2 | # import it in config.yml 3 | stof_doctrine_extensions: 4 | default_locale: "%locale%" 5 | orm: 6 | default: 7 | timestampable: true 8 | translatable: true 9 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Profile/show_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
    4 |

    {{ 'profile.show.username'|trans }}: {{ user.username }}

    5 |

    {{ 'profile.show.email'|trans }}: {{ user.email }}

    6 |
    7 | -------------------------------------------------------------------------------- /src/AppBundle/Entity/AuthCode.php: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /src/AppBundle/Entity/RefreshToken.php: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{ macros.username(decklist.user) }} 5 | 6 |
    {{ decklist.descriptionHtml|raw }}
    7 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/error.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block title %}{{ pagetitle }}{% endblock %} 4 | 5 | {% block body %} 6 |
    7 | 8 |
    9 | {% endblock %} 10 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/google-adaptable-ad.html.twig: -------------------------------------------------------------------------------- 1 |
    2 | 3 | 8 |
    -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-pack.html.twig: -------------------------------------------------------------------------------- 1 |
    {{ card.pack_name }} #{{ card.position }}.{% if card.encounter_code is defined %} {{ card.encounter_name }} #{{ card.encounter_position }}{% if card.quantity > 1 %}-{{card.encounter_position+card.quantity-1}}{% endif %}.{% endif %}
    2 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Registration/checkEmail.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% trans_default_domain 'FOSUserBundle' %} 4 | 5 | {% block fos_user_content %} 6 |

    {{ 'registration.check_email'|trans({'%email%': user.email}) }}

    7 | {% endblock fos_user_content %} 8 | -------------------------------------------------------------------------------- /app/Resources/TwigBundle/views/Exception/error404.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block title %}Error 404{% endblock %} 4 | 5 | {% block body %} 6 |
    7 | 8 |
    9 | {% endblock %} 10 | -------------------------------------------------------------------------------- /.buildpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/autoload.php: -------------------------------------------------------------------------------- 1 | render('AppBundle:Admin:index.html.twig'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Client.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Client: 2 | type: entity 3 | table: oauth2_client 4 | fields: 5 | id: 6 | type: integer 7 | id: true 8 | generator: 9 | strategy: AUTO 10 | name: 11 | type: string 12 | 13 | -------------------------------------------------------------------------------- /app/config/config_test.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - { resource: config_dev.yml } 3 | 4 | framework: 5 | test: ~ 6 | session: 7 | storage_id: session.storage.mock_file 8 | profiler: 9 | collect: false 10 | 11 | web_profiler: 12 | toolbar: false 13 | intercept_redirects: false 14 | 15 | swiftmailer: 16 | disable_delivery: true 17 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_collection.yml: -------------------------------------------------------------------------------- 1 | 2 | collection_packs: 3 | path: /packs 4 | methods: [GET] 5 | defaults: 6 | _controller: AppBundle:Collection:packs 7 | 8 | collection_save_packs: 9 | path: /packs/save 10 | methods: [POST] 11 | defaults: 12 | _controller: AppBundle:Collection:savePacks -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/new_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
    4 | {{ form_widget(form) }} 5 |
    6 | 7 |
    8 |
    9 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Profile/edit_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
    4 | {{ form_widget(form) }} 5 |
    6 | 7 |
    8 |
    9 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Group/edit_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
    4 | {{ form_widget(form) }} 5 |
    6 | 7 |
    8 |
    9 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/ChangePassword/changePassword_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 |
    4 | {{ form_widget(form) }} 5 |
    6 | 7 |
    8 |
    9 | -------------------------------------------------------------------------------- /app/config/routing_dev.yml: -------------------------------------------------------------------------------- 1 | _wdt: 2 | resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" 3 | prefix: /_wdt 4 | 5 | _profiler: 6 | resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" 7 | prefix: /_profiler 8 | 9 | _errors: 10 | resource: "@TwigBundle/Resources/config/routing/errors.xml" 11 | prefix: /_error 12 | 13 | _main: 14 | resource: routing.yml 15 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/pagination.html.twig: -------------------------------------------------------------------------------- 1 |
    2 | 11 |
    -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/table-suggestions.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/table-graph-costs.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    Repartition by Cost
    11 | -------------------------------------------------------------------------------- /src/AppBundle/Entity/Client.php: -------------------------------------------------------------------------------- 1 | name; 16 | } 17 | 18 | public function setName($name) 19 | { 20 | $this->name = $name; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /app/bootstrap.php.cache 2 | /app/cache/* 3 | !app/cache/.gitkeep 4 | /app/config/parameters.yml 5 | /app/logs/* 6 | !app/logs/.gitkeep 7 | /app/phpunit.xml 8 | /bin/* 9 | !bin/console 10 | /composer.phar 11 | /vendor/ 12 | /web/bundles/ 13 | tags 14 | /web/js/ 15 | /web/css/ 16 | .externalToolBuilders/ 17 | .settings/ 18 | .buildpath 19 | .project 20 | .tags_swap 21 | .idea/ 22 | .DS_Store 23 | /web/*.json 24 | /var/cache 25 | /var/logs 26 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Admin/base.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block body %} 4 |
    5 | 10 | {% block content %}{% endblock %} 11 |
    12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/table-graph-strengths.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    Repartition by Strength
    -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_tag.yml: -------------------------------------------------------------------------------- 1 | 2 | tag_add: 3 | path: /add 4 | methods: [POST] 5 | defaults: 6 | _controller: AppBundle:Tag:add 7 | 8 | tag_remove: 9 | path: /remove 10 | methods: [POST] 11 | defaults: 12 | _controller: AppBundle:Tag:remove 13 | 14 | tag_clear: 15 | path: /clear 16 | methods: [POST] 17 | defaults: 18 | _controller: AppBundle:Tag:clear 19 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Emails/newcomment_author.html.twig: -------------------------------------------------------------------------------- 1 |

    {{ username }} commented on your decklist {{ decklist_name }}

    2 |
    3 | {{ comment|raw }} 4 |
    5 |

    To unsubscribe from those notifications, change your account settings.

    6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Emails/newcomment_commenter.html.twig: -------------------------------------------------------------------------------- 1 |

    {{ username }} also commented on a decklist {{ decklist_name }}

    2 |
    3 | {{ comment|raw }} 4 |
    5 |

    To unsubscribe from those notifications, change your account settings.

    6 | -------------------------------------------------------------------------------- /app/Resources/TwigBundle/views/Exception/error500.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block title %}Error 500{% endblock %} 4 | 5 | {% block body %} 6 |
    7 | 8 |
    9 | {% endblock %} 10 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Emails/newcomment_mentionned.html.twig: -------------------------------------------------------------------------------- 1 |

    {{ username }} mentionned you in a comment on the decklist {{ decklist_name }}

    2 |
    3 | {{ comment|raw }} 4 |
    5 |

    To unsubscribe from those notifications, change your account settings.

    6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card.html.twig: -------------------------------------------------------------------------------- 1 |

    3 | 4 | 5 | 6 | {{ name }} 7 | {% if xp %} 8 | [{{ xp}}] 9 | {% endif %} 10 | 11 | {{ pack_name }} 12 | #{{ position }} 13 |

    14 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/TypeRepository.php: -------------------------------------------------------------------------------- 1 | getClassMetadata('AppBundle\Entity\Type')); 10 | } 11 | 12 | public function findAll() 13 | { 14 | $qb = $this->createQueryBuilder('t') 15 | ->select('t') 16 | ->orderBy('t.name', 'ASC'); 17 | 18 | return $this->getResult($qb); 19 | } 20 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Tournament.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Tournament: 2 | type: entity 3 | table: tournament 4 | oneToMany: 5 | decklists: 6 | targetEntity: Decklist 7 | mappedBy: tournament 8 | id: 9 | id: 10 | type: integer 11 | id: true 12 | generator: 13 | strategy: AUTO 14 | fields: 15 | description: 16 | type: string 17 | length: 60 18 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/setnavigation.html.twig: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 14 |
    15 |
    16 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/google-analytics.html.twig: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-text.html.twig: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | {{ card.text|raw }} 4 |
    5 | {% if card.victory %} 6 |
    {% trans %}Victory{% endtrans %} {{card.victory}}.
    7 | {% endif %} 8 | {% if card.vengeance %} 9 |
    {% trans %}Vengeance{% endtrans %} {{card.vengeance}}.
    10 | {% endif %} 11 |
    12 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/SubtypeRepository.php: -------------------------------------------------------------------------------- 1 | getClassMetadata('AppBundle\Entity\Subtype')); 10 | } 11 | 12 | public function findAll() 13 | { 14 | $qb = $this->createQueryBuilder('b') 15 | ->select('b') 16 | ->orderBy('b.name', 'ASC'); 17 | 18 | return $this->getResult($qb); 19 | } 20 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/User/remind-no-token.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "AgfaWebBundle::security.html.twig" %} 2 | 3 | {% trans_default_domain 'FOSUserBundle' %} 4 | 5 | {% block form %} 6 |

    {% trans %}Your account is not awaiting confirmation{% endtrans %}.

    7 |

    {% trans %}If you forgot your password{% endtrans %}, {% trans %}click here{% endtrans %}, {% trans %}otherwise log in{% endtrans %} here.

    8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/layout.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | 4 | {% block body %} 5 |
    6 | 7 | {% if app.request.hasPreviousSession %} 8 | {% for type, messages in app.session.flashbag.all() %} 9 | {% for message in messages %} 10 |
    11 | {{ message }} 12 |
    13 | {% endfor %} 14 | {% endfor %} 15 | {% endif %} 16 | 17 | {% block fos_user_content %} 18 | {% endblock fos_user_content %} 19 | 20 |
    21 | {% endblock %} -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/table-predecessor.html.twig: -------------------------------------------------------------------------------- 1 | {% import "AppBundle::macros.html.twig" as macros %} 2 | 3 | 4 | 5 | 6 | 7 | {% if decklist.precedent %} 8 | {{ macros.decklist_table_row(decklist.precedent) }} 9 | {% else %} 10 | 11 | {% endif %} 12 | 13 |
    Derived from
    None. Self-made deck here.
    14 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/deck-charts.html.twig: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 |
    7 |
    8 |
    9 |
    10 |
    11 |
    12 |
    13 |
    14 |
    15 | -------------------------------------------------------------------------------- /app/URI/4.7.0,8d03c8ec0e84e7feb92afd4c0f1735841b5fdacf,1.ser: -------------------------------------------------------------------------------- 1 | O:26:"HTMLPurifier_URIDefinition":8:{s:4:"type";s:3:"URI";s:10:"*filters";a:2:{s:13:"HostBlacklist";O:36:"HTMLPurifier_URIFilter_HostBlacklist":4:{s:4:"name";s:13:"HostBlacklist";s:12:"*blacklist";a:0:{}s:4:"post";b:0;s:11:"always_load";b:0;}s:10:"SafeIframe";O:33:"HTMLPurifier_URIFilter_SafeIframe":4:{s:4:"name";s:10:"SafeIframe";s:11:"always_load";b:1;s:9:"*regexp";N;s:4:"post";b:0;}}s:14:"*postFilters";a:0:{}s:4:"base";N;s:4:"host";N;s:13:"defaultScheme";s:4:"http";s:5:"setup";b:1;s:9:"optimized";N;} -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/allsets.html.twig: -------------------------------------------------------------------------------- 1 |
      2 | {% for cycle in data %} 3 |
    1. {{ cycle.name }} 4 | {% if cycle.packs is defined %} 5 |
        6 | {% for pack in cycle.packs %} 7 |
      1. {{ pack.name }} {% if pack.available == false %}({{pack.known}} cards){% endif %}
      2. 8 | {% endfor %} 9 |
      10 | {% endif %} 11 |
    2. 12 | {% endfor %} 13 |
    -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Registration/email.txt.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | {% block subject %} 3 | {% autoescape false %} 4 | {{ 'registration.email.subject'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} 5 | {% endautoescape %} 6 | {% endblock %} 7 | {% block body_text %} 8 | {% autoescape false %} 9 | {{ 'registration.email.message'|trans({'%username%': user.username, '%confirmationUrl%': confirmationUrl}) }} 10 | {% endautoescape %} 11 | {% endblock %} 12 | {% block body_html %}{% endblock %} 13 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_api.yml: -------------------------------------------------------------------------------- 1 | # these routes are available to anybody 2 | AppBundle_api_public: 3 | resource: "@AppBundle/Resources/config/routing/api/routing_api_public.yml" 4 | prefix: /public 5 | 6 | # these routes are available to users with an OAuth2 access_token 7 | AppBundle_api_oauth2: 8 | resource: "@AppBundle/Resources/config/routing/api/routing_api_oauth2.yml" 9 | prefix: /oauth2 10 | 11 | api_intro: 12 | path: / 13 | defaults: 14 | _controller: AppBundle:Default:apiIntro 15 | -------------------------------------------------------------------------------- /src/AppBundle/Services/Uuid.php: -------------------------------------------------------------------------------- 1 | 3 | 4 | Inspiration for 5 | 6 | 7 | {% if decklist.successors|length %} 8 | {% for successor in decklist.successors %} 9 | {{ macros.decklist_table_row(successor) }} 10 | {% endfor %} 11 | {% else %} 12 | None yet 13 | {% endif %} 14 | 15 | 16 | -------------------------------------------------------------------------------- /.externalToolBuilders/org.eclipse.dltk.core.scriptbuilder.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Registration/confirmed.html.twig: -------------------------------------------------------------------------------- 1 | {% extends "FOSUserBundle::layout.html.twig" %} 2 | 3 | {% trans_default_domain 'FOSUserBundle' %} 4 | 5 | {% block fos_user_content %} 6 |

    {{ 'registration.confirmed'|trans({'%username%': user.username}) }}

    7 | {% if app.session is not empty %} 8 | {% set targetUrl = app.session.get('_security.' ~ app.security.token.providerKey ~ '.target_path') %} 9 | {% if targetUrl is not empty %}

    {{ 'registration.back'|trans }}

    {% endif %} 10 | {% endif %} 11 | {% endblock fos_user_content %} 12 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-faction.html.twig: -------------------------------------------------------------------------------- 1 |
    2 | 3 | {{ card.faction_name }} 4 | {% if card.faction2_code is defined %} 5 | {{ card.faction2_name }}{% endif %} 6 | {% if card.faction3_code is defined %} 7 | {{ card.faction3_name }}{% endif %} 8 |
    9 | -------------------------------------------------------------------------------- /.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/display-short.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Search:display.html.twig' %} 2 | 3 | {% block main %} 4 | 5 | {% for key, value in cards %} 6 |

    {{ key }}

    7 |
    8 | {% for i in 0..value|length-1 %} 9 | {% set card = value[i] %} 10 | 11 | {{ card.name }}
    12 |
    13 | {% endfor %} 14 |
    15 | {% endfor %} 16 | 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /src/AppBundle/Listener/LocalePrefixListener.php: -------------------------------------------------------------------------------- 1 | getRequest(); 12 | $domain = parse_url($request->getUri())['host']; 13 | $domainPieces = explode('.', $domain); 14 | 15 | if (count($domainPieces) !== 3) { 16 | return; 17 | } 18 | 19 | if (in_array($domainPieces[0], self::$locales)) { 20 | $request->setLocale($domainPieces[0]); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/card-name-with-link.html.twig: -------------------------------------------------------------------------------- 1 | {% if card.is_unique == true %} {% endif %} 2 | {{ card.name }} 3 | {% if card.subname and card.type_code == "treachery" %} ({{ card.subname }}){% endif %} 4 | 5 | {% if card.subname and card.type_code != "treachery" %}
    {{ card.subname }}
    {% endif %} 6 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_excel.yml: -------------------------------------------------------------------------------- 1 | excel_download_form: 2 | path: /download 3 | methods: [GET] 4 | defaults: 5 | _controller: AppBundle:Excel:downloadForm 6 | 7 | excel_download_process: 8 | path: /download 9 | methods: [POST] 10 | defaults: 11 | _controller: AppBundle:Excel:downloadProcess 12 | 13 | excel_upload_form: 14 | path: /upload 15 | methods: [GET] 16 | defaults: 17 | _controller: AppBundle:Excel:uploadForm 18 | 19 | excel_upload_process: 20 | path: /upload 21 | methods: [POST] 22 | defaults: 23 | _controller: AppBundle:Excel:uploadProcess 24 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/app.markdown.js: -------------------------------------------------------------------------------- 1 | (function app_markdown(markdown, $) { 2 | 3 | markdown.setup = function setup(textarea, preview) 4 | { 5 | $(textarea).on('change keyup', function() { 6 | $(preview).html(DOMPurify.sanitize(marked($(textarea).val()))) 7 | }); 8 | $(textarea).trigger('change'); 9 | } 10 | 11 | markdown.refresh = function refresh(textarea, preview) 12 | { 13 | $(preview).html(DOMPurify.sanitize(marked($(textarea).val()))) 14 | } 15 | 16 | markdown.update = function update(text_markdown, preview) 17 | { 18 | $(preview).html(DOMPurify.sanitize(marked(text_markdown))) 19 | } 20 | 21 | })(app.markdown = {}, jQuery); 22 | -------------------------------------------------------------------------------- /trans.sh: -------------------------------------------------------------------------------- 1 | php app/console app:import:trans -l de ../dump/ 2 | php app/console app:import:trans -l it ../dump/ 3 | php app/console app:import:trans -l es ../dump/ 4 | php app/console app:import:trans -l fr ../dump/ 5 | 6 | php app/console translation:update en --dump-messages --force AppBundle --output-format=xlf 7 | php app/console translation:update de --dump-messages --force AppBundle --output-format=xlf 8 | php app/console translation:update it --dump-messages --force AppBundle --output-format=xlf 9 | php app/console translation:update es --dump-messages --force AppBundle --output-format=xlf 10 | php app/console translation:update fr --dump-messages --force AppBundle --output-format=xlf 11 | 12 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/AuthCode.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\AuthCode: 2 | type: entity 3 | table: oauth2_auth_code 4 | manyToOne: 5 | client: 6 | targetEntity: Client 7 | nullable: false 8 | joinColumn: 9 | name: client_id 10 | referencedColumnName: id 11 | user: 12 | targetEntity: User 13 | nullable: false 14 | joinColumn: 15 | name: user_id 16 | referencedColumnName: id 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/display.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block title %}{{ title }}{% endblock %} 4 | 5 | {% block body %} 6 |
    7 | 8 | {{ searchbar|raw }} 9 | 10 |
    11 | 12 | {{ pagination|raw }} 13 | 14 | {% if cards|length > 0 %} 15 | 16 | {% block main %}{% endblock %} 17 | 18 | {% else %} 19 | 20 |
    21 |

    {% trans %}Your query didn't match any card.{% endtrans %}

    22 |
    23 | 24 | {% endif %} 25 | 26 | {{ pagination|raw }} 27 | 28 |
    29 | 30 |
    31 | 32 | {% endblock %} 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/AccessToken.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\AccessToken: 2 | type: entity 3 | table: oauth2_access_token 4 | manyToOne: 5 | client: 6 | targetEntity: Client 7 | nullable: false 8 | joinColumn: 9 | name: client_id 10 | referencedColumnName: id 11 | user: 12 | targetEntity: User 13 | nullable: false 14 | joinColumn: 15 | name: user_id 16 | referencedColumnName: id 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/RefreshToken.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\RefreshToken: 2 | type: entity 3 | table: oauth2_refresh_token 4 | manyToOne: 5 | client: 6 | targetEntity: Client 7 | nullable: false 8 | joinColumn: 9 | name: client_id 10 | referencedColumnName: id 11 | user: 12 | targetEntity: User 13 | nullable: false 14 | joinColumn: 15 | name: user_id 16 | referencedColumnName: id 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/about.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block title %}About{% endblock %} 4 | 5 | {% block body %} 6 |
    7 | 8 |

    {{ block('title') }}

    9 | 10 |

    This website is dedicated to providing a fast, powerful and exhaustive deck builder and search engine for {{ game_name }} cards, along with card descriptions and card images.

    11 |

    This website is optimized for mobile browsing (WebKit).

    12 | 13 |

    Credits

    14 | 15 |

    I would like to thank especially:

    16 | 19 | 20 |
    21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/display-scan.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Search:display.html.twig' %} 2 | 3 | {% block main %} 4 | 5 | 6 | {% for row in 0..(cards|length-1)//4 %} 7 |
    8 | {% for col in 0..3 %}{% set index = row*4+col %} 9 | {% if index in cards|keys %} 10 | {% set card = cards[index] %} 11 |
    12 | {{ card.name }} 13 |
    14 | {% endif %} 15 | {% endfor %} 16 |
    17 | {% endfor %} 18 | 19 | {% endblock %} 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ArkhamDB 2 | ======= 3 | 4 | # Very quick guide on how to install a local copy 5 | 6 | This guide assumes you know how to use the command-line and that your machine has php and mysql installed. 7 | 8 | - install composer: https://getcomposer.org/download/ 9 | - clone the repo somewhere 10 | - cd to it 11 | - run `composer install` (at the end it will ask for the database configuration parameters) 12 | - run `php bin/console doctrine:database:create` 13 | - run `php bin/console doctrine:schema:create` 14 | - checkout the card data from https://github.com/Kamalisk/arkhamdb-json-data 15 | - run `php bin/console app:import:std path-to-arkhamdb-json-data/` pointing to where you checked out the json data 16 | - run `php bin/console server:run` 17 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_faqs.yml: -------------------------------------------------------------------------------- 1 | 2 | card_faq_post: 3 | path: /post 4 | methods: [POST] 5 | defaults: 6 | _controller: AppBundle:Review:post 7 | 8 | card_faq_edit: 9 | path: /edit 10 | methods: [POST] 11 | defaults: 12 | _controller: AppBundle:Review:edit 13 | 14 | card_faq_like: 15 | path: /like 16 | methods: [POST] 17 | defaults: 18 | _controller: AppBundle:Review:like 19 | 20 | card_faq_remove: 21 | path: /remove/{id} 22 | defaults: 23 | _controller: AppBundle:Review:remove 24 | 25 | card_faqcomment_post: 26 | path: /comment 27 | methods: [POST] 28 | defaults: 29 | _controller: AppBundle:Review:comment 30 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/app.deck_gallery.js: -------------------------------------------------------------------------------- 1 | (function app_deck_gallery(deck_gallery, $) { 2 | 3 | /** 4 | * @memberOf deck_gallery 5 | */ 6 | deck_gallery.display = function display(container) { 7 | var table = $('').appendTo(container), 8 | row = $('').appendTo(table), 9 | cards = app.deck.get_cards({'type_code':1}); 10 | 11 | cards.forEach(function (card) { 12 | var card_element; 13 | if(card.imagesrc) { 14 | card_element = ''; 15 | } else { 16 | card_element = '
    '+card.name+'
    '; 17 | } 18 | 19 | var cell = $(''); 20 | cell.appendTo(row); 21 | }) 22 | }; 23 | 24 | })(app.deck_gallery = {}, jQuery); 25 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Userscenario.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Userscenario: 2 | type: entity 3 | table: user_scenario 4 | manyToOne: 5 | scenario: 6 | targetEntity: Scenario 7 | inversedBy: user_scenarios 8 | joinColumn: 9 | name: scenario_id 10 | referencedColumnName: id 11 | user_campaigns: 12 | targetEntity: Usercampaign 13 | inversedBy: user_scenarios 14 | joinColumn: 15 | name: user_campaign_id 16 | referencedColumnName: id 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_review.yml: -------------------------------------------------------------------------------- 1 | 2 | card_review_post: 3 | path: /post 4 | methods: [POST] 5 | defaults: 6 | _controller: AppBundle:Review:post 7 | 8 | card_review_edit: 9 | path: /edit 10 | methods: [POST] 11 | defaults: 12 | _controller: AppBundle:Review:edit 13 | 14 | card_review_like: 15 | path: /like 16 | methods: [POST] 17 | defaults: 18 | _controller: AppBundle:Review:like 19 | 20 | card_review_remove: 21 | path: /remove/{id} 22 | defaults: 23 | _controller: AppBundle:Review:remove 24 | 25 | card_reviewcomment_post: 26 | path: /comment 27 | methods: [POST] 28 | defaults: 29 | _controller: AppBundle:Review:comment 30 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/CycleRepository.php: -------------------------------------------------------------------------------- 1 | getClassMetadata('AppBundle\Entity\Cycle')); 10 | } 11 | 12 | public function findAll() 13 | { 14 | $qb = $this->createQueryBuilder('y') 15 | ->select('y, p') 16 | ->leftJoin('y.packs', 'p') 17 | ->orderBy('y.position', 'ASC'); 18 | 19 | return $this->getResult($qb); 20 | } 21 | 22 | public function findByCode($code) 23 | { 24 | $qb = $this->createQueryBuilder('y') 25 | ->select('y') 26 | ->andWhere('y.code = ?1'); 27 | 28 | $qb->setParameter(1, $code); 29 | 30 | return $this->getOneOrNullResult($qb); 31 | } 32 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/SideDeckSlot.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\SideDeckSlot: 2 | type: entity 3 | table: sidedeckslot 4 | manyToOne: 5 | deck: 6 | targetEntity: Deck 7 | nullable: false 8 | inversedBy: sideSlots 9 | joinColumn: 10 | name: deck_id 11 | referencedColumnName: id 12 | card: 13 | targetEntity: Card 14 | nullable: false 15 | joinColumn: 16 | name: card_id 17 | referencedColumnName: id 18 | fields: 19 | id: 20 | type: integer 21 | id: true 22 | generator: 23 | strategy: AUTO 24 | quantity: 25 | type: smallint 26 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/diff.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/SideDecklistSlot.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\SideDecklistSlot: 2 | type: entity 3 | table: sidedecklistslot 4 | manyToOne: 5 | decklist: 6 | targetEntity: Decklist 7 | nullable: false 8 | inversedBy: sideSlots 9 | joinColumn: 10 | name: decklist_id 11 | referencedColumnName: id 12 | card: 13 | targetEntity: Card 14 | nullable: false 15 | joinColumn: 16 | name: card_id 17 | referencedColumnName: id 18 | fields: 19 | id: 20 | type: integer 21 | id: true 22 | generator: 23 | strategy: AUTO 24 | quantity: 25 | type: smallint -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/identity-and-stats.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 |
    5 | 6 |
    7 |
    8 |

    Identity

    9 |
    10 |
    11 |
    12 |
    13 | {% if decklist.tournament %} 14 | 15 | {{ decklist.tournament }} 16 | 17 | {% endif %} 18 |
    19 |
    20 | 21 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/PackRepository.php: -------------------------------------------------------------------------------- 1 | getClassMetadata('AppBundle\Entity\Pack')); 10 | } 11 | 12 | public function findAll() 13 | { 14 | $qb = $this->createQueryBuilder('p') 15 | ->select('p, y') 16 | ->join('p.cycle', 'y') 17 | ->orderBy('p.dateRelease', 'ASC') 18 | ->addOrderBy('p.position', 'ASC'); 19 | 20 | return $this->getResult($qb); 21 | } 22 | 23 | public function findByCode($code) 24 | { 25 | $qb = $this->createQueryBuilder('p') 26 | ->select('p') 27 | ->andWhere('p.code = ?1'); 28 | 29 | $qb->setParameter(1, $code); 30 | 31 | return $this->getOneOrNullResult($qb); 32 | } 33 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/pagination.html.twig: -------------------------------------------------------------------------------- 1 |
    2 | 25 |
    26 | -------------------------------------------------------------------------------- /src/AppBundle/DQL/BinaryFunction.php: -------------------------------------------------------------------------------- 1 | stringPrimary->dispatch($sqlWalker); 20 | } 21 | 22 | /** 23 | * @override 24 | */ 25 | public function parse(\Doctrine\ORM\Query\Parser $parser) { 26 | $parser->match(Lexer::T_IDENTIFIER); 27 | $parser->match(Lexer::T_OPEN_PARENTHESIS); 28 | $this->stringPrimary = $parser->StringPrimary(); 29 | $parser->match(Lexer::T_CLOSE_PARENTHESIS); 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /src/AppBundle/Repository/FactionRepository.php: -------------------------------------------------------------------------------- 1 | getClassMetadata('AppBundle\Entity\Faction')); 10 | } 11 | 12 | public function findAllAndOrderByName() 13 | { 14 | $qb = $this->createQueryBuilder('f')->orderBy('f.name', 'ASC'); 15 | return $this->getResult($qb); 16 | } 17 | 18 | 19 | public function findPrimaries() 20 | { 21 | $qb = $this->createQueryBuilder('f')->andWhere('f.isPrimary = 1'); 22 | return $this->getResult($qb); 23 | } 24 | 25 | public function findByCode($code) 26 | { 27 | $qb = $this->createQueryBuilder('f')->andWhere('f.code = ?1'); 28 | $qb->setParameter(1, $code); 29 | return $this->getOneOrNullResult($qb); 30 | } 31 | } -------------------------------------------------------------------------------- /src/AppBundle/Form/CycleType.php: -------------------------------------------------------------------------------- 1 | add('code') 15 | ->add('name') 16 | ->add('position') 17 | ->add('size') 18 | ; 19 | } 20 | 21 | public function setDefaultOptions(OptionsResolverInterface $resolver) 22 | { 23 | $resolver->setDefaults(array( 24 | 'data_class' => 'AppBundle\Entity\Cycle' 25 | )); 26 | } 27 | 28 | public function getName() 29 | { 30 | return 'appbundle_cycletype'; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Taboo.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Taboo: 2 | type: entity 3 | table: taboo 4 | id: 5 | id: 6 | type: integer 7 | id: true 8 | generator: 9 | strategy: AUTO 10 | fields: 11 | code: 12 | type: string 13 | length: 255 14 | name: 15 | type: string 16 | length: 255 17 | active: 18 | type: smallint 19 | nullable: true 20 | dateStart: 21 | type: date 22 | nullable: false 23 | column: date_start 24 | dateUpdate: 25 | type: date 26 | nullable: true 27 | column: date_update 28 | gedmo: 29 | timestampable: 30 | on: update 31 | cards: 32 | type: text -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_type.yml: -------------------------------------------------------------------------------- 1 | admin_type: 2 | path: / 3 | defaults: { _controller: "AppBundle:Type:index" } 4 | 5 | admin_type_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Type:show" } 8 | 9 | admin_type_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Type:new" } 12 | 13 | admin_type_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Type:create" } 16 | methods: [ post ] 17 | 18 | admin_type_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Type:edit" } 21 | 22 | admin_type_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Type:update" } 25 | methods: [ post ] 26 | 27 | admin_type_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Type:delete" } 30 | methods: [ post ] 31 | -------------------------------------------------------------------------------- /app/config/config_prod.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - { resource: config.yml } 3 | 4 | #framework: 5 | # validation: 6 | # cache: validator.mapping.cache.apc 7 | # serializer: 8 | # cache: serializer.mapping.cache.apc 9 | 10 | #doctrine: 11 | # orm: 12 | # metadata_cache_driver: apc 13 | # result_cache_driver: apc 14 | # query_cache_driver: apc 15 | 16 | monolog: 17 | handlers: 18 | main: 19 | type: fingers_crossed 20 | action_level: error 21 | handler: nested 22 | nested: 23 | type: stream 24 | path: "%kernel.logs_dir%/%kernel.environment%.log" 25 | level: debug 26 | console: 27 | type: console 28 | 29 | fos_user: 30 | from_email: 31 | address: "%email_sender_address%" 32 | sender_name: "%email_sender_name%" 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/type.yml: -------------------------------------------------------------------------------- 1 | admin_type: 2 | path: / 3 | defaults: { _controller: "AppBundle:Type:index" } 4 | 5 | admin_type_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Type:show" } 8 | 9 | admin_type_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Type:new" } 12 | 13 | admin_type_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Type:create" } 16 | methods: POST 17 | 18 | admin_type_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Type:edit" } 21 | 22 | admin_type_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Type:update" } 25 | methods: [POST, PUT] 26 | 27 | admin_type_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Type:delete" } 30 | methods: [POST, DELETE] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Admin/user_decklists.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Admin:base.html.twig' %} 2 | 3 | {% block content -%} 4 |

    User Decklists

    5 | 6 | {% for label, flashes in app.session.flashbag.all %} 7 | {% for flash in flashes %} 8 |
    9 | {{ flash }} 10 |
    11 | {% endfor %} 12 | {% endfor %} 13 | 14 |
    '+card_element+'
    ' + card.indeck + '
    15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {% for decklist in user.decklists %} 23 | 24 | 25 | 26 | 29 | 30 | {% endfor %} 31 |
    DecklistDateAction
    {{ decklist.name }}{{ decklist.dateCreation|date('r') }} 27 | Delete 28 |
    32 | {% endblock %} 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_card.yml: -------------------------------------------------------------------------------- 1 | admin_card: 2 | path: / 3 | defaults: { _controller: "AppBundle:Card:index" } 4 | 5 | admin_card_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Card:show" } 8 | 9 | admin_card_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Card:new" } 12 | 13 | admin_card_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Card:create" } 16 | methods: [ post ] 17 | 18 | admin_card_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Card:edit" } 21 | 22 | admin_card_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Card:update" } 25 | methods: [ post, put ] 26 | 27 | admin_card_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Card:delete" } 30 | methods: [ post, delete ] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_pack.yml: -------------------------------------------------------------------------------- 1 | admin_pack: 2 | path: / 3 | defaults: { _controller: "AppBundle:Pack:index" } 4 | 5 | admin_pack_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Pack:show" } 8 | 9 | admin_pack_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Pack:new" } 12 | 13 | admin_pack_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Pack:create" } 16 | methods: [ post ] 17 | 18 | admin_pack_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Pack:edit" } 21 | 22 | admin_pack_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Pack:update" } 25 | methods: [ post, put ] 26 | 27 | admin_pack_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Pack:delete" } 30 | methods: [ post, delete ] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Deckslot.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Deckslot: 2 | type: entity 3 | table: deckslot 4 | manyToOne: 5 | deck: 6 | targetEntity: Deck 7 | nullable: false 8 | inversedBy: slots 9 | joinColumn: 10 | name: deck_id 11 | referencedColumnName: id 12 | card: 13 | targetEntity: Card 14 | nullable: false 15 | joinColumn: 16 | name: card_id 17 | referencedColumnName: id 18 | fields: 19 | id: 20 | type: integer 21 | id: true 22 | generator: 23 | strategy: AUTO 24 | quantity: 25 | type: smallint 26 | ignoreDeckLimit: 27 | type: smallint 28 | options: 29 | default: 0 30 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_cycle.yml: -------------------------------------------------------------------------------- 1 | admin_cycle: 2 | path: / 3 | defaults: { _controller: "AppBundle:Cycle:index" } 4 | 5 | admin_cycle_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Cycle:show" } 8 | 9 | admin_cycle_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Cycle:new" } 12 | 13 | admin_cycle_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Cycle:create" } 16 | methods: [ post ] 17 | 18 | admin_cycle_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Cycle:edit" } 21 | 22 | admin_cycle_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Cycle:update" } 25 | methods: [ post, put ] 26 | 27 | admin_cycle_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Cycle:delete" } 30 | methods: [ post, delete ] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Decklistslot.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Decklistslot: 2 | type: entity 3 | table: decklistslot 4 | manyToOne: 5 | decklist: 6 | targetEntity: Decklist 7 | nullable: false 8 | inversedBy: slots 9 | joinColumn: 10 | name: decklist_id 11 | referencedColumnName: id 12 | card: 13 | targetEntity: Card 14 | nullable: false 15 | joinColumn: 16 | name: card_id 17 | referencedColumnName: id 18 | fields: 19 | id: 20 | type: integer 21 | id: true 22 | generator: 23 | strategy: AUTO 24 | quantity: 25 | type: smallint 26 | ignoreDeckLimit: 27 | type: smallint 28 | options: 29 | default: 0 -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/export-modal.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_subtype.yml: -------------------------------------------------------------------------------- 1 | admin_subtype: 2 | path: / 3 | defaults: { _controller: "AppBundle:Subtype:index" } 4 | 5 | admin_subtype_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Subtype:show" } 8 | 9 | admin_subtype_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Subtype:new" } 12 | 13 | admin_subtype_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Subtype:create" } 16 | methods: [ post ] 17 | 18 | admin_subtype_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Subtype:edit" } 21 | 22 | admin_subtype_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Subtype:update" } 25 | methods: [ post ] 26 | 27 | admin_subtype_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Subtype:delete" } 30 | methods: [ post ] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Admin/find_user.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Admin:base.html.twig' %} 2 | 3 | {% block content -%} 4 |

    Find a User

    5 | 6 | {% for label, flashes in app.session.flashbag.all %} 7 | {% for flash in flashes %} 8 |
    9 | {{ flash }} 10 |
    11 | {% endfor %} 12 | {% endfor %} 13 | 14 |
    15 | 16 |
    17 | 18 | 19 |
    20 | 21 |
    22 | 23 | 24 |
    25 | 26 | 27 | 28 |
    29 | 30 | 31 | {% endblock %} 32 | -------------------------------------------------------------------------------- /app/config/services.yml: -------------------------------------------------------------------------------- 1 | # Learn more about services, parameters and containers at 2 | # http://symfony.com/doc/current/book/service_container.html 3 | parameters: 4 | # parameter_name: value 5 | 6 | services: 7 | uuid: 8 | class: AppBundle\Services\Uuid 9 | # service_name: 10 | # class: AppBundle\Directory\ClassName 11 | # arguments: ["@another_service_name", "plain_value", "%parameter_name%"] 12 | fos_user.registration.controller: 13 | class: AppBundle\Controller\RegistrationController 14 | arguments: ["@event_dispatcher", "@fos_user.registration.form.factory", "@fos_user.user_manager", "@security.token_storage"] 15 | fos_user.resetting.controller: 16 | class: AppBundle\Controller\ResettingController 17 | arguments: ["@event_dispatcher", "@fos_user.registration.form.factory", "@fos_user.user_manager", "@fos_user.util.token_generator", "@fos_user.mailer", "%fos_user.resetting.retry_ttl%"] -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/faction.yml: -------------------------------------------------------------------------------- 1 | admin_faction: 2 | path: / 3 | defaults: { _controller: "AppBundle:Faction:index" } 4 | 5 | admin_faction_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Faction:show" } 8 | 9 | admin_faction_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Faction:new" } 12 | 13 | admin_faction_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Faction:create" } 16 | methods: POST 17 | 18 | admin_faction_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Faction:edit" } 21 | 22 | admin_faction_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Faction:update" } 25 | methods: [POST, PUT] 26 | 27 | admin_faction_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Faction:delete" } 30 | methods: [POST, DELETE] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Type.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Type: 2 | type: entity 3 | table: type 4 | repositoryClass: AppBundle\Repository\TypeRepository 5 | gedmo: 6 | translation: 7 | locale: locale 8 | oneToMany: 9 | cards: 10 | targetEntity: Card 11 | orderBy: {'position':'ASC'} 12 | mappedBy: type 13 | fields: 14 | id: 15 | type: integer 16 | id: true 17 | generator: 18 | strategy: AUTO 19 | code: 20 | type: string 21 | length: 255 22 | nullable: false 23 | name: 24 | type: string 25 | length: 1024 26 | nullable: false 27 | gedmo: 28 | - translatable 29 | uniqueConstraints: 30 | type_code_idx: 31 | columns: [ code ] 32 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_faction.yml: -------------------------------------------------------------------------------- 1 | admin_faction: 2 | path: / 3 | defaults: { _controller: "AppBundle:Faction:index" } 4 | 5 | admin_faction_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Faction:show" } 8 | 9 | admin_faction_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Faction:new" } 12 | 13 | admin_faction_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Faction:create" } 16 | methods: [ post ] 17 | 18 | admin_faction_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Faction:edit" } 21 | 22 | admin_faction_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Faction:update" } 25 | methods: [ post, put ] 26 | 27 | admin_faction_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Faction:delete" } 30 | methods: [ post, delete ] 31 | -------------------------------------------------------------------------------- /app/config/parameters.yml.dist: -------------------------------------------------------------------------------- 1 | parameters: 2 | database_host: 127.0.0.1 3 | database_port: ~ 4 | database_name: symfony 5 | database_user: root 6 | database_password: ~ 7 | 8 | captcha: ~ 9 | 10 | mailer_transport: smtp 11 | mailer_host: 127.0.0.1 12 | mailer_user: ~ 13 | mailer_password: ~ 14 | 15 | # A secret key that's used to generate certain security-related tokens 16 | secret: ThisTokenIsNotSoSecretChangeIt 17 | 18 | # units: seconds 19 | cache_expiration: 600 20 | 21 | # Email sender 22 | email_sender_address: ~ 23 | email_sender_name: ~ 24 | 25 | # Branding 26 | website_name: ~ 27 | website_url: ~ 28 | game_name: ~ 29 | publisher_name: ~  30 | 31 | # Analytics & AdSense 32 | google_analytics_tracking_code: UA-00000000-1 33 | google_adsense_client: ca-pub-000000000000000 34 | google_adsense_slot: 0000000000 35 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/display-spoiler.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Search:display.html.twig' %} 2 | 3 | {% block main %} 4 | 5 | {% for row in 0..(cards|length-1)//3 %} 6 |
    7 | {% for col in 0..2 %} 8 | {% if row*3+col < cards|length %} 9 | {% set card = cards[row*3+col] %} 10 |
    11 |

    12 | {% include 'AppBundle:Search:card-name-with-link.html.twig' %} 13 |

    14 |
    15 | {% include 'AppBundle:Search:card-faction.html.twig' %} 16 | {% include 'AppBundle:Search:card-info.html.twig' %} 17 | {% include 'AppBundle:Search:card-text.html.twig' %} 18 | {% include 'AppBundle:Search:card-flavor.html.twig' %} 19 | {% include 'AppBundle:Search:card-illustrator.html.twig' %} 20 | {% include 'AppBundle:Search:card-pack.html.twig' %} 21 |
    22 |
    23 | {% endif %} 24 | {% endfor %} 25 |
    26 | {% endfor %} 27 | 28 | {% endblock %} 29 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Subtype.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Subtype: 2 | type: entity 3 | table: Subtype 4 | repositoryClass: AppBundle\Repository\SubtypeRepository 5 | gedmo: 6 | translation: 7 | locale: locale 8 | oneToMany: 9 | cards: 10 | targetEntity: Card 11 | orderBy: {'position':'ASC'} 12 | mappedBy: subtype 13 | fields: 14 | id: 15 | type: integer 16 | id: true 17 | generator: 18 | strategy: AUTO 19 | code: 20 | type: string 21 | length: 255 22 | nullable: false 23 | name: 24 | type: string 25 | length: 1024 26 | nullable: false 27 | gedmo: 28 | - translatable 29 | uniqueConstraints: 30 | type_code_idx: 31 | columns: [ code ] 32 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Registration/register_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 | 4 | 5 | 6 | 11 | 12 | {{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'id': 'register-form', 'class': 'fos_user_registration_register'}}) }} 13 | {{ form_widget(form) }} 14 | 15 | 16 | 17 |
    18 | 24 |
    25 | {{ form_end(form) }} 26 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_encounter.yml: -------------------------------------------------------------------------------- 1 | admin_encounter: 2 | path: / 3 | defaults: { _controller: "AppBundle:Encounter:index" } 4 | 5 | admin_encounter_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Encounter:show" } 8 | 9 | admin_encounter_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Encounter:new" } 12 | 13 | admin_encounter_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Encounter:create" } 16 | methods: [ post ] 17 | 18 | admin_encounter_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Encounter:edit" } 21 | 22 | admin_encounter_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Encounter:update" } 25 | methods: [ post, put ] 26 | 27 | admin_encounter_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Encounter:delete" } 30 | methods: [ post, delete ] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/export.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); 19 | $debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; 20 | 21 | if ($debug) { 22 | Debug::enable(); 23 | } 24 | 25 | $kernel = new AppKernel($env, $debug); 26 | $application = new Application($kernel); 27 | $application->run($input); 28 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/jquery.toc.min.js: -------------------------------------------------------------------------------- 1 | /*! Table of Contents jQuery Plugin - jquery.toc * Copyright 2013 Nikhil Dabas * http://www.apache.org/licenses/LICENSE-2.0 */ 2 | (function(t){"use strict";var n=function(n){return this.each(function(){var i,e,a=t(this),c=a.data(),o=[a],h=this.tagName,r=0;i=t.extend({content:"body",headings:"h1,h2,h3"},{content:c.toc||void 0,headings:c.tocHeadings||void 0},n),e=i.headings.split(","),t(i.content).find(i.headings).attr("id",function(n,i){return i||t(this).text().replace(/^[^A-Za-z]*/,"").replace(/[^A-Za-z0-9]+/g,"_")}).each(function(){var n=t(this),i=t.map(e,function(t,i){return n.is(t)?i:void 0})[0];if(i>r){var a=o[0].children("li:last")[0];a&&o.unshift(t("<"+h+"/>").appendTo(a))}else o.splice(0,Math.min(r-i,Math.max(o.length-1,0)));t("
  • ").appendTo(o[0]).append(t("").text(n.text()).attr("href","#"+n.attr("id"))),r=i})})},i=t.fn.toc;t.fn.toc=n,t.fn.toc.noConflict=function(){return t.fn.toc=i,this},t(function(){n.call(t("[data-toc]"))})})(window.jQuery); -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/string_score.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * string_score.js: String Scoring Algorithm 0.1.10 3 | * 4 | * http://joshaven.com/string_score 5 | * https://github.com/joshaven/string_score 6 | * 7 | * Copyright (C) 2009-2011 Joshaven Potter 8 | * Special thanks to all of the contributors listed here https://github.com/joshaven/string_score 9 | * MIT license: http://www.opensource.org/licenses/mit-license.php 10 | * 11 | * Date: Tue Mar 1 2011 12 | */ 13 | String.prototype.score=function(m,s){if(this==m){return 1}if(m==""){return 0}var f=0,q=m.length,g=this,p=g.length,o,k,e=1,j;for(var d=0,r,n,h,a,b,l;d-1)?l:Math.max(a,b);if(n===-1){if(s){e+=1-s;continue}else{return 0}}else{r=0.1}if(g[n]===h){r+=0.1}if(n===0){r+=0.6;if(d===0){o=1}}else{if(g.charAt(n-1)===" "){r+=0.8}}g=g.substring(n+1,p);f+=r}k=f/q;j=((k*(q/p))+k)/2;j=j/e;if(o&&(j+0.15<1)){j+=0.15}return j}; -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/admin/routing_admin_tournament.yml: -------------------------------------------------------------------------------- 1 | admin_tournament: 2 | path: / 3 | defaults: { _controller: "AppBundle:Tournament:index" } 4 | 5 | admin_tournament_show: 6 | path: /{id}/show 7 | defaults: { _controller: "AppBundle:Tournament:show" } 8 | 9 | admin_tournament_new: 10 | path: /new 11 | defaults: { _controller: "AppBundle:Tournament:new" } 12 | 13 | admin_tournament_create: 14 | path: /create 15 | defaults: { _controller: "AppBundle:Tournament:create" } 16 | methods: POST 17 | 18 | admin_tournament_edit: 19 | path: /{id}/edit 20 | defaults: { _controller: "AppBundle:Tournament:edit" } 21 | 22 | admin_tournament_update: 23 | path: /{id}/update 24 | defaults: { _controller: "AppBundle:Tournament:update" } 25 | methods: [POST, PUT] 26 | 27 | admin_tournament_delete: 28 | path: /{id}/delete 29 | defaults: { _controller: "AppBundle:Tournament:delete" } 30 | methods: [POST, DELETE] 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/tab-pane-infos.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 | 16 |
    17 | 18 | -------------------------------------------------------------------------------- /src/AppBundle/DependencyInjection/AppExtension.php: -------------------------------------------------------------------------------- 1 | processConfiguration($configuration, $configs); 24 | 25 | $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 26 | $loader->load('services.yml'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/AppBundle/DependencyInjection/Configuration.php: -------------------------------------------------------------------------------- 1 | root('app'); 22 | 23 | // Here you should define the parameters that are allowed to 24 | // configure your bundle. See the documentation linked above for 25 | // more information on that topic. 26 | 27 | return $treeBuilder; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/AppBundle/Form/PackType.php: -------------------------------------------------------------------------------- 1 | add('code') 15 | ->add('name') 16 | ->add('dateRelease') 17 | ->add('size') 18 | ->add('cycle', 'entity', array('class' => 'AppBundle:Cycle', 'property' => 'name')) 19 | ->add('position') 20 | ; 21 | } 22 | 23 | public function setDefaultOptions(OptionsResolverInterface $resolver) 24 | { 25 | $resolver->setDefaults(array( 26 | 'data_class' => 'AppBundle\Entity\Pack' 27 | )); 28 | } 29 | 30 | public function getName() 31 | { 32 | return 'appbundle_packtype'; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Usercampaign.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Usercampaign: 2 | type: entity 3 | table: user_campaign 4 | oneToMany: 5 | user_scenarios: 6 | nullable: true 7 | targetEntity: Userscenario 8 | orderBy: {'id':'ASC'} 9 | mappedBy: user_campaigns 10 | decks: 11 | targetEntity: Deck 12 | orderBy: {'dateUpdate':'DESC'} 13 | mappedBy: usercampaign 14 | cascade: ["remove"] 15 | manyToOne: 16 | user: 17 | targetEntity: User 18 | nullable: false 19 | inversedBy: decks 20 | joinColumn: 21 | name: user_id 22 | referencedColumnName: id 23 | fields: 24 | id: 25 | type: integer 26 | id: true 27 | generator: 28 | strategy: AUTO 29 | name: 30 | type: string 31 | length: 1024 32 | nullable: false 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_cards.yml: -------------------------------------------------------------------------------- 1 | 2 | cards_list: 3 | path: /set/{pack_code}/{view}/{decks}/{sort}/{page} 4 | defaults: 5 | _controller: AppBundle:Search:list 6 | view: list 7 | decks: all 8 | sort: set 9 | page: 1 10 | 11 | cards_zoom: 12 | path: /card/{card_code} 13 | defaults: 14 | _controller: AppBundle:Search:zoom 15 | 16 | cards_cycle: 17 | path: /cycle/{cycle_code}/{view}/{decks}/{sort}/{page} 18 | defaults: 19 | _controller: AppBundle:Search:cycle 20 | view: list 21 | decks: all 22 | sort: faction 23 | page: 1 24 | 25 | cards_search: 26 | path: /search 27 | defaults: 28 | _controller: AppBundle:Search:form 29 | 30 | cards_find: 31 | path: /find 32 | defaults: 33 | _controller: AppBundle:Search:find 34 | 35 | cards_processSearchForm: 36 | path: /process 37 | defaults: 38 | _controller: AppBundle:Search:process 39 | -------------------------------------------------------------------------------- /app/Resources/FOSUserBundle/views/Resetting/request_content.html.twig: -------------------------------------------------------------------------------- 1 | {% trans_default_domain 'FOSUserBundle' %} 2 | 3 | 4 | 5 | 6 | 11 | 12 |
    13 |
    14 | 15 | 16 |
    17 |
    18 | 24 |
    25 |
    26 | 27 | {% trans_default_domain 'FOSUserBundle' %} 28 | -------------------------------------------------------------------------------- /src/AppBundle/Form/TypeType.php: -------------------------------------------------------------------------------- 1 | add('code') 19 | ->add('name') 20 | ; 21 | } 22 | 23 | /** 24 | * @param OptionsResolverInterface $resolver 25 | */ 26 | public function setDefaultOptions(OptionsResolverInterface $resolver) 27 | { 28 | $resolver->setDefaults(array( 29 | 'data_class' => 'AppBundle\Entity\Type' 30 | )); 31 | } 32 | 33 | /** 34 | * @return string 35 | */ 36 | public function getName() 37 | { 38 | return 'appbundle_type'; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/AppBundle/Form/TournamentType.php: -------------------------------------------------------------------------------- 1 | add('description') 19 | ; 20 | } 21 | 22 | /** 23 | * @param OptionsResolverInterface $resolver 24 | */ 25 | public function setDefaultOptions(OptionsResolverInterface $resolver) 26 | { 27 | $resolver->setDefaults(array( 28 | 'data_class' => 'AppBundle\Entity\Tournament' 29 | )); 30 | } 31 | 32 | /** 33 | * @return string 34 | */ 35 | public function getName() 36 | { 37 | return 'appbundle_tournamenttype'; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/AppBundle/Form/SubtypeType.php: -------------------------------------------------------------------------------- 1 | add('code') 19 | ->add('name') 20 | ; 21 | } 22 | 23 | /** 24 | * @param OptionsResolverInterface $resolver 25 | */ 26 | public function setDefaultOptions(OptionsResolverInterface $resolver) 27 | { 28 | $resolver->setDefaults(array( 29 | 'data_class' => 'AppBundle\Entity\Subtype' 30 | )); 31 | } 32 | 33 | /** 34 | * @return string 35 | */ 36 | public function getName() 37 | { 38 | return 'appbundle_subtype'; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Campaign.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Campaign: 2 | type: entity 3 | table: campaign 4 | manyToOne: 5 | cycle: 6 | targetEntity: Cycle 7 | inversedBy: campaigns 8 | joinColumn: 9 | name: cycle_id 10 | referencedColumnName: id 11 | oneToMany: 12 | scenarios: 13 | targetEntity: Scenario 14 | orderBy: {'id':'ASC'} 15 | mappedBy: campaign 16 | fields: 17 | id: 18 | type: integer 19 | id: true 20 | generator: 21 | strategy: AUTO 22 | code: 23 | type: string 24 | length: 255 25 | nullable: false 26 | name: 27 | type: string 28 | length: 1024 29 | nullable: false 30 | size: 31 | type: smallint 32 | nullable: false 33 | 34 | uniqueConstraints: 35 | campaign_code_idx: 36 | columns: [ code ] 37 | -------------------------------------------------------------------------------- /src/AppBundle/Form/EncounterType.php: -------------------------------------------------------------------------------- 1 | add('code') 19 | ->add('name') 20 | ; 21 | } 22 | 23 | /** 24 | * @param OptionsResolverInterface $resolver 25 | */ 26 | public function setDefaultOptions(OptionsResolverInterface $resolver) 27 | { 28 | $resolver->setDefaults(array( 29 | 'data_class' => 'AppBundle\Entity\Encounter' 30 | )); 31 | } 32 | 33 | /** 34 | * @return string 35 | */ 36 | public function getName() 37 | { 38 | return 'appbundle_encounter'; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Encounter.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Encounter: 2 | type: entity 3 | table: Encounter 4 | gedmo: 5 | translation: 6 | locale: locale 7 | oneToMany: 8 | cards: 9 | targetEntity: Card 10 | orderBy: {'position':'ASC'} 11 | mappedBy: encounter 12 | manyToMany: 13 | scenarios: 14 | targetEntity: Scenario 15 | orderBy: {'id':'ASC'} 16 | mappedBy: encounters 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | code: 24 | type: string 25 | length: 255 26 | nullable: false 27 | name: 28 | type: string 29 | length: 1024 30 | nullable: false 31 | gedmo: 32 | - translatable 33 | uniqueConstraints: 34 | encounter_code_idx: 35 | columns: [ code ] 36 | 37 | -------------------------------------------------------------------------------- /src/AppBundle/DQL/PowerFunction.php: -------------------------------------------------------------------------------- 1 | basePrimary->dispatch($sqlWalker), 23 | $this->exponentPrimary->dispatch($sqlWalker) 24 | ); 25 | } 26 | 27 | /** 28 | * @override 29 | */ 30 | public function parse(\Doctrine\ORM\Query\Parser $parser) { 31 | $parser->match(Lexer::T_IDENTIFIER); 32 | $parser->match(Lexer::T_OPEN_PARENTHESIS); 33 | $this->basePrimary = $parser->StringExpression(); 34 | $parser->match(Lexer::T_COMMA); 35 | $this->exponentPrimary = $parser->ArithmeticPrimary(); 36 | $parser->match(Lexer::T_CLOSE_PARENTHESIS); 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /src/AppBundle/Listener/CoreExceptionListener.php: -------------------------------------------------------------------------------- 1 | getException(); 15 | $request = $event->getRequest(); 16 | if (! $request->isXmlHttpRequest()) { 17 | return; 18 | } 19 | $statusCode = $exception->getCode(); 20 | if (!array_key_exists($statusCode, \Symfony\Component\HttpFoundation\Response::$statusTexts)) { 21 | $statusCode = 500; 22 | } 23 | $content = [ 24 | 'success' => false, 25 | 'message' => $exception->getMessage() 26 | ]; 27 | $response = new \Symfony\Component\HttpFoundation\JsonResponse($content, $statusCode, array('Content-Type' => 'application/json')); 28 | $event->setResponse($response); 29 | } 30 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/recent_reviews.html.twig: -------------------------------------------------------------------------------- 1 |
    2 |

    Card reviews more

    3 |
    4 | {% for review in reviews %} 5 | 17 | {% endfor %} 18 |
    19 |
    20 | -------------------------------------------------------------------------------- /web/app.php: -------------------------------------------------------------------------------- 1 | unregister(); 15 | $apcLoader->register(true); 16 | */ 17 | 18 | require_once __DIR__.'/../app/AppKernel.php'; 19 | //require_once __DIR__.'/../app/AppCache.php'; 20 | 21 | $kernel = new AppKernel('prod', false); 22 | $kernel->loadClassCache(); 23 | //$kernel = new AppCache($kernel); 24 | 25 | // When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter 26 | //Request::enableHttpMethodParameterOverride(); 27 | $request = Request::createFromGlobals(); 28 | $response = $kernel->handle($request); 29 | $response->send(); 30 | $kernel->terminate($request, $response); 31 | -------------------------------------------------------------------------------- /src/AppBundle/Form/FactionType.php: -------------------------------------------------------------------------------- 1 | add('code') 19 | ->add('name') 20 | ->add('is_primary') 21 | ->add('octgn_id') 22 | ; 23 | } 24 | 25 | /** 26 | * @param OptionsResolverInterface $resolver 27 | */ 28 | public function setDefaultOptions(OptionsResolverInterface $resolver) 29 | { 30 | $resolver->setDefaults(array( 31 | 'data_class' => 'AppBundle\Entity\Faction' 32 | )); 33 | } 34 | 35 | /** 36 | * @return string 37 | */ 38 | public function getName() 39 | { 40 | return 'appbundle_faction'; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.zh.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | 你的账户尚未确认 11 | 12 | 13 | If you forgot your password 14 | 如果你忘记了密码 15 | 16 | 17 | click here 18 | 点击此处 19 | 20 | 21 | otherwise log in 22 | 否则登录 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Admin/index.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block body %} 4 |
    5 |

    Admin Panel

    6 |

    Game data management

    7 | 17 |

    Excel card data file

    18 | 22 |

    User Management

    23 | 26 |
    27 | {% endblock %} 28 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/searchbar.html.twig: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 | 5 | 6 | 7 | 8 | 9 | 10 | {% include 'AppBundle:Search:searchoptions.html.twig' %} 11 |
    12 | 18 |
    19 |
    20 |
    21 |
    22 | 23 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Comment.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Comment: 2 | type: entity 3 | table: comment 4 | manyToOne: 5 | user: 6 | targetEntity: User 7 | nullable: false 8 | inversedBy: comments 9 | joinColumn: 10 | name: user_id 11 | referencedColumnName: id 12 | decklist: 13 | targetEntity: Decklist 14 | nullable: false 15 | inversedBy: comments 16 | joinColumn: 17 | name: decklist_id 18 | referencedColumnName: id 19 | fields: 20 | id: 21 | type: integer 22 | id: true 23 | generator: 24 | strategy: AUTO 25 | text: 26 | type: text 27 | dateCreation: 28 | type: datetime 29 | nullable: false 30 | column: date_creation 31 | gedmo: 32 | timestampable: 33 | on: create 34 | isHidden: 35 | type: boolean 36 | column: is_hidden 37 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/donators.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block body %} 4 | 5 |
    6 |
    7 | 8 |
    9 |

    The Gracious Donators

    10 |

    ThronesDB wouldn't be the same without them. Many, many thanks.

    11 |

    To show our appreciation, the content of the site is free of ads for Donators.

    12 |

    To become a Donator and help run the site, you can use Paypal (€) or Paypal ($).

    13 | 21 |
    22 | 23 |
    24 |
    25 | 26 | {% endblock %} 27 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/ClassMetadataFactory.php: -------------------------------------------------------------------------------- 1 | em = $em; 29 | parent::setEntityManager($em); 30 | } 31 | 32 | /** 33 | * @inheritDoc 34 | */ 35 | protected function newClassMetadataInstance($className) 36 | { 37 | return new \AppBundle\Repository\ClassMetadata($className, $this->em->getConfiguration()->getNamingStrategy()); 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Deckchange.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Deckchange: 2 | type: entity 3 | table: deckchange 4 | manyToOne: 5 | deck: 6 | targetEntity: Deck 7 | nullable: false 8 | inversedBy: changes 9 | joinColumn: 10 | name: deck_id 11 | referencedColumnName: id 12 | fields: 13 | id: 14 | type: integer 15 | id: true 16 | generator: 17 | strategy: AUTO 18 | dateCreation: 19 | type: datetime 20 | nullable: false 21 | column: date_creation 22 | gedmo: 23 | timestampable: 24 | on: create 25 | variation: 26 | type: string 27 | length: 1024 28 | meta: 29 | type: string 30 | length: 1024 31 | nullable: true 32 | isSaved: 33 | type: boolean 34 | column: is_saved 35 | version: 36 | type: string 37 | length: 8 38 | nullable: true 39 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.ko.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | 당신의 계정은 확인을 기다리고 있습니다. 11 | 12 | 13 | If you forgot your password 14 | 당신의 비밀번호을 잊어버렸다면 15 | 16 | 17 | click here 18 | 여기를 클릭하세요 19 | 20 | 21 | otherwise log in 22 | 아니라면 로그인하세요 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/fonts/font3933.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Created by FontForge 20160407 at Tue Aug 9 19:51:59 2016 6 | By Jimmy Wärting 7 | 8 | 9 | 10 | 23 | 25 | 27 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Faction.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Faction: 2 | type: entity 3 | table: faction 4 | repositoryClass: AppBundle\Repository\FactionRepository 5 | gedmo: 6 | translation: 7 | locale: locale 8 | oneToMany: 9 | cards: 10 | targetEntity: Card 11 | orderBy: {'position':'ASC'} 12 | mappedBy: faction 13 | fields: 14 | id: 15 | type: integer 16 | id: true 17 | generator: 18 | strategy: AUTO 19 | code: 20 | type: string 21 | length: 255 22 | nullable: false 23 | name: 24 | type: string 25 | length: 1024 26 | nullable: false 27 | gedmo: 28 | - translatable 29 | isPrimary: 30 | type: boolean 31 | nullable: false 32 | column: is_primary 33 | octgnId: 34 | type: string 35 | nullable: true 36 | column: octgn_id 37 | uniqueConstraints: 38 | faction_code_idx: 39 | columns: [ code ] 40 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/comments.html.twig: -------------------------------------------------------------------------------- 1 | {% import "AppBundle::macros.html.twig" as macros %} 2 | 3 | 4 | 5 | 6 | 7 | {% for comment in decklist.comments %} 8 | 20 | {% endfor %} 21 | 22 |
    {{ decklist.nbComments }} comments
    9 |
    10 | 11 |
    12 |
    13 |

    14 | {{ comment.dateCreation|date('M d, Y') }} 15 | {{ macros.username(comment.user) }} 16 |

    17 |
    {{ comment.text|raw }}
    18 |
    19 |
    23 | 24 |
    25 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.ru.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Ваш аккаунт не ожидает подтверждения 11 | 12 | 13 | If you forgot your password 14 | Если вы забыли свой пароль 15 | 16 | 17 | click here 18 | нажмите здесь 19 | 20 | 21 | otherwise log in 22 | в противном случае войдите (log in) 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Admin/user_comments.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle:Admin:base.html.twig' %} 2 | 3 | {% block content -%} 4 |

    User Comments

    5 | 6 | {% for label, flashes in app.session.flashbag.all %} 7 | {% for flash in flashes %} 8 |
    9 | {{ flash }} 10 |
    11 | {% endfor %} 12 | {% endfor %} 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | {% for comment in user.comments %} 25 | 26 | 27 | 28 | 29 | 30 | 34 | 35 | {% endfor %} 36 |
    DecklistDateCommentStatusAction
    {{ comment.decklist.name }}{{ comment.dateCreation|date('r') }}{{ comment.text|raw }}{% if comment.isHidden %}Hidden{% else %}Visible{% endif %} 31 | {% if comment.isHidden %}Unhide{% else %}Hide{% endif %} 32 | Delete 33 |
    37 | {% endblock %} 38 | -------------------------------------------------------------------------------- /src/AppBundle/Repository/ClassMetadata.php: -------------------------------------------------------------------------------- 1 | name === 'Gedmo\Translatable\Entity\Translation' 24 | // If you have a custom translation entitny. See: https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#translation-entity 25 | || $this->name === 'AppBundle\Repository\CustomEntityTranslation' 26 | ) { 27 | if ($mapping['fieldName'] === 'foreignKey') { 28 | $mapping['type'] = 'integer'; 29 | unset($mapping['length']); 30 | } 31 | } 32 | parent::mapField($mapping); 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/public/js/app.binomial.js: -------------------------------------------------------------------------------- 1 | /** 2 | * binomial coefficient module, shamelessly ripped from https://github.com/pboyer/binomial.js 3 | */ 4 | (function app_binomial(binomial, $) { 5 | 6 | var memo = []; 7 | 8 | /** 9 | * @memberOf binomial 10 | */ 11 | binomial.get = function(n, k) { 12 | if (k === 0) { 13 | return 1; 14 | } 15 | if (n === 0 || k > n) { 16 | return 0; 17 | } 18 | if (k > n - k) { 19 | k = n - k; 20 | } 21 | if ( memo_exists(n,k) ) { 22 | return get_memo(n,k); 23 | } 24 | var r = 1, 25 | n_o = n; 26 | for (var d=1; d <= k; d++) { 27 | if ( memo_exists(n_o, d) ) { 28 | n--; 29 | r = get_memo(n_o, d); 30 | continue; 31 | } 32 | r *= n--; 33 | r /= d; 34 | memoize(n_o, d, r); 35 | } 36 | return r; 37 | }; 38 | 39 | function memo_exists(n, k) { 40 | return ( memo[n] != undefined && memo[n][k] != undefined ); 41 | } 42 | 43 | function get_memo(n, k) { 44 | return memo[n][k]; 45 | } 46 | 47 | function memoize(n, k, val) { 48 | if ( memo[n] === undefined ) { 49 | memo[n] = []; 50 | } 51 | memo[n][k] = val; 52 | } 53 | 54 | })(app.binomial = {}, jQuery); 55 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Reviewcomment.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Reviewcomment: 2 | type: entity 3 | table: reviewcomment 4 | manyToOne: 5 | user: 6 | targetEntity: User 7 | nullable: false 8 | joinColumn: 9 | name: user_id 10 | referencedColumnName: id 11 | review: 12 | targetEntity: Review 13 | nullable: false 14 | inversedBy: comments 15 | joinColumn: 16 | name: review_id 17 | referencedColumnName: id 18 | fields: 19 | id: 20 | type: integer 21 | id: true 22 | generator: 23 | strategy: AUTO 24 | dateCreation: 25 | type: datetime 26 | nullable: false 27 | column: date_creation 28 | gedmo: 29 | timestampable: 30 | on: create 31 | dateUpdate: 32 | type: datetime 33 | nullable: false 34 | column: date_update 35 | gedmo: 36 | timestampable: 37 | on: update 38 | text: 39 | type: text 40 | nullable: false 41 | -------------------------------------------------------------------------------- /web/app_dev.php: -------------------------------------------------------------------------------- 1 | loadClassCache(); 28 | $request = Request::createFromGlobals(); 29 | $response = $kernel->handle($request); 30 | $response->send(); 31 | $kernel->terminate($request, $response); 32 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.de.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.de.xlf~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.en.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.en.xlf~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.it.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.it.xlf~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Your account is not awaiting confirmation 11 | 12 | 13 | If you forgot your password 14 | If you forgot your password 15 | 16 | 17 | click here 18 | click here 19 | 20 | 21 | otherwise log in 22 | otherwise log in 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Scenario.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Scenario: 2 | type: entity 3 | table: scenario 4 | manyToOne: 5 | campaign: 6 | targetEntity: Campaign 7 | inversedBy: scenarios 8 | joinColumn: 9 | name: campaign_id 10 | referencedColumnName: id 11 | manyToMany: 12 | encounters: 13 | targetEntity: Encounter 14 | inversedBy: scenarios 15 | joinColumn: 16 | name: encounter_id 17 | referencedColumnName: id 18 | oneToMany: 19 | user_scenarios: 20 | targetEntity: Userscenario 21 | orderBy: {'id':'ASC'} 22 | mappedBy: scenario 23 | fields: 24 | id: 25 | type: integer 26 | id: true 27 | generator: 28 | strategy: AUTO 29 | code: 30 | type: string 31 | length: 255 32 | nullable: false 33 | name: 34 | type: string 35 | length: 1024 36 | nullable: false 37 | position: 38 | type: smallint 39 | nullable: true 40 | uniqueConstraints: 41 | scenario_code_idx: 42 | columns: [ code ] 43 | 44 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.es.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Tu cuenta está a la espera de confirmación 11 | 12 | 13 | If you forgot your password 14 | Si has olvidado tu contraseña 15 | 16 | 17 | click here 18 | haz click aquí 19 | 20 | 21 | otherwise log in 22 | en caso contrario accede 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.es.xlf~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Tu cuenta está a la espera de confirmación 11 | 12 | 13 | If you forgot your password 14 | Si has olvidado tu contraseña 15 | 16 | 17 | click here 18 | haz click aquí 19 | 20 | 21 | otherwise log in 22 | en caso contrario accede 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Model/SlotCollectionInterface.php: -------------------------------------------------------------------------------- 1 | qty 43 | * @return array 44 | */ 45 | public function getContent(); 46 | 47 | /** 48 | * Get the cards which ignore deck limit as an array card_code => qty 49 | * @return array 50 | */ 51 | public function getIgnoreDeckLimitContent(); 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.fr.xlf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Votre compte n'est pas en attente de confirmation 11 | 12 | 13 | If you forgot your password 14 | Si vous avez oublié votre mot de passe 15 | 16 | 17 | click here 18 | cliquez ici 19 | 20 | 21 | otherwise log in 22 | ou identifiez-vous 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/translations/FOSUserBundle.fr.xlf~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
    5 | 6 |
    7 | 8 | 9 | Your account is not awaiting confirmation 10 | Votre compte n'est pas en attente de confirmation 11 | 12 | 13 | If you forgot your password 14 | Si vous avez oublié votre mot de passe 15 | 16 | 17 | click here 18 | cliquez ici 19 | 20 | 21 | otherwise log in 22 | ou identifiez-vous 23 | 24 | 25 |
    26 |
    27 | -------------------------------------------------------------------------------- /src/AppBundle/Command/DeleteInactiveCommand.php: -------------------------------------------------------------------------------- 1 | setName('app:inactive-users') 17 | ->setDescription('Delete users inactive since 48 hours') 18 | ; 19 | } 20 | 21 | protected function execute(InputInterface $input, OutputInterface $output) 22 | { 23 | $em = $this->getContainer()->get('doctrine')->getManager(); 24 | $limit = new \DateTime(); 25 | $limit->sub(new \DateInterval('PT48H')); 26 | $count = 0; 27 | 28 | $users = $em->getRepository('AppBundle:User')->findBy(array('enabled' => false)); 29 | foreach($users as $user) { 30 | /* @var $user AppBundle\Entity\User */ 31 | if($user->getDateCreation() < $limit) { 32 | $count++; 33 | $em->remove($user); 34 | } 35 | } 36 | $em->flush(); 37 | $output->writeln(date('c') . " Delete $count inactive users."); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/apiset.xml.twig: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | {% autoescape false %} 10 | {% for card in cards %} 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {% endfor %} 28 | {% endautoescape %} 29 | 30 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/archive.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/tab-pane-history.html.twig: -------------------------------------------------------------------------------- 1 | {% import "AppBundle::macros.html.twig" as macros %} 2 | 3 |
    4 |
    5 |
    6 |
    Time remaining
    7 |
    8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
    DateVersionChangesAction
    20 |
    21 |
    22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | {% if deck.children|length %} 31 | {% for decklist in deck.children %} 32 | {{ macros.decklist_table_row(decklist) }} 33 | {% endfor %} 34 | {% else %} 35 | 36 | {% endif %} 37 | 38 |
    Published versions
    None.
    39 | 40 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/tag_clear.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | -------------------------------------------------------------------------------- /app/config/config_dev.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - { resource: config.yml } 3 | 4 | framework: 5 | router: 6 | resource: "%kernel.root_dir%/config/routing_dev.yml" 7 | strict_requirements: true 8 | profiler: { only_exceptions: false } 9 | 10 | web_profiler: 11 | toolbar: true 12 | intercept_redirects: false 13 | 14 | monolog: 15 | handlers: 16 | main: 17 | type: stream 18 | path: "%kernel.logs_dir%/%kernel.environment%.log" 19 | level: debug 20 | channels: ["!event","!php"] 21 | console: 22 | type: console 23 | bubble: false 24 | verbosity_levels: 25 | VERBOSITY_VERBOSE: INFO 26 | VERBOSITY_VERY_VERBOSE: DEBUG 27 | channels: ["!doctrine"] 28 | console_very_verbose: 29 | type: console 30 | bubble: false 31 | verbosity_levels: 32 | VERBOSITY_VERBOSE: NOTICE 33 | VERBOSITY_VERY_VERBOSE: NOTICE 34 | VERBOSITY_DEBUG: DEBUG 35 | channels: ["doctrine"] 36 | 37 | assetic: 38 | use_controller: false 39 | 40 | fos_user: 41 | from_email: 42 | address: "%email_sender_address%" 43 | sender_name: "%email_sender_name%" 44 | 45 | #swiftmailer: 46 | # delivery_address: me@example.com 47 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/delete-modal.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 26 | 27 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/delete_list.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 28 | 29 | -------------------------------------------------------------------------------- /src/AppBundle/Controller/SecurityController.php: -------------------------------------------------------------------------------- 1 | getSession(); 14 | 15 | if ($request->attributes->has(Security::AUTHENTICATION_ERROR)) { 16 | $error = $request->attributes->get(Security::AUTHENTICATION_ERROR); 17 | } elseif (null !== $session && $session->has(Security::AUTHENTICATION_ERROR)) { 18 | $error = $session->get(Security::AUTHENTICATION_ERROR); 19 | $session->remove(Security::AUTHENTICATION_ERROR); 20 | } else { 21 | $error = ''; 22 | } 23 | 24 | if ($error) { 25 | $error = $error->getMessage(); 26 | } 27 | 28 | $lastUsername = (null === $session) ? '' : $session->get(Security::LAST_USERNAME); 29 | 30 | return $this->render( 31 | 'AppBundle:Security:login.html.twig', 32 | array( 33 | 'last_username' => $lastUsername, 34 | 'error' => $error, 35 | ) 36 | ); 37 | } 38 | 39 | public function loginCheckAction(Request $request) 40 | { 41 | 42 | } 43 | } -------------------------------------------------------------------------------- /src/AppBundle/Command/ResendCommand.php: -------------------------------------------------------------------------------- 1 | setName('app:resend') 18 | ->setDescription('Resend confirmation e-mails') 19 | ; 20 | } 21 | 22 | protected function execute(InputInterface $input, OutputInterface $output) 23 | { 24 | $em = $this->getContainer()->get('doctrine')->getManager(); 25 | $count = 0; 26 | 27 | $users = $em->getRepository('AppBundle:User')->findAll(); 28 | foreach($users as $user) { 29 | if ($user->getConfirmationToken() !== null){ 30 | $output->writeln($user->getEmail() . " ". $user->getConfirmationToken()); 31 | $this->getContainer()->get('fos_user.mailer')->sendConfirmationEmailMessage($user); 32 | sleep(1); 33 | //break; 34 | } 35 | //$this->mailer->sendConfirmationEmailMessage($user); 36 | } 37 | 38 | $output->writeln(" Possibly Sent Some E-mails yay."); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Decklist/compare-modal.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | -------------------------------------------------------------------------------- /app/phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | ../src/*/*Bundle/Tests 13 | ../src/*/Bundle/*Bundle/Tests 14 | ../src/*Bundle/Tests 15 | 16 | 17 | 18 | 23 | 24 | 25 | 26 | ../src 27 | 28 | ../src/*Bundle/Resources 29 | ../src/*Bundle/Tests 30 | ../src/*/*Bundle/Resources 31 | ../src/*/*Bundle/Tests 32 | ../src/*/Bundle/*Bundle/Resources 33 | ../src/*/Bundle/*Bundle/Tests 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/AppBundle/Entity/Userscenario.php: -------------------------------------------------------------------------------- 1 | name; 19 | } 20 | 21 | /** 22 | * @var integer 23 | */ 24 | private $id; 25 | 26 | 27 | /** 28 | * @var AppBundle\Entity\Scenario 29 | */ 30 | private $scenario; 31 | 32 | 33 | /** 34 | * @var \Doctrine\Common\Collections\Collection 35 | */ 36 | private $user_campaigns; 37 | 38 | /** 39 | * Constructor 40 | */ 41 | public function __construct() 42 | { 43 | 44 | } 45 | 46 | /** 47 | * Get id 48 | * 49 | * @return integer 50 | */ 51 | public function getId() 52 | { 53 | return $this->id; 54 | } 55 | 56 | /** 57 | * Set name 58 | * 59 | * @param string $name 60 | * 61 | * @return Type 62 | */ 63 | public function setName($name) 64 | { 65 | $this->name = $name; 66 | 67 | return $this; 68 | } 69 | 70 | /** 71 | * Get name 72 | * 73 | * @return string 74 | */ 75 | public function getName() 76 | { 77 | return $this->name; 78 | } 79 | 80 | } 81 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/delete.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | -------------------------------------------------------------------------------- /src/AppBundle/Command/FixCanonicalNamesCommand.php: -------------------------------------------------------------------------------- 1 | setName('app:fix-canonical-names') 17 | ->setDescription('Fix canonical names for decklists') 18 | ; 19 | } 20 | 21 | protected function execute(InputInterface $input, OutputInterface $output) 22 | { 23 | $em = $this->getContainer()->get('doctrine')->getManager(); 24 | $texts = $this->getContainer()->get('texts'); 25 | $count = 0; 26 | 27 | $decklists = $em->getRepository('AppBundle:Decklist')->findAll(); 28 | foreach($decklists as $decklist) { 29 | /* @var $decklist \AppBundle\Entity\Decklist */ 30 | $nameCanonical = $texts->slugify($decklist->getName()) . '-' . $decklist->getVersion(); 31 | if($nameCanonical !== $decklist->getNameCanonical()) { 32 | $decklist->setNameCanonical($nameCanonical); 33 | $count++; 34 | } 35 | } 36 | $em->flush(); 37 | $output->writeln(date('c') . " Fixed $count decklist canonical names."); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/tag_add.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | -------------------------------------------------------------------------------- /src/AppBundle/Helper/AgendaHelper.php: -------------------------------------------------------------------------------- 1 | entityManager = $entityManager; 14 | } 15 | 16 | /** 17 | * Get the minor faction code 18 | * @param Card $agenda 19 | * @return string 20 | */ 21 | public function getMinorFactionCode(Card $agenda) { 22 | if(empty($agenda)) { 23 | return null; 24 | } 25 | 26 | // special case for the Core Set Banners 27 | $banners_core_set = [ 28 | '01198' => 'baratheon', 29 | '01199' => 'greyjoy', 30 | '01200' => 'lannister', 31 | '01201' => 'martell', 32 | '01202' => 'thenightswatch', 33 | '01203' => 'stark', 34 | '01204' => 'targaryen', 35 | '01205' => 'tyrell' 36 | ]; 37 | if(isset($banners_core_set[$agenda->getCode()])) { 38 | return $banners_core_set[$agenda->getCode()]; 39 | } 40 | return null; 41 | } 42 | 43 | /** 44 | * Get the minor faction 45 | * @param Card $agenda 46 | * @return Faction 47 | */ 48 | public function getMinorFaction(Card $agenda) { 49 | $code = $this->getMinorFactionCode($agenda); 50 | if($code) { 51 | return $this->entityManager->getRepository('AppBundle:Faction')->findOneBy([ 'code' => $code ]); 52 | } 53 | return null; 54 | } 55 | 56 | } -------------------------------------------------------------------------------- /app/config/routing.yml: -------------------------------------------------------------------------------- 1 | app: 2 | resource: "@AppBundle/Resources/config/routing.yml" 3 | prefix: / 4 | 5 | fos_js_routing: 6 | resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml" 7 | 8 | fos_user_security: 9 | resource: "@FOSUserBundle/Resources/config/routing/security.xml" 10 | 11 | fos_user_profile: 12 | resource: "@FOSUserBundle/Resources/config/routing/profile.xml" 13 | prefix: /profile 14 | 15 | fos_user_register: 16 | resource: "@FOSUserBundle/Resources/config/routing/registration.xml" 17 | prefix: /register 18 | 19 | fos_user_resetting: 20 | resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" 21 | prefix: /resetting 22 | 23 | fos_user_change_password: 24 | resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" 25 | prefix: /profile 26 | 27 | nelmio_api_doc_bundle: 28 | resource: "@NelmioApiDocBundle/Resources/config/routing.yml" 29 | prefix: /api/doc 30 | 31 | fos_oauth_server_token: 32 | resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" 33 | 34 | fos_oauth_server_authorize: 35 | resource: "@FOSOAuthServerBundle/Resources/config/routing/authorize.xml" 36 | 37 | oauth_server_auth_login: 38 | path: /oauth/v2/auth_login 39 | defaults: 40 | _controller: AppBundle:Security:login 41 | 42 | oauth_server_auth_login_check: 43 | path: /oauth/v2/auth_login_check 44 | defaults: 45 | _controller: AppBundle:Security:loginCheck 46 | -------------------------------------------------------------------------------- /src/AppBundle/Command/DumpStdBaseCommand.php: -------------------------------------------------------------------------------- 1 | setName('app:dump:std:base') 18 | ->setDescription('Dump Base data') 19 | ->addArgument( 20 | 'entityName', 21 | InputArgument::REQUIRED, 22 | "Entity (cycle, pack, faction, type)" 23 | ) 24 | ; 25 | } 26 | 27 | protected function execute(InputInterface $input, OutputInterface $output) 28 | { 29 | $entityName = $input->getArgument('entityName'); 30 | $entityFullName = 'AppBundle:'.ucfirst($entityName); 31 | 32 | $repository = $this->getContainer()->get('doctrine')->getManager()->getRepository($entityFullName); 33 | 34 | $qb = $repository->createQueryBuilder('e')->orderBy('e.code'); 35 | 36 | $result = $qb->getQuery()->getResult(); 37 | 38 | $arr = []; 39 | 40 | foreach($result as $record) { 41 | $arr[] = $record->serialize(); 42 | } 43 | 44 | $output->write(json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES )); 45 | $output->writeln(""); 46 | } 47 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Security/login.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block navbar %}{% endblock %} 4 | 5 | {% block body %} 6 |
    7 |
    8 |
    9 |
    10 |
    11 |

    Welcome on ArkhamDB

    12 |
    13 |
    14 |
    15 |

    Please log in to proceed. Your password will remain confidential.

    16 |
    17 | {% if(error) %} 18 |
    {{ error }}
    19 | {% endif %} 20 |
    21 | 22 |

    23 |
    24 |
    25 | 26 |

    27 |
    28 |
    29 | 30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 |
    38 | {% endblock %} 39 | 40 | {% block footer %}{% endblock %} 41 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Export/octgn.xml.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 |
    4 | {{ deck.investigator.name }} 5 | {{ deck.investigator.name }} 6 |
    7 |
    8 | {% for slot in deck.slots_by_type.asset %} 9 | {{ slot.card.name }} 10 | {% endfor %} 11 |
    12 |
    13 | {% for slot in deck.slots_by_type.event %} 14 | {{ slot.card.name }} 15 | {% endfor %} 16 |
    17 |
    18 | {% for slot in deck.slots_by_type.skill %} 19 | {{ slot.card.name }} 20 | {% endfor %} 21 |
    22 |
    23 | {% for slot in deck.basicweakness %} 24 | {{ slot.card.name }} 25 | {% endfor %} 26 | {% for slot in deck.weakness %} 27 | {{ slot.card.name }} 28 | {% endfor %} 29 |
    30 | 31 |
    32 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_decklist.yml: -------------------------------------------------------------------------------- 1 | 2 | decklist_export_octgn: 3 | path: /export/octgn/{decklist_id} 4 | methods: [GET] 5 | defaults: 6 | _controller: AppBundle:Social:octgnexport 7 | requirements: 8 | decklist_id: \d+ 9 | 10 | decklist_export_text: 11 | path: /export/text/{decklist_id} 12 | methods: [GET] 13 | defaults: 14 | _controller: AppBundle:Social:textexport 15 | requirements: 16 | decklist_id: \d+ 17 | 18 | decklist_detail: 19 | path: /view/{decklist_id}/{decklist_name} 20 | methods: [GET] 21 | defaults: 22 | _controller: AppBundle:Social:view 23 | decklist_name: null 24 | requirements: 25 | decklist_id: \d+ 26 | 27 | decklist_create: 28 | path: /create 29 | methods: [POST] 30 | defaults: 31 | _controller: AppBundle:Social:create 32 | 33 | decklist_edit: 34 | path: /edit/{decklist_id} 35 | defaults: 36 | _controller: AppBundle:Social:editForm 37 | requirements: 38 | decklist_id: \d+ 39 | 40 | decklist_save: 41 | path: /save/{decklist_id} 42 | methods: [POST] 43 | defaults: 44 | _controller: AppBundle:Social:save 45 | requirements: 46 | decklist_id: \d+ 47 | 48 | decklist_delete: 49 | path: /delete/{decklist_id} 50 | methods: [POST] 51 | defaults: 52 | _controller: AppBundle:Social:delete 53 | requirements: 54 | decklist_id: \d+ 55 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/tag_remove.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/tab-pane-personal.html.twig: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 | 5 |
    6 |
    7 |
    8 | 9 |
    10 | 11 |
    12 |
    13 | 14 |
    15 |
    16 |
    17 |
    18 | 19 | 20 |
    21 |
    22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
    QuantityNameXPCostTypeClass
    35 |
    36 |
    37 |
    38 | 39 |
    -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/usercomments.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block body %} 4 | 5 |
    6 |
    7 | 8 |
    9 | 10 |

    Published comments:

    11 | 12 | 13 | 14 | 15 | {% for comment in comments %} 16 | 17 | 18 | 22 | 23 | {% endfor %} 24 | 25 | 26 |
    19 |
    {{ comment.date_creation|date('M d, Y') }} on {{ comment.decklist_name }}:
    20 | {{ comment.text|raw }} 21 |
    27 | 28 |
    29 |
      30 | {% if prevurl is null %} 31 |
    • «
    • 32 | {% else %} 33 |
    • «
    • 34 | {% endif %} 35 | {% for page in pages %} 36 | {% if page.current %} 37 |
    • {{ page.numero }} (current)
    • 38 | {% else %} 39 |
    • {{ page.numero }}
    • 40 | {% endif %} 41 | {% endfor %} 42 | {% if nexturl is null %} 43 |
    • »
    • 44 | {% else %} 45 |
    • »
    • 46 | {% endif %} 47 |
    48 |
    49 | 50 |
    51 | 52 | 53 |
    54 |
    55 | 56 | {% endblock %} 57 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/routing_user.yml: -------------------------------------------------------------------------------- 1 | remind_email: 2 | path: /remind/{username} 3 | defaults: 4 | _controller: AppBundle:User:remind 5 | 6 | user_profile_public: 7 | path: /profile/{user_id}/{user_name}/{page} 8 | methods: [GET] 9 | defaults: 10 | _controller: AppBundle:User:publicProfile 11 | page: 1 12 | requirements: 13 | user_id: \d+ 14 | 15 | user_profile_edit: 16 | path: /profile_edit 17 | methods: [GET] 18 | defaults: 19 | _controller: AppBundle:User:editProfile 20 | 21 | user_profile_save: 22 | path: /profile_save 23 | methods: [POST] 24 | defaults: 25 | _controller: AppBundle:User:saveProfile 26 | 27 | decklist_favorite: 28 | path: /favorite 29 | methods: [POST] 30 | defaults: 31 | _controller: AppBundle:Social:favorite 32 | 33 | decklist_like: 34 | path: /like 35 | methods: [POST] 36 | defaults: 37 | _controller: AppBundle:Social:vote 38 | 39 | decklist_comment: 40 | path: /comment 41 | methods: [POST] 42 | defaults: 43 | _controller: AppBundle:Social:comment 44 | 45 | decklist_comment_hide: 46 | path: /hidecomment/{comment_id}/{hidden} 47 | methods: [POST] 48 | defaults: 49 | _controller: AppBundle:Social:hidecomment 50 | 51 | card_reviews_list_byauthor: 52 | path: /reviews/{user_id}/{page} 53 | defaults: 54 | _controller: AppBundle:Review:byauthor 55 | page: 1 56 | requirements: 57 | page: \d+ 58 | user_id: \d+ 59 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/display-card-faqs.html.twig: -------------------------------------------------------------------------------- 1 | {% import "AppBundle::macros.html.twig" as macros %} 2 |
    3 | 4 | 5 |
    6 |

    7 | FAQs 8 |

    9 | 10 | {% if card.faqs is defined and card.faqs|length %} 11 | (from the official FAQ or responses to the official rules question form) 12 | {% for review in card.faqs %} 13 |
    14 | 15 |
    16 |
    17 | {{ review.textHtml|raw }} 18 |
    19 |
    20 | Last updated 21 |
    22 | 23 | {% for comment in review.comments %} 24 |
    {{ comment.text|raw }} 25 | — 26 | {{ macros.username(comment.user) }} 27 | 28 |
    29 | {% endfor %} 30 | 31 |
    32 |
    33 | {% endfor %} 34 | {% else %} 35 |

    No faqs yet for this card.

    36 | {% endif %} 37 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Modale/file.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 32 | 33 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/draw-simulator.html.twig: -------------------------------------------------------------------------------- 1 | 2 |
    3 |

    Card draw simulator

    4 |
    5 |
    6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 | 14 | 15 | 16 |
    17 |
    18 | Odds: 19 | 0% – 20 | 0% – 21 | 0% 22 | more 23 | 24 |
    25 |
    26 |
    27 |
    -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/initbuild-investigator.html.twig: -------------------------------------------------------------------------------- 1 | {% import "AppBundle::macros.html.twig" as macros %} 2 |
    4 |
    5 |
    6 |

    {{ macros.card_name_no_link(investigator) }}

    7 |
      8 |
    • Deck Size: {{investigator.deckRequirements.size}}
    • 9 | {% for card in investigator.deckRequirements.cards %} 10 |
    • {{ macros.card_name_no_link(card) }}
    • 11 | {% endfor %} 12 |
    • 1 Random Basic Weakness
    • 13 |
    14 |
    15 |
    16 | 17 |
    18 |
    19 |
    20 |

    21 |
    22 |
    23 | -------------------------------------------------------------------------------- /src/AppBundle/DQL/ReplaceFunction.php: -------------------------------------------------------------------------------- 1 | stringPrimary->dispatch($sqlWalker) . ', ' . 28 | $this->stringSecondary->dispatch($sqlWalker) . ', ' . 29 | $this->stringThird->dispatch($sqlWalker) . 30 | ')'; 31 | /* return $sqlWalker->getConnection()->getDatabasePlatform()->getReplaceExpression( 32 | $this->stringPrimary, $this->stringSecondary, $this->stringThird 33 | );*/ 34 | } 35 | 36 | /** 37 | * @override 38 | */ 39 | public function parse(\Doctrine\ORM\Query\Parser $parser) { 40 | $parser->match(Lexer::T_IDENTIFIER); 41 | $parser->match(Lexer::T_OPEN_PARENTHESIS); 42 | $this->stringPrimary = $parser->StringPrimary(); 43 | $parser->match(Lexer::T_COMMA); 44 | $this->stringSecondary = $parser->StringPrimary(); 45 | $parser->match(Lexer::T_COMMA); 46 | $this->stringThird = $parser->StringPrimary(); 47 | $parser->match(Lexer::T_CLOSE_PARENTHESIS); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/doctrine/Cycle.orm.yml: -------------------------------------------------------------------------------- 1 | AppBundle\Entity\Cycle: 2 | type: entity 3 | table: cycle 4 | repositoryClass: AppBundle\Repository\CycleRepository 5 | gedmo: 6 | translation: 7 | locale: locale 8 | oneToMany: 9 | packs: 10 | targetEntity: Pack 11 | orderBy: {'position':'ASC'} 12 | mappedBy: cycle 13 | campaigns: 14 | targetEntity: Campaign 15 | orderBy: {'id':'ASC'} 16 | mappedBy: cycle 17 | fields: 18 | id: 19 | type: integer 20 | id: true 21 | generator: 22 | strategy: AUTO 23 | code: 24 | type: string 25 | length: 255 26 | nullable: false 27 | name: 28 | type: string 29 | length: 1024 30 | nullable: false 31 | gedmo: 32 | - translatable 33 | position: 34 | type: smallint 35 | nullable: false 36 | size: 37 | type: smallint 38 | nullable: false 39 | dateCreation: 40 | type: datetime 41 | nullable: false 42 | column: date_creation 43 | gedmo: 44 | timestampable: 45 | on: create 46 | dateUpdate: 47 | type: datetime 48 | nullable: false 49 | column: date_update 50 | gedmo: 51 | timestampable: 52 | on: update 53 | uniqueConstraints: 54 | cycle_code_idx: 55 | columns: [ code ] 56 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Compare/deck_compare.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | {% import "AppBundle::macros.html.twig" as macros %} 3 | 4 | {% block body %} 5 |
    6 | 7 |
    8 |

    Deck #{{ deck1.id }}

    {{ deck1.name }}

    9 |

    Deck #{{ deck2.id }}

    {{ deck2.name }}

    10 |
    11 | 12 |
    13 |
    14 |

    Draw Decks

    15 |
    16 |
    17 | 18 | 19 |
    20 |
    21 | {% for slot in draw_deck.slots %} 22 |
    {{ macros.slot_with_icons(slot) }}
    23 | {% endfor %} 24 |
    25 |
    26 | {% for slot in draw_deck.slots %} 27 |
    {{ macros.slot_with_icons(slot) }}
    28 | {% endfor %} 29 |
    30 |
    31 | 32 | 33 |
    34 |
    35 | {% for slot in deck1.slots.drawDeck.slots %} 36 | {% if slot.quantity > 0 %} 37 |
    {{ macros.slot_with_icons(slot) }}
    38 | {% endif %} 39 | {% endfor %} 40 |
    41 |
    42 | {% for slot in deck2.slots.drawDeck.slots %} 43 | {% if slot.quantity > 0 %} 44 |
    {{ macros.slot_with_icons(slot) }}
    45 | {% endif %} 46 | {% endfor %} 47 |
    48 |
    49 | 50 | 51 |
    52 | 53 | {% endblock %} 54 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Builder/directimport.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block javascripts %} 4 | {% javascripts '@AppBundle/Resources/public/js/ui.deckimport.js' %} 5 | 6 | {% endjavascripts %} 7 | 13 | {% endblock %} 14 | 15 | {% block body %} 16 | 17 |
    18 | 19 |
    20 | 21 |
    22 |
    23 |
    24 | 25 | 26 |
    27 | 28 |
    29 |
    30 | 31 |
    32 |
    33 |
    34 | 35 | 36 |
    37 |
    38 |
      39 |
    40 |
    41 | 42 | 43 | 44 | 45 |
    46 |
    47 | 48 |
    49 | 50 |
    51 | 52 | {% endblock %} 53 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Default/allcomments.html.twig: -------------------------------------------------------------------------------- 1 | {% extends 'AppBundle::layout.html.twig' %} 2 | 3 | {% block body %} 4 | 5 |
    6 |
    7 | 8 |
    9 | 10 |

    Decklist comments:

    11 | 12 | 13 | 14 | 15 | {% for comment in comments %} 16 | 17 | 18 | 22 | 23 | {% endfor %} 24 | 25 | 26 |
    19 |
    {{ comment.date_creation|date('M d, Y') }} on {{ comment.decklist_name }}, by {{ comment.author }}:
    20 | {{ comment.text|raw }} 21 |
    27 | 28 |
    29 |
      30 | {% if prevurl is null %} 31 |
    • «
    • 32 | {% else %} 33 |
    • «
    • 34 | {% endif %} 35 | {% for page in pages %} 36 | {% if page.current %} 37 |
    • {{ page.numero }} (current)
    • 38 | {% else %} 39 |
    • {{ page.numero }}
    • 40 | {% endif %} 41 | {% endfor %} 42 | {% if nexturl is null %} 43 |
    • »
    • 44 | {% else %} 45 |
    • »
    • 46 | {% endif %} 47 |
    48 |
    49 | 50 |
    51 | 52 | 53 |
    54 |
    55 | 56 | {% endblock %} 57 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/config/routing/api/routing_api_oauth2.yml: -------------------------------------------------------------------------------- 1 | 2 | api_oauth2_decks: 3 | path: /decks 4 | methods: [GET] 5 | defaults: 6 | _controller: AppBundle:Oauth2:listDecks 7 | 8 | api_oauth2_load_deck: 9 | path: /deck/load/{id} 10 | methods: [GET] 11 | defaults: 12 | _controller: AppBundle:Oauth2:loadDeck 13 | requirements: 14 | id: \d+ 15 | 16 | api_oauth2_new_deck: 17 | path: /deck/new 18 | methods: [POST] 19 | defaults: 20 | _controller: AppBundle:Oauth2:newDeck 21 | 22 | api_oauth2_save_deck: 23 | path: /deck/save/{id} 24 | methods: [PUT] 25 | defaults: 26 | _controller: AppBundle:Oauth2:saveDeck 27 | requirements: 28 | id: \d+ 29 | 30 | api_oauth2_upgrade_deck: 31 | path: /deck/upgrade/{id} 32 | methods: [PUT] 33 | defaults: 34 | _controller: AppBundle:Oauth2:upgradeDeck 35 | requirements: 36 | id: \d+ 37 | 38 | api_oauth2_publish_deck: 39 | path: /deck/publish/{id} 40 | methods: [PUT] 41 | defaults: 42 | _controller: AppBundle:Oauth2:publishDeck 43 | requirements: 44 | id: \d+ 45 | 46 | api_oauth2_delete_deck: 47 | path: /deck/delete/{id} 48 | methods: [DELETE] 49 | defaults: 50 | _controller: AppBundle:Oauth2:deleteDeck 51 | requirements: 52 | id: \d+ 53 | 54 | api_oauth2_list_collection: 55 | path: /collection 56 | methods: [GET] 57 | defaults: 58 | _controller: AppBundle:Oauth2:listCollection 59 | 60 | api_oauth2_update_collection: 61 | path: /collection 62 | methods: [PUT] 63 | defaults: 64 | _controller: AppBundle:Oauth2:updateCollection 65 | 66 | -------------------------------------------------------------------------------- /src/AppBundle/Resources/views/Search/searchoptions.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 17 | 18 | 23 | 24 | 25 | --------------------------------------------------------------------------------