/Zend/Gdata/App/BaseMediaSource.php
https://github.com/MontmereLimited/ZendFramework-v1 · PHP · 179 lines · 69 code · 14 blank · 96 comment · 17 complexity · d343b920a389329f0fb49c2b1972aa48 MD5 · raw file
- <?php
- /**
- * Zend Framework
- *
- * LICENSE
- *
- * This source file is subject to the new BSD license that is bundled
- * with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://framework.zend.com/license/new-bsd
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@zend.com so we can send you a copy immediately.
- *
- * @category Zend
- * @package Zend_Gdata
- * @subpackage App
- * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: BaseMediaSource.php 23775 2011-03-01 17:25:24Z ralph $
- */
- /**
- * @see Zend_Gdata_App_MediaSource
- */
- // // // // // // // // require_once 'Zend/Gdata/App/MediaSource.php';
- /**
- * Concrete class to use a file handle as an attachment within a MediaEntry.
- *
- * @category Zend
- * @package Zend_Gdata
- * @subpackage App
- * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- * @license http://framework.zend.com/license/new-bsd New BSD License
- */
- abstract class Zend_Gdata_App_BaseMediaSource implements Zend_Gdata_App_MediaSource
- {
- /**
- * The content type for the attached file (example image/png)
- *
- * @var string
- */
- protected $_contentType = null;
- /**
- * The slug header value representing the attached file title, or null if
- * no slug should be used. The slug header is only necessary in some cases,
- * usually when a multipart upload is not being performed.
- *
- * @var string
- */
- protected $_slug = null;
- /**
- * The content type for the attached file (example image/png)
- *
- * @return string The content type
- */
- public function getContentType()
- {
- return $this->_contentType;
- }
- /**
- * Set the content type for the file attached (example image/png)
- *
- * @param string $value The content type
- * @return Zend_Gdata_App_MediaFileSource Provides a fluent interface
- */
- public function setContentType($value)
- {
- $this->_contentType = $value;
- return $this;
- }
- /**
- * Returns the Slug header value. Used by some services to determine the
- * title for the uploaded file. Returns null if no slug should be used.
- *
- * @return string
- */
- public function getSlug(){
- return $this->_slug;
- }
- /**
- * Sets the Slug header value. Used by some services to determine the
- * title for the uploaded file. A null value indicates no slug header.
- *
- * @var string The slug value
- * @return Zend_Gdata_App_MediaSource Provides a fluent interface
- */
- public function setSlug($value){
- $this->_slug = $value;
- return $this;
- }
- /**
- * Magic getter to allow acces like $source->foo to call $source->getFoo()
- * Alternatively, if no getFoo() is defined, but a $_foo protected variable
- * is defined, this is returned.
- *
- * TODO Remove ability to bypass getFoo() methods??
- *
- * @param string $name The variable name sought
- */
- public function __get($name)
- {
- $method = 'get'.ucfirst($name);
- if (method_exists($this, $method)) {
- return call_user_func(array(&$this, $method));
- } else if (property_exists($this, "_${name}")) {
- return $this->{'_' . $name};
- } else {
- // // // // // // // // require_once 'Zend/Gdata/App/InvalidArgumentException.php';
- throw new Zend_Gdata_App_InvalidArgumentException(
- 'Property ' . $name . ' does not exist');
- }
- }
- /**
- * Magic setter to allow acces like $source->foo='bar' to call
- * $source->setFoo('bar') automatically.
- *
- * Alternatively, if no setFoo() is defined, but a $_foo protected variable
- * is defined, this is returned.
- *
- * @param string $name
- * @param string $value
- */
- public function __set($name, $val)
- {
- $method = 'set'.ucfirst($name);
- if (method_exists($this, $method)) {
- return call_user_func(array(&$this, $method), $val);
- } else if (isset($this->{'_' . $name}) || ($this->{'_' . $name} === null)) {
- $this->{'_' . $name} = $val;
- } else {
- // // // // // // // // require_once 'Zend/Gdata/App/InvalidArgumentException.php';
- throw new Zend_Gdata_App_InvalidArgumentException(
- 'Property ' . $name . ' does not exist');
- }
- }
- /**
- * Magic __isset method
- *
- * @param string $name
- */
- public function __isset($name)
- {
- $rc = new ReflectionClass(get_class($this));
- $privName = '_' . $name;
- if (!($rc->hasProperty($privName))) {
- // // // // // // // // require_once 'Zend/Gdata/App/InvalidArgumentException.php';
- throw new Zend_Gdata_App_InvalidArgumentException(
- 'Property ' . $name . ' does not exist');
- } else {
- if (isset($this->{$privName})) {
- if (is_array($this->{$privName})) {
- if (count($this->{$privName}) > 0) {
- return true;
- } else {
- return false;
- }
- } else {
- return true;
- }
- } else {
- return false;
- }
- }
- }
- }