PageRenderTime 27ms CodeModel.GetById 22ms app.highlight 3ms RepoModel.GetById 0ms app.codeStats 0ms

/zf/library/Zend/Gdata/Gapps/EmailListRecipientQuery.php

http://github.com/eryx/php-framework-benchmark
PHP | 153 lines | 52 code | 12 blank | 89 comment | 6 complexity | 2f699a31c9418dcf73676952717d2d07 MD5 | raw file
Possible License(s): MIT, BSD-3-Clause, Apache-2.0, LGPL-2.1, LGPL-3.0, BSD-2-Clause
  1<?php
  2
  3/**
  4 * Zend Framework
  5 *
  6 * LICENSE
  7 *
  8 * This source file is subject to the new BSD license that is bundled
  9 * with this package in the file LICENSE.txt.
 10 * It is also available through the world-wide-web at this URL:
 11 * http://framework.zend.com/license/new-bsd
 12 * If you did not receive a copy of the license and are unable to
 13 * obtain it through the world-wide-web, please send an email
 14 * to license@zend.com so we can send you a copy immediately.
 15 *
 16 * @category   Zend
 17 * @package    Zend_Gdata
 18 * @subpackage Gapps
 19 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 20 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 21 * @version    $Id: EmailListRecipientQuery.php 23775 2011-03-01 17:25:24Z ralph $
 22 */
 23
 24/**
 25 * @see Zend_Gdata_Gapps_Query
 26 */
 27require_once('Zend/Gdata/Gapps/Query.php');
 28
 29/**
 30 * Assists in constructing queries for Google Apps email list recipient
 31 * entries. Instances of this class can be provided in many places where a
 32 * URL is required.
 33 *
 34 * For information on submitting queries to a server, see the Google Apps
 35 * service class, Zend_Gdata_Gapps.
 36 *
 37 * @category   Zend
 38 * @package    Zend_Gdata
 39 * @subpackage Gapps
 40 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 41 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 42 */
 43class Zend_Gdata_Gapps_EmailListRecipientQuery extends Zend_Gdata_Gapps_Query
 44{
 45
 46    /**
 47     * If not null, specifies the name of the email list which
 48     * should be requested by this query.
 49     *
 50     * @var string
 51     */
 52    protected $_emailListName = null;
 53
 54    /**
 55     * Create a new instance.
 56     *
 57     * @param string $domain (optional) The Google Apps-hosted domain to use
 58     *          when constructing query URIs.
 59     * @param string $emailListName (optional) Value for the emailListName
 60     *          property.
 61     * @param string $startRecipient (optional) Value for the
 62     *          startRecipient property.
 63     */
 64    public function __construct($domain = null, $emailListName = null,
 65            $startRecipient = null)
 66    {
 67        parent::__construct($domain);
 68        $this->setEmailListName($emailListName);
 69        $this->setStartRecipient($startRecipient);
 70    }
 71
 72    /**
 73     * Set the email list name to query for. When set, only lists with a name
 74     * matching this value will be returned in search results. Set to
 75     * null to disable filtering by list name.
 76     *
 77     * @param string $value The email list name to filter search results by,
 78     *          or null to disable.
 79     */
 80     public function setEmailListName($value)
 81     {
 82         $this->_emailListName = $value;
 83     }
 84
 85    /**
 86     * Get the email list name to query for. If no name is set, null will be
 87     * returned.
 88     *
 89     * @param string $value The email list name to filter search results by,
 90     *          or null if disabled.
 91     */
 92    public function getEmailListName()
 93    {
 94        return $this->_emailListName;
 95    }
 96
 97    /**
 98     * Set the first recipient which should be displayed when retrieving
 99     * a list of email list recipients.
100     *
101     * @param string $value The first recipient to be returned, or null to
102     *              disable.
103     */
104    public function setStartRecipient($value)
105    {
106        if ($value !== null) {
107            $this->_params['startRecipient'] = $value;
108        } else {
109            unset($this->_params['startRecipient']);
110        }
111    }
112
113    /**
114     * Get the first recipient which should be displayed when retrieving
115     * a list of email list recipients.
116     *
117     * @return string The first recipient to be returned, or null if
118     *              disabled.
119     */
120    public function getStartRecipient()
121    {
122        if (array_key_exists('startRecipient', $this->_params)) {
123            return $this->_params['startRecipient'];
124        } else {
125            return null;
126        }
127    }
128
129    /**
130     * Returns the URL generated for this query, based on it's current
131     * parameters.
132     *
133     * @return string A URL generated based on the state of this query.
134     * @throws Zend_Gdata_App_InvalidArgumentException
135     */
136    public function getQueryUrl()
137    {
138
139        $uri = $this->getBaseUrl();
140        $uri .= Zend_Gdata_Gapps::APPS_EMAIL_LIST_PATH;
141        if ($this->_emailListName !== null) {
142            $uri .= '/' . $this->_emailListName;
143        } else {
144            require_once 'Zend/Gdata/App/InvalidArgumentException.php';
145            throw new Zend_Gdata_App_InvalidArgumentException(
146                    'EmailListName must not be null');
147        }
148        $uri .= Zend_Gdata_Gapps::APPS_EMAIL_LIST_RECIPIENT_POSTFIX . '/';
149        $uri .= $this->getQueryString();
150        return $uri;
151    }
152
153}