Skip to content

Commit

Permalink
Merge pull request #1 from contao-estatemanager/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
doishub authored Jun 8, 2020
2 parents de739ef + 5042048 commit 985150a
Show file tree
Hide file tree
Showing 10 changed files with 108 additions and 107 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Reference Extension for Contao EstateManager
The Reference extension for Contao EstateManager allows you to display reference objects.

# License
Copyright (c) 2019 Contao EstateManager
Expand Down
13 changes: 9 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,20 @@
"license":"proprietary",
"authors":[
{
"name":"Oveleon",
"homepage":"https://www.oveleon.de/",
"name":"Daniele Sciannimanica",
"homepage":"https://github.com/doishub",
"role":"Developer"
},
{
"name":"Fabian Ekert",
"homepage":"https://github.com/eki89",
"role":"Developer"
}
],
"require":{
"php":">=7.1",
"contao/core-bundle":"^4.4",
"contao-estatemanager/core": "*"
"contao-estatemanager/core": "^1.0"
},
"require-dev": {
"contao/manager-plugin": "^2.0"
Expand All @@ -41,4 +46,4 @@
"extra":{
"contao-manager-plugin": "ContaoEstateManager\\Reference\\ContaoManager\\Plugin"
}
}
}
6 changes: 4 additions & 2 deletions src/Resources/contao/classes/AddonManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

namespace ContaoEstateManager\Reference;

use Contao\Config;
use Contao\Environment;
use ContaoEstateManager\EstateManager;

class AddonManager
Expand Down Expand Up @@ -102,14 +104,14 @@ public static function getLicenses()

public static function valid()
{
if(strpos(\Environment::get('requestUri'), '/contao/install') !== false)
if(strpos(Environment::get('requestUri'), '/contao/install') !== false)
{
return true;
}

if (static::$initialized === false)
{
static::$valid = EstateManager::checkLicenses(\Config::get(static::$key), static::$licenses, static::$key);
static::$valid = EstateManager::checkLicenses(Config::get(static::$key), static::$licenses, static::$key);
static::$initialized = true;
}

Expand Down
46 changes: 19 additions & 27 deletions src/Resources/contao/classes/Reference.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@

namespace ContaoEstateManager\Reference;

use Contao\Controller;
use Contao\StringUtil;
use ContaoEstateManager\RealEstateModel;
use ContaoEstateManager\Translator;

class Reference extends \Controller
class Reference extends Controller
{
/**
* Table
Expand All @@ -26,9 +29,11 @@ class Reference extends \Controller
* @param $arrValues
* @param $arrOptions
* @param $mode
* @param $addFragments
* @param $objModule
* @param $context
*/
public function setFilterParameter(&$arrColumns, &$arrValues, &$arrOptions, $mode, $addFragments, $objModule, $context)
public function setFilterParameter(&$arrColumns, &$arrValues, &$arrOptions, $mode, $addFragments, $objModule, $context): void
{
if($mode === 'reference')
{
Expand All @@ -51,7 +56,7 @@ public function setFilterParameter(&$arrColumns, &$arrValues, &$arrOptions, $mod
* @param $arrOptions
* @param $realEstate
*/
public function setSimilarFilterParameter(&$arrColumns, &$arrValues, &$arrOptions, $realEstate)
public function setSimilarFilterParameter(&$arrColumns, &$arrValues, &$arrOptions, $realEstate): void
{
if($realEstate->referenz)
{
Expand All @@ -66,62 +71,49 @@ public function setSimilarFilterParameter(&$arrColumns, &$arrValues, &$arrOption
/**
* Add status token for reference objects
*
* @param $objTemplate
* @param $realEstate
* @param $validStatusToken
* @param $arrStatusTokens
* @param $context
*/
public function addStatusToken(&$objTemplate, $realEstate, $context)
public function addStatusToken($validStatusToken, &$arrStatusTokens, $context): void
{
$tokens = \StringUtil::deserialize($context->statusTokens);
$arrTokens = array();

if(!$tokens)
{
return;
}

// add reference status token
if (in_array('reference', $tokens) && $realEstate->referenz)
if (in_array('reference', $validStatusToken) && $context->objRealEstate->referenz)
{
$arrTokens[] = array(
$arrStatusTokens[] = array(
'value' => Translator::translateValue('reference'),
'class' => 'reference'
);
}

// add sold status token, if this was not added by the core
if (in_array('sold', $tokens) && $realEstate->verkaufstatus !== 'verkauft' && $realEstate->referenz && ($realEstate->vermarktungsartKauf || $realEstate->vermarktungsartErbpacht))
if (in_array('sold', $validStatusToken) && $context->objRealEstate->verkaufstatus !== 'verkauft' && $context->objRealEstate->referenz && ($context->objRealEstate->vermarktungsartKauf || $context->objRealEstate->vermarktungsartErbpacht))
{
$arrTokens[] = array(
$arrStatusTokens[] = array(
'value' => Translator::translateValue('sold'),
'class' => 'sold'
);
}

// add rented status token, if this was not added by the core
if(in_array('rented', $tokens) && !$realEstate->vermietet && $realEstate->referenz && ($realEstate->vermarktungsartMietePacht || $realEstate->vermarktungsartLeasing))
if(in_array('rented', $validStatusToken) && !$context->objRealEstate->vermietet && $context->objRealEstate->referenz && ($context->objRealEstate->vermarktungsartMietePacht || $context->objRealEstate->vermarktungsartLeasing))
{
$arrTokens[] = array(
$arrStatusTokens[] = array(
'value' => Translator::translateValue('rented'),
'class' => 'rented'
);
}

if(count($arrTokens))
{
$objTemplate->arrStatusTokens = array_merge($objTemplate->arrStatusTokens, $arrTokens);
}
}

/**
* Remove main details for reference objects
* Remove main datails for reference objects
*
* @param array $arrMainDetails
* @param RealEstateModel $objRealEstate
* @param integer $max
* @param mixed $context
*/
public function removeReferenceMainDetails(&$arrMainDetails, $objRealEstate, &$max, $context)
public function removeReferenceMainDetails(&$arrMainDetails, $objRealEstate, &$max, $context): void
{
if ($objRealEstate->referenz)
{
Expand Down
17 changes: 8 additions & 9 deletions src/Resources/contao/config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,15 @@
*/

// ESTATEMANAGER
$GLOBALS['TL_ESTATEMANAGER_ADDONS'][] = array('ContaoEstateManager\\Reference', 'AddonManager');
$GLOBALS['TL_ESTATEMANAGER_ADDONS'][] = array('ContaoEstateManager\Reference', 'AddonManager');

if(ContaoEstateManager\Reference\AddonManager::valid()) {
// HOOKS
$GLOBALS['TL_HOOKS']['getTypeParameter'][] = array('ContaoEstateManager\\Reference\\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getParameterByGroups'][] = array('ContaoEstateManager\\Reference\\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getTypeParameterByGroups'][] = array('ContaoEstateManager\\Reference\\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getSimilarFilterOptions'][] = array('ContaoEstateManager\\Reference\\Reference', 'setSimilarFilterParameter');
// Hooks
$GLOBALS['TL_HOOKS']['getTypeParameter'][] = array('ContaoEstateManager\Reference\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getParameterByGroups'][] = array('ContaoEstateManager\Reference\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getTypeParameterByGroups'][] = array('ContaoEstateManager\Reference\Reference', 'setFilterParameter');
$GLOBALS['TL_HOOKS']['getSimilarFilterOptions'][] = array('ContaoEstateManager\Reference\Reference', 'setSimilarFilterParameter');

$GLOBALS['TL_HOOKS']['parseRealEstate'][] = array('ContaoEstateManager\\Reference\\Reference', 'addStatusToken');
$GLOBALS['TL_HOOKS']['compileExposeStatusToken'][] = array('ContaoEstateManager\\Reference\\Reference', 'addStatusToken');
$GLOBALS['TL_HOOKS']['getMainDetails'][] = array('ContaoEstateManager\\Reference\\Reference', 'removeReferenceMainDetails');
$GLOBALS['TL_HOOKS']['getStatusTokens'][] = array('ContaoEstateManager\Reference\Reference', 'addStatusToken');
$GLOBALS['TL_HOOKS']['getMainDetails'][] = array('ContaoEstateManager\Reference\Reference', 'removeReferenceMainDetails');
}
4 changes: 2 additions & 2 deletions src/Resources/contao/dca/tl_expose_module.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
*/
if(ContaoEstateManager\Reference\AddonManager::valid()) {
// Extend estate manager statusTokens field options
array_insert($GLOBALS['TL_DCA']['tl_expose_module']['fields']['statusTokens']['options'], -1, array('reference'));
}
$GLOBALS['TL_DCA']['tl_expose_module']['fields']['statusTokens']['options'][] = 'reference';
}
7 changes: 4 additions & 3 deletions src/Resources/contao/dca/tl_module.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@

if(ContaoEstateManager\Reference\AddonManager::valid()) {
// Extend estate manager filterMode field options
array_insert($GLOBALS['TL_DCA']['tl_module']['fields']['filterMode']['options'], 1, array('reference', 'appendReference'));
$GLOBALS['TL_DCA']['tl_module']['fields']['filterMode']['options'][] = 'reference';
$GLOBALS['TL_DCA']['tl_module']['fields']['filterMode']['options'][] = 'appendReference';

// Extend estate manager statusTokens field options
array_insert($GLOBALS['TL_DCA']['tl_module']['fields']['statusTokens']['options'], -1, array('reference'));
}
$GLOBALS['TL_DCA']['tl_module']['fields']['statusTokens']['options'][] = 'reference';
}
21 changes: 11 additions & 10 deletions src/Resources/contao/dca/tl_real_estate.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
* Provide miscellaneous methods that are used by the data configuration array.
*
* @author Fabian Ekert <fabian@oveleon.de>
* @author Daniele Sciannimanica <https://github.com/doishub>
*/
class tl_real_estate_reference extends Backend
{
Expand All @@ -50,9 +51,9 @@ public function __construct()
/**
* Set the reference field if needed
*
* @param \DataContainer $dc
* @param Contao\DataContainer $dc
*/
public function setReferenceField(\DataContainer $dc)
public function setReferenceField(Contao\DataContainer $dc)
{
// Return if there is no active record
if (!$dc->activeRecord)
Expand All @@ -67,7 +68,7 @@ public function setReferenceField(\DataContainer $dc)

$reference = false;

$arrIndicator = \StringUtil::deserialize(\Config::get('referenceIndicatorFields'));
$arrIndicator = Contao\StringUtil::deserialize(Contao\Config::get('referenceIndicatorFields'));

foreach ($arrIndicator as $indicator)
{
Expand Down Expand Up @@ -98,23 +99,23 @@ public function setReferenceField(\DataContainer $dc)
/**
* Add reference flag
*
* @param array $row
* @param string $label
* @param DataContainer $dc
* @param array $args
* @param array $row
* @param string $label
* @param Contao\DataContainer $dc
* @param array $args
*
* @return array
*/
public function addReferenceInformation($row, $label, DataContainer $dc, $args)
public function addReferenceInformation($row, $label, Contao\DataContainer $dc, $args)
{
if (!$row['referenz'])
{
return $args;
}

// add reference information
$args[0] .= '<span class="token" style="background-color:#ef634c; color:#fff;" title="Referenz">R</span>';
$args[0] .= '<span class="token" style="background-color:#ef634c; color:#fff;" title="Reference">R</span>';

return $args;
}
}
}
56 changes: 28 additions & 28 deletions src/Resources/contao/languages/de/tl_real_estate_config.xlf
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
<?xml version="1.0" ?>
<xliff version="1.1">
<file datatype="php" original="src/Resources/contao/languages/en/tl_real_estate_config.php" source-language="en" target-language="de">
<body>
<trans-unit id="tl_real_estate_config.reference_legend">
<source>Referenzen</source>
<target>References</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.0">
<source>Reference indicator</source>
<target>Referenz-Indikator</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.1">
<source>Here you can define indicators on the basis of which a property should be considered as a reference property.</source>
<target>Hier können Sie Indikatoren definieren, anhand welcher eine Immobilie als Referenz-Immobilie angesehen werden soll.</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.sold">
<source>Sold</source>
<target>Verkauft</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.rented">
<source>Rented</source>
<target>Vermietet</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.unpublished">
<source>Unpublished</source>
<target>Nicht veröffentlicht</target>
</trans-unit>
</body>
</file>
<file datatype="php" original="src/Resources/contao/languages/en/tl_real_estate_config.php" source-language="en" target-language="de">
<body>
<trans-unit id="tl_real_estate_config.reference_legend">
<source>Referenzen</source>
<target>References</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.0">
<source>Reference indicator</source>
<target>Referenz-Indikator</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.1">
<source>Here you can define indicators on the basis of which a property should be considered as a reference property.</source>
<target>Hier können Sie Indikatoren definieren, anhand welcher eine Immobilie als Referenz-Immobilie angesehen werden soll.</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.sold">
<source>Sold</source>
<target>Verkauft</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.rented">
<source>Rented</source>
<target>Vermietet</target>
</trans-unit>
<trans-unit id="tl_real_estate_config.unpublished">
<source>Unpublished</source>
<target>Nicht veröffentlicht</target>
</trans-unit>
</body>
</file>
</xliff>
44 changes: 22 additions & 22 deletions src/Resources/contao/languages/en/tl_real_estate_config.xlf
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
<?xml version="1.0" ?>
<xliff version="1.1">
<file datatype="php" original="src/Resources/contao/languages/en/tl_real_estate_config.php" source-language="en">
<body>
<trans-unit id="tl_real_estate_config.reference_legend">
<source>Referenzen</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.0">
<source>Reference indicator</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.1">
<source>Here you can define indicators on the basis of which a property should be considered as a reference property.</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.sold">
<source>Sold</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.rented">
<source>Rented</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.unpublished">
<source>Unpublished</source>
</trans-unit>
</body>
</file>
<file datatype="php" original="src/Resources/contao/languages/en/tl_real_estate_config.php" source-language="en">
<body>
<trans-unit id="tl_real_estate_config.reference_legend">
<source>Referenzen</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.0">
<source>Reference indicator</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.referenceIndicatorFields.1">
<source>Here you can define indicators on the basis of which a property should be considered as a reference property.</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.sold">
<source>Sold</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.rented">
<source>Rented</source>
</trans-unit>
<trans-unit id="tl_real_estate_config.unpublished">
<source>Unpublished</source>
</trans-unit>
</body>
</file>
</xliff>

0 comments on commit 985150a

Please sign in to comment.