当前位置: 首页>>代码示例>>PHP>>正文


PHP Versioned::clean_array方法代码示例

本文整理汇总了PHP中Versioned::clean_array方法的典型用法代码示例。如果您正苦于以下问题:PHP Versioned::clean_array方法的具体用法?PHP Versioned::clean_array怎么用?PHP Versioned::clean_array使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Versioned的用法示例。


在下文中一共展示了Versioned::clean_array方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: update

 /**
  * Overload Sprig::update() to save revision change
  * @param bump  whether to bump the version number
  */
 public function update($bump = TRUE)
 {
     Kohana::$log->add(Kohana::DEBUG, 'Executing Versioned_Sprig::update');
     $updated = FALSE;
     foreach ($this->_fields as $field => $object) {
         if ($object instanceof Sprig_Field_Tracked and $this->changed($field)) {
             $this->comment = UTF8::ucwords($object->label) . ' changed from "' . $this->_original[$field] . '" to "' . $this->_changed[$field] . '".';
         }
         if ($object instanceof Sprig_Field_Versioned and $this->changed($field) and $bump) {
             $diff = '';
             if ($this->version != 0) {
                 $diff = Versioned::diff($this->_original[$field], $this->_changed[$field]);
                 $diff = Versioned::clean_array($diff);
                 $diff = serialize($diff);
             }
             $this->version++;
             $revision = Sprig::factory($this->_model . '_revision');
             $revision->values(array('entry' => $this->id, 'version' => $this->version, 'editor' => $this->editor, 'diff' => $diff));
             $revision->comments = $this->comments;
             $revision->create();
             $updated = TRUE;
             $this->comments = array();
         }
     }
     if (!$updated and count($this->comments) > 0) {
         $revision = Sprig::factory($this->_model . '_revision');
         $revision->entry = $this->id;
         $revision->version = $this->version;
         $revision->load();
         $revision->comments = array_merge($revision->comments, $this->comments);
         $revision->update();
     }
     return parent::update();
 }
开发者ID:vimofthevine,项目名称:versioned,代码行数:38,代码来源:sprig.php

示例2: populate

 /**
  * Populate table with versions
  */
 private function populate($id)
 {
     $text1 = "This is my string";
     $text2 = "This is my first string";
     // inserted "first"
     $text3 = "This is our first string";
     // changed "my" to "our"
     $text4 = "This is our first";
     // dropped "string"
     $diff2 = serialize(Versioned::clean_array(Versioned::diff($text1, $text2)));
     $diff3 = serialize(Versioned::clean_array(Versioned::diff($text2, $text3)));
     $diff4 = serialize(Versioned::clean_array(Versioned::diff($text3, $text4)));
     try {
         DB::insert('entry_revisions', array('entry_id', 'version', 'diff'))->values(array($id, 1, ''))->execute();
         DB::insert('entry_revisions', array('entry_id', 'version', 'diff'))->values(array($id, 2, $diff2))->execute();
         DB::insert('entry_revisions', array('entry_id', 'version', 'diff'))->values(array($id, 3, $diff3))->execute();
         DB::insert('entry_revisions', array('entry_id', 'version', 'diff'))->values(array($id, 4, $diff4))->execute();
         DB::insert('entries', array('id', 'version', 'text'))->values(array($id, 4, $text4))->execute();
     } catch (Database_Exception $e) {
         echo $e->getMessage();
     }
 }
开发者ID:vimofthevine,项目名称:versioned,代码行数:25,代码来源:UnitTest.php


注:本文中的Versioned::clean_array方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。