-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathextension.driver.php
More file actions
executable file
·82 lines (68 loc) · 2.28 KB
/
extension.driver.php
File metadata and controls
executable file
·82 lines (68 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
class Extension_Collapse_Fields extends Extension {
/*-------------------------------------------------------------------------
Extension definition
-------------------------------------------------------------------------*/
protected static $fields = array();
public static $params = null;
public function uninstall() {
$this->_Parent->Database->query("DROP TABLE `tbl_fields_collapse_fields`");
}
public function install() {
Symphony::Database()->query("
CREATE TABLE IF NOT EXISTS `tbl_fields_collapse_fields` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`field_id` INT(11) UNSIGNED NOT NULL,
`num_fields` VARCHAR(255) DEFAULT NULL,
`collapse` ENUM('yes', 'no') DEFAULT 'no',
PRIMARY KEY (`id`),
KEY `field_id` (`field_id`)
)
");
return true;
}
public function getSubscribedDelegates() {
return array(
array(
'page' => '/publish/new/',
'delegate' => 'EntryPostCreate',
'callback' => 'compileBackendFields'
),
array(
'page' => '/publish/edit/',
'delegate' => 'EntryPostEdit',
'callback' => 'compileBackendFields'
),
array(
'page' => '/backend/',
'delegate' => 'InitaliseAdminPageHead',
'callback' => 'initaliseAdminPageHead'
)
);
}
/*-------------------------------------------------------------------------
Fields:
-------------------------------------------------------------------------*/
public function registerField($field) {
self::$fields[] = $field;
}
public function compileBackendFields($context) {
foreach (self::$fields as $field) {
$field->compile($context['entry']);
}
}
public function compileFrontendFields($context) {
foreach (self::$fields as $field) {
$field->compile($context['entry']);
}
}
/*-------------------------------------------------------------------------
Delegates:
-------------------------------------------------------------------------*/
public function initaliseAdminPageHead($context) {
$page = Administration::instance()->Page;
$page->addScriptToHead(URL . '/extensions/collapse_fields/assets/collapse_fields.js', 9200);
$page->addStylesheetToHead(URL . '/extensions/collapse_fields/assets/collapse_fields.css', 'screen', 9200);
}
}
?>