Webylon 3.2 API Docs
  • Package
  • Class
  • Tree
  • Deprecated
  • Download
Version: current
  • 3.2
  • 3.1

Packages

  • 1c
    • exchange
      • catalog
  • auth
  • Booking
  • building
    • company
  • cart
    • shipping
    • steppedcheckout
  • Catalog
    • monument
  • cms
    • assets
    • batchaction
    • batchactions
    • bulkloading
    • comments
    • content
    • core
    • export
    • newsletter
    • publishers
    • reports
    • security
    • tasks
  • Dashboard
  • DataObjectManager
  • event
  • faq
  • forms
    • actions
    • core
    • fields-basic
    • fields-dataless
    • fields-datetime
    • fields-files
    • fields-formatted
    • fields-formattedinput
    • fields-relational
    • fields-structural
    • transformations
    • validators
  • googlesitemaps
  • guestbook
  • installer
  • newsletter
  • None
  • photo
    • gallery
  • PHP
  • polls
  • recaptcha
  • sapphire
    • api
    • bulkloading
    • control
    • core
    • cron
    • dev
    • email
    • fields-formattedinput
    • filesystem
    • formatters
    • forms
    • i18n
    • integration
    • misc
    • model
    • parsers
    • search
    • security
    • tasks
    • testing
    • tools
    • validation
    • view
    • widgets
  • seo
    • open
      • graph
  • sfDateTimePlugin
  • spamprotection
  • stealth
    • captha
  • subsites
  • userform
    • pagetypes
  • userforms
  • webylon
  • widgets

Classes

  • AssetManager
  • CartTableListField_Item
  • ComplexTableField
  • ComplexTableField_Item
  • ComplexTableField_ItemRequest
  • ComplexTableField_Popup
  • CountryDropdownField
  • DataObjectManager
  • DataObjectManager_Item
  • DataObjectManager_ItemRequest
  • DocumentPageFiles_Manager
  • FileDataObjectManager
  • FileDataObjectManager_Item
  • FileDataObjectManager_ItemRequest
  • HasManyComplexTableField
  • HasManyComplexTableField_Item
  • HasManyDataObjectManager
  • HasManyDataObjectManager_Item
  • HasManyFileDataObjectManager
  • HasManyFileDataObjectManager_Item
  • HasOneComplexTableField
  • HasOneComplexTableField_Item
  • HasOneDataObjectManager
  • HasOneDataObjectManager_Item
  • HasOneFileDataObjectManager
  • HasOneFileDataObjectManager_Item
  • ImageAssetManager
  • ImageDataObjectManager
  • ImageDataObjectManager_Item
  • ImageDataObjectManager_ItemRequest
  • LanguageDropdownField
  • ManyManyComplexTableField
  • ManyManyComplexTableField_Item
  • ManyManyDataObjectManager
  • ManyManyDataObjectManager_Item
  • ManyManyFileDataObjectManager
  • ManyManyFileDataObjectManager_Item
  • Mediaweb3DPageFiles_Manager
  • MediawebPageFiles_Manager
  • MediawebPagePhoto_Manager
  • MediawebPageTexture_Manager
  • PhotoAlbumManager
  • ScaffoldingComplexTableField_Popup
  • SubpageListField_Item
  • SubPageListField_ItemRequest
  • SubsiteAgnosticTableListField
  • TableField
  • TableField_Item
  • TableListField
  • TableListField_Item
  • TableListField_ItemRequest
  • TreeDropdownField
  • TreeDropdownField_Readonly
  • TreeMultiselectField
  • TreeMultiselectField_Readonly
  • TreeSelectorField
 1 <?php
 2 
 3 class HasOneFileDataObjectManager extends HasManyFileDataObjectManager {
 4 
 5     /**
 6      * Most of the code below was copied from HasOneComplexTableField.
 7      * Painful, but necessary, until PHP supports multiple inheritance.
 8      */
 9     
10     public $itemClass = 'HasOneFileDataObjectManager_Item';
11     public $isOneToOne = false;
12 
13     function getParentIdName($parentClass, $childClass) {
14         return $this->getParentIdNameRelation($parentClass, $childClass, 'has_one');
15     }
16 
17     function getControllerJoinID() {
18         return $this->controller->{$this->joinField};
19     }
20 
21     function saveInto(DataObject $record) {
22         $fieldName = $this->name;
23         $fieldNameID = $fieldName . 'ID';
24 
25         $record->$fieldNameID = 0;
26         if($val = $this->value[ $this->htmlListField ]) {
27             if($val != 'undefined')
28                 $record->$fieldNameID = trim($val,",");
29         }
30 
31         $record->write();
32     }
33 
34     function setOneToOne() {
35         $this->isOneToOne = true;
36     }
37 
38     function isChildSet($childID) {
39         return DataObject::get($this->controllerClass(), '`' . $this->joinField . "` = '$childID'");
40     }
41 
42     function ExtraData() {
43         $val = $this->getControllerJoinID() ? ','.$this->getControllerJoinID().',' : '';
44         $inputId = $this->id() . '_' . $this->htmlListEndName;
45         return <<<HTML
46         <input id="$inputId" name="{$this->name}[{$this->htmlListField}]" type="hidden" value="$val"/>
47 HTML;
48     }
49 
50 
51 }
52 
53 class HasOneFileDataObjectManager_Item extends FileDataObjectManager_Item {
54 
55     function MarkingCheckbox() {
56         $name = $this->parent->Name() . '[]';
57 
58         $isOneToOne = $this->parent->isOneToOne;
59         $joinVal = $this->parent->getControllerJoinID();
60         $childID = $this->item->ID;
61         $disabled = $this->parent->hasMarkingPermission() ? "" : "disabled='disabled'";
62 
63         if($this->parent->IsReadOnly || ($isOneToOne && $joinVal != $childID && $this->parent->isChildSet($childID)))
64             return "<input class=\"radio\" type=\"radio\" name=\"$name\" value=\"{$this->item->ID}\" disabled=\"disabled\"/>";
65         else if($joinVal == $childID)
66             return "<input class=\"radio\" type=\"radio\" name=\"$name\" value=\"{$this->item->ID}\" checked=\"checked\" $disabled />";
67         else
68             return "<input class=\"radio\" type=\"radio\" name=\"$name\" value=\"{$this->item->ID}\" $disabled />";
69     }
70 }
71 
72 
73 ?>
[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -
Webylon 3.2 API Docs API documentation generated by ApiGen 2.8.0