public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     // Validate The Fact That an Actual E-mail Has Been Used
     $fields->replaceField("Email", new EmailField("Email", "Email"));
     $fields->removeByName('DoubleOptIn');
     $fields->removeByName('MCMemberID');
     $fields->removeByName('MCListID');
     $fields->removeByName('MemberID');
     if (empty($this->ID)) {
         $fields->removeByName('Subscribed');
     }
     if (empty($this->UnsubscribeReason)) {
         $fields->removeByName('UnsubscribeReason');
     }
     $lists = new DataList("MCList");
     $lists->sort("\"MCList\".\"Name\" ASC");
     $map = $lists->map("ID", "Name");
     $mcListID = new DropdownField('MCListID', 'MailChimp List', $map);
     // Calculate What Parent Object We Are Adding This Subscription record Under (A Specific MCList or A Member)
     $params = Director::get_current_page()->getURLParams();
     $FormParentObject = end($params);
     // If Already Set Don't Allow It To Be Modified
     if (!empty($this->MCListID)) {
         $mcListID = $mcListID->performReadonlyTransformation();
     }
     // If Already Set And Read Only Or If Unset But Adding Subscription Record Under Member Object Show The MCListID Filed
     if (!empty($this->MCListID) || $FormParentObject == "Members") {
         $fields->addFieldToTab('Root.Main', $mcListID);
     }
     $MCMemberID = new TextField('MCMemberID', 'MailChimp Member ID');
     $MCMemberID = $MCMemberID->performReadonlyTransformation();
     $MCEmailID = new TextField('MCEmailID', 'MailChimp Email ID');
     $MCEmailID = $MCEmailID->performReadonlyTransformation();
     $fields->addFieldToTab('Root.Main', $MCMemberID, 'FirstName');
     $fields->addFieldToTab('Root.Main', $MCEmailID, 'FirstName');
     return $fields;
 }
Пример #2
0
<?php

require_once "DataList.php";
$testArray = array(array('name' => 'Anna', 'age' => 22, 'owns' => array('type' => 'furniture', 'label' => 'chair')), array('name' => 'Bill', 'age' => 12, 'owns' => array('type' => 'fruit', 'label' => 'apple')), array('name' => 'Cedric', 'age' => 33, 'owns' => array('type' => 'furniture', 'label' => 'sofa')));
$test = new DataList($testArray);
$test->where('age', '> 15');
$test->where('name', '^[AaBbCc](.*)$');
$test->find();
if ($test->length()) {
    $people = $test->sort('name');
    foreach ($people as $person) {
        echo $person['name'] . ", " . $person['age'] . "\n";
    }
}