root/afridex/plugins/Flutter/RCCWP_ModuleDuplicate.php

Revision 21, 2.5 kB (checked in by admin, 18 years ago)
Line 
1<?php
2
3/**
4 * Create/edit/delete module duplicates
5 *
6 */
7
8class RCCWP_ModuleDuplicate
9{
10        /**
11         * Get all module duplicates
12         *
13         * @param integer $modulelId
14         * @return array of objects containing module duplicates
15         */     
16        function GetCustomModulesDuplicates($modulelId)
17        {
18                global $wpdb, $canvas;
19
20                $results = $wpdb->get_results("SELECT * FROM ".$canvas->duplicates." WHERE module_id = '$modulelId'");
21
22                return $results;
23        }
24       
25       
26       
27        /**
28         * Create a duplicate.
29         *
30         * @param integer $customWriteModuleId
31         * @param string $duplicate_name the name of the duplicate, if false,
32         *           the name "[MODULE NAME] copy [x] will be given to the duplicate.
33         */ 
34        function Create($customWriteModuleId, $duplicate_name=false)
35        {
36                global $wpdb, $canvas;
37               
38                // Get module name
39                $customModule = RCCWP_CustomWriteModule::Get($customWriteModuleId);
40               
41                if (!$duplicate_name){
42                        // go ahead and rename, then duplicate
43                        $duplicate_name = $customModule->name; 
44                       
45                        if($other_blocks = $wpdb->get_results("SELECT duplicate_name FROM ".$canvas->duplicates." WHERE duplicate_name LIKE '".preg_replace('/\scopy\s[0-9]*/', '', $duplicate_name)." %' ORDER BY duplicate_id DESC")) {
46                                $duplicate_name = $other_blocks[0]->duplicate_name;
47                                $testcase = substr($duplicate_name, -1, 1);
48                                $duplicate_name[strlen($duplicate_name) - 1] = intval($testcase) + 1;
49                        }
50                        else
51                                $duplicate_name .= ' copy 2';
52                }
53                               
54                $wpdb->query("INSERT INTO ".$canvas->duplicates." (module_id, duplicate_name) VALUES ($customWriteModuleId, '$duplicate_name')");
55
56                return $wpdb->insert_id;
57        }
58       
59        /**
60         * Delete duplicate
61         *
62         * @param integer $duplicateId
63         */
64        function Delete($duplicateId)
65        {
66                global $wpdb, $canvas;
67                       
68                $sql = sprintf(
69                        "DELETE FROM " . $canvas->duplicates .
70                        " WHERE duplicate_id = %d",
71                        $duplicateId
72                        );
73                $wpdb->query($sql);
74        }
75       
76        /**
77         * Get duplicate
78         *
79         * @param integer $duplicateId
80         * @return an object containing the duplicate properties
81         */
82        function Get($duplicateId){
83                global $wpdb, $canvas;
84
85                $results = $wpdb->get_row("SELECT * FROM ".$canvas->duplicates." WHERE duplicate_id = $duplicateId");
86                return $results;
87        }
88
89        /**
90         * Update duplicate
91         *
92         * @param integer $duplicateId
93         * @param string $name new duplicate name
94         */
95        function Update($duplicateId, $name){
96                global $wpdb, $canvas;
97               
98                $sql = sprintf(
99                        "UPDATE " . $canvas->duplicates .
100                        " SET duplicate_name = '%s'".
101                        " where duplicate_id = %d",
102                        $name,
103                        $duplicateId);
104               
105                $wpdb->query($sql);
106        }
107
108}
109?>
Note: See TracBrowser for help on using the browser.