| ... | ... |
@@ -54,7 +54,7 @@ class RealEstateAssetsReaderController extends RealEstateAssetsModuleController |
| 54 | 54 |
Input::setGet('items', Input::get('auto_item'));
|
| 55 | 55 |
} |
| 56 | 56 |
|
| 57 |
- $this->asset = RealEstateAssetsModel::findPublishedById(Input::get('items'));
|
|
| 57 |
+ $this->asset = RealEstateAssetsModel::findPublishedByIdOrAlias(Input::get('items'));
|
|
| 58 | 58 |
|
| 59 | 59 |
if ($this->asset === null) |
| 60 | 60 |
{
|
| ... | ... |
@@ -138,15 +138,15 @@ class RealEstateAssetsModel extends Model |
| 138 | 138 |
/** |
| 139 | 139 |
* Find a published assets from one or more categories |
| 140 | 140 |
* |
| 141 |
- * @param int $intId The id of |
|
| 142 |
- * @param array $arrOptions An optional options array |
|
| 141 |
+ * @param mixed $varId The numeric id or alias name |
|
| 142 |
+ * @param array $arrOptions An optional options array |
|
| 143 | 143 |
* |
| 144 | 144 |
* @return RealEstateAssetsModel|null A model or null if there is no asset |
| 145 | 145 |
*/ |
| 146 |
- public static function findPublishedById(int $intId, array $arrOptions=array()) |
|
| 146 |
+ public static function findPublishedByIdOrAlias($varId, array $arrOptions=array()) |
|
| 147 | 147 |
{
|
| 148 | 148 |
$t = static::$strTable; |
| 149 |
- $arrColumns = array("$t.id=?");
|
|
| 149 |
+ $arrColumns = !preg_match('/^[1-9]\d*$/', $varId) ? array("BINARY $t.alias=?") : array("$t.id=?");
|
|
| 150 | 150 |
|
| 151 | 151 |
if (!static::isPreviewMode($arrOptions)) |
| 152 | 152 |
{
|
| ... | ... |
@@ -154,7 +154,7 @@ class RealEstateAssetsModel extends Model |
| 154 | 154 |
$arrColumns[] = "$t.published='1' AND ($t.start='' OR $t.start<='$time') AND ($t.stop='' OR $t.stop>'$time')"; |
| 155 | 155 |
} |
| 156 | 156 |
|
| 157 |
- return static::findOneBy($arrColumns, $intId, $arrOptions); |
|
| 157 |
+ return static::findOneBy($arrColumns, $varId, $arrOptions); |
|
| 158 | 158 |
} |
| 159 | 159 |
|
| 160 | 160 |
/** |