sourceSort = "Title"; $this->Markable = true; } function setFolder($folder) { $this->folder = $folder; $this->sourceFilter .= ($this->sourceFilter) ? " AND " : ""; $this->sourceFilter .= " ParentID = '" . $folder->ID . "' AND ClassName <> 'Folder'"; } function Folder() { return $this->folder; } function sourceID() { return $this->folder->ID; } function DetailForm() { $ID = (isset($_REQUEST['ctf']['ID'])) ? Convert::raw2xml($_REQUEST['ctf']['ID']) : null; $childID = (isset($_REQUEST['ctf']['childID'])) ? Convert::raw2xml($_REQUEST['ctf']['childID']) : null; $childClass = (isset($_REQUEST['fieldName'])) ? Convert::raw2xml($_REQUEST['fieldName']) : null; $methodName = (isset($_REQUEST['methodName'])) ? $_REQUEST['methodName'] : null; if(!$childID) { user_error("AssetTableField::DetailForm Please specify a valid ID"); return null; } if($childID) { $childData = DataObject::get_by_id("File", $childID); } if(!$childData) { user_error("AssetTableField::DetailForm No record found"); return null; } if($childData->ParentID) { $folder = DataObject::get_by_id('File', $childData->ParentID ); } else { $folder = singleton('Folder'); } $urlLink = "
". _t('AssetTableField.NOLINKS',"This file hasn't been linked to from any pages.") ."
"; $detailFormFields->addFieldToTab("BottomRoot.Links", new LiteralField("Backlinks", $backlinks)); } // the ID field confuses the Controller-logic in finding the right view for ReferencedField $detailFormFields->removeByName('ID'); // add a namespaced ID instead thats "converted" by saveComplexTableField() $detailFormFields->push(new HiddenField("ctf[childID]","",$childID)); $detailFormFields->push(new HiddenField("ctf[ClassName]","",$this->sourceClass)); $readonly = ($this->methodName == "show"); $form = new ComplexTableField_Popup($this, "DetailForm", $detailFormFields, $this->sourceClass, $readonly); if (is_numeric($childID)) { if ($methodName == "show" || $methodName == "edit") { $form->loadDataFrom($childData); } } if( !$folder->userCanEdit() || $methodName == "show") { $form->makeReadonly(); } return $form; } } ?>