[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.128.79.117: ~ $
<?php
/**
 * SegmentPlugin for phplist.
 *
 * This file is a part of SegmentPlugin.
 *
 * SegmentPlugin is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * CriteriaPlugin is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * @category  phplist
 *
 * @author    Duncan Cameron
 * @copyright 2014-2016 Duncan Cameron
 * @license   http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3
 */

/**
 * @category  phplist
 */
class SegmentPlugin_ConditionFactory
{
    public function __construct($dao)
    {
        $this->dao = $dao;
        $daoAttr = new CommonPlugin_DAO_Attribute(new CommonPlugin_DB(), 20, 0);
        $this->attributes = iterator_to_array($daoAttr->attributes());
        $this->attributesById = $daoAttr->attributesById();
    }

    public function createCondition($field)
    {
        if (ctype_digit($field)) {
            if (!isset($this->attributesById[$field])) {
                throw new SegmentPlugin_ConditionException("attribute id $field does not exist");
            }
            $attr = $this->attributesById[$field];

            switch ($attr['type']) {
                case 'select':
                case 'radio':
                    $r = new SegmentPlugin_AttributeConditionSelect($attr);
                    break;
                case 'checkbox':
                    $r = new SegmentPlugin_AttributeConditionCheckbox($attr);
                    break;
                case 'checkboxgroup':
                    $r = new SegmentPlugin_AttributeConditionCheckboxgroup($attr);
                    break;
                case 'textline':
                case 'textarea':
                case 'hidden':
                    $r = new SegmentPlugin_AttributeConditionText($attr);
                    break;
                case 'date':
                    $r = new SegmentPlugin_AttributeConditionDate($attr);
                    break;
                default:
                    throw new SegmentPlugin_ConditionException("unrecognised attribute type {$attr['type']}");
            }
        } else {
            switch ($field) {
                case 'activity':
                    $r = new SegmentPlugin_SubscriberConditionActivity($field);
                    break;
                case 'entered':
                    $r = new SegmentPlugin_SubscriberConditionEntered($field);
                    break;
                case 'email':
                    $r = new SegmentPlugin_SubscriberConditionEmail($field);
                    break;
                case 'id':
                    $r = new SegmentPlugin_SubscriberConditionIdentity($field);
                    break;
                case 'uniqid':
                    $r = new SegmentPlugin_SubscriberConditionIdentity($field);
                    break;
                default:
                    throw new SegmentPlugin_ConditionException("unrecognised subscriber field $field");
            }
        }
        $r->dao = $this->dao;

        return $r;
    }

    public function attributeFields()
    {
        return array_column($this->attributes, 'name', 'id');
    }

    public function subscriberFields()
    {
        return array(
            'activity' => 'Campaign activity',
            'entered' => 'Entered date',
            'email' => 'email address',
            'id' => 'subscriber id',
            'uniqid' => 'subscriber unique id',
        );
    }
}

Filemanager

Name Type Size Permission Actions
Controller Folder 0755
lan Folder 0755
AttributeConditionCheckbox.php File 1.56 KB 0644
AttributeConditionCheckboxgroup.php File 2.37 KB 0644
AttributeConditionDate.php File 2.09 KB 0644
AttributeConditionSelect.php File 1.93 KB 0644
AttributeConditionText.php File 3.17 KB 0644
Condition.php File 1.58 KB 0644
ConditionException.php File 889 B 0644
ConditionFactory.php File 3.67 KB 0644
ControllerFactory.php File 1.54 KB 0644
DAO.php File 5.78 KB 0644
DateConditionBase.php File 3.13 KB 0644
NoConditionsException.php File 892 B 0644
Operator.php File 1.34 KB 0644
SavedSegments.php File 4.18 KB 0644
Segment.php File 6.9 KB 0644
SelectedSubscribersExport.php File 1.39 KB 0644
SubscriberConditionActivity.php File 3.6 KB 0644
SubscriberConditionEmail.php File 2.28 KB 0644
SubscriberConditionEntered.php File 1.78 KB 0644
SubscriberConditionIdentity.php File 1.81 KB 0644
SubscriberConditionListEntered.php File 1.62 KB 0644
SubscriberConditionLists.php File 1.82 KB 0644
ValueException.php File 925 B 0644
class_map.php File 1.58 KB 0644
depends.php File 1.7 KB 0644
export.php File 887 B 0644
script.html File 772 B 0644
sendtab.tpl.php File 3.17 KB 0644
styles.html File 1.12 KB 0644
version.txt File 14 B 0644
viewmessage.tpl.php File 1.51 KB 0644