<?php /** * CommonPlugin for phplist. * * This file is a part of CommonPlugin. * * @category phplist * * @author Duncan Cameron * @copyright 2011-2018 Duncan Cameron * @license http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3 */ namespace phpList\plugin\Common\DAO; /** * Trait that provides access to the attribute table. */ trait AttributeTrait { private $attrNameLength; private $maxAttrs; /* * Returns the fields for each attribute keyed by attribute id */ public function attributesById() { $result = array(); foreach ($this->attributes() as $a) { $result[$a['id']] = $a; } return $result; } /* * Returns the fields for all attributes */ public function attributes() { /* * need to unescape attribute name */ $limit = $this->maxAttrs > 0 ? "LIMIT $this->maxAttrs" : ''; $sql = "SELECT id, LEFT(REPLACE( REPLACE(name, '\\\\\\'', '\\''), '\\\\\\\\', '\\\\' ), $this->attrNameLength) AS name, type, tablename FROM {$this->tables['attribute']} ORDER BY listorder $limit"; return $this->dbCommand->queryAll($sql); } /* * Returns the fields for one attribute */ public function getAttribute($attr) { $sql = "SELECT id, LEFT(REPLACE( REPLACE(name, '\\\\\\'', '\\''), '\\\\\\\\', '\\\\' ), $this->attrNameLength) AS name, type, tablename FROM {$this->tables['attribute']} WHERE id = $attr"; return $this->dbCommand->queryRow($sql); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Attribute.php | File | 2.03 KB | 0644 |
|
AttributeTrait.php | File | 1.77 KB | 0644 |
|
Config.php | File | 1.11 KB | 0644 |
|
ConfigTrait.php | File | 1.06 KB | 0644 |
|
Lists.php | File | 1.37 KB | 0644 |
|
ListsTrait.php | File | 1.46 KB | 0644 |
|
Message.php | File | 5.67 KB | 0644 |
|
MessageTrait.php | File | 5.87 KB | 0644 |
|
TemplateTrait.php | File | 797 B | 0644 |
|
User.php | File | 1.62 KB | 0644 |
|
UserTrait.php | File | 1.57 KB | 0644 |
|