Source for file AuditLog.php
Documentation is available at AuditLog.php
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
'className' =>
'%CLASS%Version',
'versionColumn' =>
'version',
'generateFiles' =>
false,
public function __get($option)
if (isset
($this->options[$option])) {
* returns all options of this table and the associated values
* @return array all options and their values
* sets an option and returns this object in order to
* allow flexible method chaining
* @see slef::$_options for available options
* @param string $name the name of the option to set
* @param mixed $value the value of the option
* @return Doctrine_AuditLog this object
* returns the value of given option
* @param string $name the name of the option
* @return mixed the value of given option
public function getVersion(Doctrine_Record $record, $version)
$className =
$this->_options['className'];
foreach ((array)
$this->_options['table']->getIdentifier() as $id) {
$conditions[] =
$className .
'.' .
$id .
' = ?';
$values[] =
$record->get($id);
$where =
implode(' AND ', $conditions) .
' AND ' .
$className .
'.' .
$this->_options['versionColumn'] .
' = ?';
return $q->execute($values, Doctrine_HYDRATE::HYDRATE_ARRAY);
$this->_options['table']->getComponentName(),
$name =
$table->getComponentName();
$className =
$name .
'Version';
$columns =
$table->getColumns();
// the version column should be part of the primary key definition
$columns[$this->_options['versionColumn']]['primary'] =
true;
$id =
$table->getIdentifier();
$options =
array('className' =>
$className);
$def =
$builder->buildDefinition($options, $columns);
if ( ! $this->_options['generateFiles']) {