_projection = $value; return $this; } /** * Gets the format of data in returned in Atom feeds. * * @see setProjection * @return string projection */ public function getProjection() { return $this->_projection; } /** * Set's the type of data returned in queries. Can be either * 'feed' or 'entry'. Normally, 'feed' will be desired. Default is 'feed'. * * @param string $value * @return Zend_Gdata_Photos_UserQuery Provides a fluent interface */ public function setType($value) { $this->_type = $value; return $this; } /** * Gets the type of data in returned in queries. * * @see setType * @return string type */ public function getType() { return $this->_type; } /** * Set the user to query for. When set, this user's feed will be * returned. If not set or null, the default user's feed will be returned * instead. * * @param string $value The user to retrieve, or null for the default * user. */ public function setUser($value) { if ($value !== null) { $this->_user = $value; } else { $this->_user = Zend_Gdata_Photos::DEFAULT_USER; } } /** * Get the user which is to be returned. * * @see setUser * @return string The visibility to retrieve. */ public function getUser() { return $this->_user; } /** * Set the visibility filter for entries returned. Only entries which * match this value will be returned. If null or unset, the default * value will be used instead. * * Valid values are 'all' (default), 'public', and 'private'. * * @param string $value The visibility to filter by, or null to use the * default value. */ public function setAccess($value) { if ($value !== null) { $this->_params['access'] = $value; } else { unset($this->_params['access']); } } /** * Get the visibility filter for entries returned. * * @see setAccess * @return string The visibility to filter by, or null for the default * user. */ public function getAccess() { return $this->_params['access']; } /** * Set the tag for entries that are returned. Only entries which * match this value will be returned. If null or unset, this filter will * not be applied. * * See http://code.google.com/apis/picasaweb/reference.html#Parameters * for a list of valid values. * * @param string $value The tag to filter by, or null if no * filter is to be applied. */ public function setTag($value) { if ($value !== null) { $this->_params['tag'] = $value; } else { unset($this->_params['tag']); } } /** * Get the tag filter for entries returned. * * @see setTag * @return string The tag to filter by, or null if no filter * is to be applied. */ public function getTag() { return $this->_params['tag']; } /** * Set the kind of entries that are returned. Only entries which * match this value will be returned. If null or unset, this filter will * not be applied. * * See http://code.google.com/apis/picasaweb/reference.html#Parameters * for a list of valid values. * * @param string $value The kind to filter by, or null if no * filter is to be applied. */ public function setKind($value) { if ($value !== null) { $this->_params['kind'] = $value; } else { unset($this->_params['kind']); } } /** * Get the kind of entries to be returned. * * @see setKind * @return string The kind to filter by, or null if no filter * is to be applied. */ public function getKind() { return $this->_params['kind']; } /** * Set the maximum image size for entries returned. Only entries which * match this value will be returned. If null or unset, this filter will * not be applied. * * See http://code.google.com/apis/picasaweb/reference.html#Parameters * for a list of valid values. * * @param string $value The image size to filter by, or null if no * filter is to be applied. */ public function setImgMax($value) { if ($value !== null) { $this->_params['imgmax'] = $value; } else { unset($this->_params['imgmax']); } } /** * Get the maximum image size filter for entries returned. * * @see setImgMax * @return string The image size size to filter by, or null if no filter * is to be applied. */ public function getImgMax() { return $this->_params['imgmax']; } /** * Set the thumbnail size filter for entries returned. Only entries which * match this value will be returned. If null or unset, this filter will * not be applied. * * See http://code.google.com/apis/picasaweb/reference.html#Parameters * for a list of valid values. * * @param string $value The thumbnail size to filter by, or null if no * filter is to be applied. */ public function setThumbsize($value) { if ($value !== null) { $this->_params['thumbsize'] = $value; } else { unset($this->_params['thumbsize']); } } /** * Get the thumbnail size filter for entries returned. * * @see setThumbsize * @return string The thumbnail size to filter by, or null if no filter * is to be applied. */ public function getThumbsize() { return $this->_params['thumbsize']; } /** * Returns the URL generated for this query, based on it's current * parameters. * * @return string A URL generated based on the state of this query. * @throws Zend_Gdata_App_InvalidArgumentException */ public function getQueryUrl($incomingUri = null) { $uri = Zend_Gdata_Photos::PICASA_BASE_URI; if ($this->getType() !== null) { $uri .= '/' . $this->getType(); } else { require_once 'Zend/Gdata/App/InvalidArgumentException.php'; throw new Zend_Gdata_App_InvalidArgumentException( 'Type must be feed or entry, not null'); } if ($this->getProjection() !== null) { $uri .= '/' . $this->getProjection(); } else { require_once 'Zend/Gdata/App/InvalidArgumentException.php'; throw new Zend_Gdata_App_InvalidArgumentException( 'Projection must not be null'); } if ($this->getUser() !== null) { $uri .= '/user/' . $this->getUser(); } else { // Should never occur due to setter behavior require_once 'Zend/Gdata/App/InvalidArgumentException.php'; throw new Zend_Gdata_App_InvalidArgumentException( 'User must not be null'); } $uri .= $incomingUri; $uri .= $this->getQueryString(); return $uri; } }