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


PHP OA_Dal::staticDuplicate方法代码示例

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


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

示例1: testDuplicate

 function testDuplicate()
 {
     $GLOBALS['strCopyOf'] = 'Copy of ';
     //  create test channel
     $doChannel = OA_Dal::factoryDO('channel');
     $doChannel->acls_updated = '2007-04-03 19:29:54';
     $channelId = DataGenerator::generateOne($doChannel, true);
     //  create test acls
     $doAcls = OA_Dal::factoryDO('acls_channel');
     $doAcls->channelid = $channelId;
     $doAcls->type = 'Client:Ip';
     $doAcls->comparison = '==';
     $doAcls->data = '127.0.0.1';
     $doAcls->executionorder = 1;
     $doAcls->insert();
     $doAcls = OA_Dal::factoryDO('acls_channel');
     $doAcls->channelid = $channelId;
     $doAcls->type = 'Client:Domain';
     $doAcls->comparison = '==';
     $doAcls->data = 'example.com';
     $doAcls->executionorder = 2;
     $doAcls->insert();
     // duplicate
     $newChannelId = OA_Dal::staticDuplicate('channel', $channelId);
     // retrieve original and duplicate channel
     $doChannel = OA_Dal::staticGetDO('channel', $channelId);
     $doNewChannel = OA_Dal::staticGetDO('channel', $newChannelId);
     // assert they are not equal including primary keys - name column should not match
     $this->assertNotEqualDataObjects($this->stripKeys($doChannel), $this->stripKeys($doNewChannel));
     // assert they are equal excluding primary keys
     $doChannel->name = $doNewChannel->name = null;
     $this->assertEqualDataObjects($this->stripKeys($doChannel), $this->stripKeys($doNewChannel));
     //  retrieve acls for original and duplicate channel
     $doAcls = OA_Dal::factoryDO('acls_channel');
     $doAcls->channelid = $channelId;
     $doAcls->orderBy('executionorder');
     if ($doAcls->find()) {
         while ($doAcls->fetch()) {
             $aAcls[] = clone $doAcls;
         }
     }
     $doNewAcls = OA_Dal::factoryDO('acls_channel');
     $doNewAcls->channelid = $newChannelId;
     $doNewAcls->orderBy('executionorder');
     if ($doNewAcls->find()) {
         while ($doNewAcls->fetch()) {
             $aNewAcls[] = clone $doNewAcls;
         }
     }
     //  iterate through acls ensuring they were properly copied
     if ($this->assertEqual(count($aAcls), count($aNewAcls))) {
         for ($x = 0; $x < count($aAcls); $x++) {
             $this->assertNotEqual($aAcls[$x]->channelid, $aNewAcls[$x]->channelid);
             $this->assertEqualDataObjects($this->stripKeys($aAcls[$x]), $this->stripKeys($aNewAcls[$x]));
         }
     }
 }
开发者ID:Spark-Eleven,项目名称:revive-adserver,代码行数:57,代码来源:Channel.dal.test.php

示例2: duplicate

 function duplicate($channelId)
 {
     //  Populate $this with channel data
     $this->get($channelId);
     // Prepare a new name for the channel
     $this->name = $GLOBALS['strCopyOf'] . ' ' . $this->name;
     // Duplicate channel
     $this->channelid = null;
     $newChannelId = $this->insert();
     // Duplicate channel's acls
     $result = OA_Dal::staticDuplicate('acls_channel', $channelId, $newChannelId);
     return $newChannelId;
 }
开发者ID:villos,项目名称:tree_admin,代码行数:13,代码来源:Channel.php

示例3: array

OA_Permission::enforceAccessToObject('channel', $channelid);
$affiliateid = (int) $affiliateid;
$channelid = (int) $channelid;
if (empty($returnurl)) {
    $returnurl = 'channel-edit.php';
}
// Security check
if (isset($channelid) && $channelid != '') {
    if (isset($duplicate) && $duplicate == 'true') {
        //get channel old channel name
        $doChannel = OA_Dal::factoryDO('channel');
        if ($doChannel->get($channelid)) {
            $oldName = $doChannel->name;
        }
        // Duplicate the channel
        $newChannelId = OA_Dal::staticDuplicate('channel', $channelid);
        //get new name
        $doChannel = OA_Dal::factoryDO('channel');
        if ($doChannel->get($newChannelId)) {
            $newName = $doChannel->name;
        }
        // Queue confirmation message
        $translation = new OX_Translation();
        $oldChannelParams = !$affiliateid ? "channelid={$channelid}" : "affiliateid={$affiliateid}&channelid={$channelid}";
        $newChannelParams = !$affiliateid ? "?channelid={$newChannelId}" : "?affiliateid={$affiliateid}&channelid={$newChannelId}";
        $translated_message = $translation->translate($GLOBALS['strChannelHasBeenDuplicated'], array(MAX::constructURL(MAX_URL_ADMIN, "channel-edit.php?" . $oldChannelParams), htmlspecialchars($oldName), MAX::constructURL(MAX_URL_ADMIN, "channel-edit.php?" . $newChannelParams), htmlspecialchars($newName)));
        OA_Admin_UI::queueMessage($translated_message, 'local', 'confirm', 0);
        Header("Location: " . $returnurl . $newChannelParams);
        exit;
    }
}
开发者ID:Spark-Eleven,项目名称:revive-adserver,代码行数:31,代码来源:channel-modify.php


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