mirror of
https://github.com/silverstripe/silverstripe-dms
synced 2024-06-16 09:41:30 +02:00
FIX Escape class and field name when looking up shortcode fields for SiteTree
This commit is contained in:
parent
82a8a4b142
commit
dbad64939a
|
@ -39,18 +39,22 @@ class ShortCodeRelationFinder
|
|||
}
|
||||
|
||||
/**
|
||||
* @param int $number
|
||||
* @return DataList
|
||||
*/
|
||||
public function getList($number)
|
||||
{
|
||||
$number = (int) $number;
|
||||
$list = DataList::create('SiteTree');
|
||||
$where = array();
|
||||
$fields = $this->getShortCodeFields('SiteTree');
|
||||
$shortcode = DMS::inst()->getShortcodeHandlerKey();
|
||||
foreach ($fields as $ancClass => $ancFields) {
|
||||
$ancClass = Convert::raw2sql($ancClass);
|
||||
foreach ($ancFields as $ancFieldName => $ancFieldSpec) {
|
||||
$ancFieldName = Convert::raw2sql($ancFieldName);
|
||||
if ($ancClass != "SiteTree") {
|
||||
$list = $list->leftJoin($ancClass, '"'.$ancClass.'"."ID" = "SiteTree"."ID"');
|
||||
$list = $list->leftJoin($ancClass, '"' . $ancClass . '"."ID" = "SiteTree"."ID"');
|
||||
}
|
||||
$where[] = "\"$ancClass\".\"$ancFieldName\" LIKE '%[{$shortcode},id=$number]%'"; //."%s" LIKE ""',
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user