diff options
author | Carlo Landmeter <clandmeter@gmail.com> | 2011-04-03 23:10:48 +0000 |
---|---|---|
committer | Carlo Landmeter <clandmeter@gmail.com> | 2011-04-03 23:10:48 +0000 |
commit | e21d8da40631e8d9f2f3bbb2db83762ee4474cec (patch) | |
tree | 046790a62b403e8e6bded775bd34c79bd96f21c4 /apk_browser.install | |
parent | 849f4344d13b0060829b61b0ee2ad4660fff45b0 (diff) | |
download | apk_browser-e21d8da40631e8d9f2f3bbb2db83762ee4474cec.tar.bz2 apk_browser-e21d8da40631e8d9f2f3bbb2db83762ee4474cec.tar.xz |
convert files to unix file format.
netbeans git plugins likes to convert them to dos.
Diffstat (limited to 'apk_browser.install')
-rw-r--r-- | apk_browser.install | 378 |
1 files changed, 189 insertions, 189 deletions
diff --git a/apk_browser.install b/apk_browser.install index 345f10f..a5cd42e 100644 --- a/apk_browser.install +++ b/apk_browser.install @@ -1,189 +1,189 @@ -<?php
-
-function apk_browser_install() {
- /*
- * Alpine packages are stored as nodes.
- * To make sure we have content type we
- * create it with hook install so its a
- * system content type which cannot be
- * deleted.
- */
- // use get_t() to get the name of our localization function for translation
- // during install, when t() is not available.
- $t = get_t();
- //basic new node settings
- $node_fields = array(
- 'type' => 'apk', //machine name
- 'name' => 'Alpine package', // human name
- 'base' => 'node_content', //api callback
- 'description' => $t('Content type to store Alpine Linux packages'),
- 'title_label' => $t('Package'),
- );
- //set missing defaults and save the node type
- $content_type = node_type_set_defaults($node_fields);
- node_type_save($content_type);
-
- /*
- * Create all the fields and instances we are adding to our content type.
- */
- foreach (_apk_browser_field_vars() as $name => $fvars) {
- if (!field_info_field($name)) {
- $field = array(
- 'field_name' => $name,
- 'cardinality' => (isset($fvars['cdl'])) ? $fvars['cdl'] : '1',
- 'type' => (isset($fvars['type'])) ? $fvars['type'] : 'text',
- 'settings' => array(
- 'max_length' => (isset($fvars['length'])) ? $fvars['length'] : '255',
- ),
- );
- field_create_field($field);
- }
- // now all instances
- if (!field_info_instance('node', $name, 'apk')) {
- $instance = array(
- 'field_name' => $name,
- 'label' => $fvars['label'],
- 'type' => 'text',
- 'entity_type' => 'node',
- 'bundle' => 'apk',
- 'widget' => array(
- 'type' => (isset($fvars['widget'])) ? $fvars['widget'] : 'text_textfield',
- ),
- 'display' => array(
- 'default' => array(
- 'label' => 'inline'
- )
- )
- );
- field_create_instance($instance);
- }
- }
-
- /*
- * Create taxonamy vocab
- * create table and asign it
- */
- $vnames = array(
- 'repo' => $t('Repository'),
- 'arch' => $t('Architecture')
- );
- foreach ($vnames as $vname => $desc) {
- $fieldname = 'taxonomy_apk_' . $vname;
- $machinename = 'apk_' . $vname;
- $vedit = array(
- 'name' => $desc,
- 'description' => $t('@desc taxonomy', array('@desc' => $desc)),
- 'machine_name' => $machinename
- );
- if (taxonomy_vocabulary_save((object) $vedit)) {
- if (!field_info_field($fieldname)) {
- $field = array(
- 'field_name' => $fieldname,
- 'type' => 'taxonomy_term_reference',
- //sets the number of terms which can be selected
- 'cardinality' => '1',
- 'settings' => array(
- 'allowed_values' => array(
- array(
- 'vocabulary' => $machinename,
- 'parent' => 0,
- ),
- ),
- ),
- );
- field_create_field($field);
- }
- if (!field_info_instance('node', $fieldname, 'taxonomy_term_reference')) {
- $instance = array(
- 'field_name' => $fieldname,
- 'entity_type' => 'node',
- 'label' => $desc,
- 'bundle' => 'apk',
- 'required' => TRUE,
- 'widget' => array(
- 'type' => 'options_select',
- )
- );
- field_create_instance($instance);
- }
- }
- }
-}
-
-//cleanup database, removing all apk entries
-function apk_browser_uninstall() {
- $nfields = array_keys(_apk_browser_field_vars());
- //delete the content type
- node_type_delete('apk');
- //delete the apk node fields
- foreach ($nfields as $nfield) {
- field_delete_field($nfield);
- }
- //delete all apk related instaces
- $instances = field_info_instances('node', 'apk');
- foreach ($instances as $instance) {
- field_delete_instance($instance, TRUE);
- }
- field_delete_field('taxonomy_apk_repo');
- field_delete_field('taxonomy_apk_arch');
- //delete taxonomy
- $vocabulary = taxonomy_vocabulary_machine_name_load('apk_arch');
- if ($vocabulary) {
- taxonomy_vocabulary_delete($vocabulary->vid);
- }
- $vocabulary = taxonomy_vocabulary_machine_name_load('apk_repo');
- if ($vocabulary) {
- taxonomy_vocabulary_delete($vocabulary->vid);
- }
- db_delete('variable')->condition('name', 'apk_%%', 'LIKE')->execute();
-}
-
-/*
- * functions which return apk browser
- * structure and variables will be used
- * for install and uninstall
- */
-
-function _apk_browser_field_vars() {
- $t = get_t();
- //return array of fields variables
- return array(
- 'apk_checksum' => array(
- 'label' => $t('Checksum')
- ),
- 'apk_version' => array(
- 'label' => $t('Version')
- ),
- 'apk_size' => array(
- 'label' => $t('Size')
- ),
- 'apk_isize' => array(
- 'label' => $t('Installed size')
- ),
- 'apk_description' => array(
- 'label' => $t('Description'),
- 'length' => '1000'
- ),
- 'apk_url' => array(
- 'label' => $t('URL'),
- ),
- 'apk_license' => array(
- 'label' => $t('License')
- ),
- 'apk_depends' => array(
- 'label' => $t('Dependencies'),
- 'cdl' => '-1'
- ),
- 'apk_maintainer' => array(
- 'label' => $t('Maintainer'),
- 'type' => 'user_reference',
- 'widget' => 'options_select'
- ),
- 'apk_contributor' => array(
- 'label' => $t('Contributor'),
- 'type' => 'user_reference',
- 'widget' => 'user_reference_autocomplete',
- 'cdl' => '-1'
- )
- );
-}
+<?php + +function apk_browser_install() { + /* + * Alpine packages are stored as nodes. + * To make sure we have content type we + * create it with hook install so its a + * system content type which cannot be + * deleted. + */ + // use get_t() to get the name of our localization function for translation + // during install, when t() is not available. + $t = get_t(); + //basic new node settings + $node_fields = array( + 'type' => 'apk', //machine name + 'name' => 'Alpine package', // human name + 'base' => 'node_content', //api callback + 'description' => $t('Content type to store Alpine Linux packages'), + 'title_label' => $t('Package'), + ); + //set missing defaults and save the node type + $content_type = node_type_set_defaults($node_fields); + node_type_save($content_type); + + /* + * Create all the fields and instances we are adding to our content type. + */ + foreach (_apk_browser_field_vars() as $name => $fvars) { + if (!field_info_field($name)) { + $field = array( + 'field_name' => $name, + 'cardinality' => (isset($fvars['cdl'])) ? $fvars['cdl'] : '1', + 'type' => (isset($fvars['type'])) ? $fvars['type'] : 'text', + 'settings' => array( + 'max_length' => (isset($fvars['length'])) ? $fvars['length'] : '255', + ), + ); + field_create_field($field); + } + // now all instances + if (!field_info_instance('node', $name, 'apk')) { + $instance = array( + 'field_name' => $name, + 'label' => $fvars['label'], + 'type' => 'text', + 'entity_type' => 'node', + 'bundle' => 'apk', + 'widget' => array( + 'type' => (isset($fvars['widget'])) ? $fvars['widget'] : 'text_textfield', + ), + 'display' => array( + 'default' => array( + 'label' => 'inline' + ) + ) + ); + field_create_instance($instance); + } + } + + /* + * Create taxonamy vocab + * create table and asign it + */ + $vnames = array( + 'repo' => $t('Repository'), + 'arch' => $t('Architecture') + ); + foreach ($vnames as $vname => $desc) { + $fieldname = 'taxonomy_apk_' . $vname; + $machinename = 'apk_' . $vname; + $vedit = array( + 'name' => $desc, + 'description' => $t('@desc taxonomy', array('@desc' => $desc)), + 'machine_name' => $machinename + ); + if (taxonomy_vocabulary_save((object) $vedit)) { + if (!field_info_field($fieldname)) { + $field = array( + 'field_name' => $fieldname, + 'type' => 'taxonomy_term_reference', + //sets the number of terms which can be selected + 'cardinality' => '1', + 'settings' => array( + 'allowed_values' => array( + array( + 'vocabulary' => $machinename, + 'parent' => 0, + ), + ), + ), + ); + field_create_field($field); + } + if (!field_info_instance('node', $fieldname, 'taxonomy_term_reference')) { + $instance = array( + 'field_name' => $fieldname, + 'entity_type' => 'node', + 'label' => $desc, + 'bundle' => 'apk', + 'required' => TRUE, + 'widget' => array( + 'type' => 'options_select', + ) + ); + field_create_instance($instance); + } + } + } +} + +//cleanup database, removing all apk entries +function apk_browser_uninstall() { + $nfields = array_keys(_apk_browser_field_vars()); + //delete the content type + node_type_delete('apk'); + //delete the apk node fields + foreach ($nfields as $nfield) { + field_delete_field($nfield); + } + //delete all apk related instaces + $instances = field_info_instances('node', 'apk'); + foreach ($instances as $instance) { + field_delete_instance($instance, TRUE); + } + field_delete_field('taxonomy_apk_repo'); + field_delete_field('taxonomy_apk_arch'); + //delete taxonomy + $vocabulary = taxonomy_vocabulary_machine_name_load('apk_arch'); + if ($vocabulary) { + taxonomy_vocabulary_delete($vocabulary->vid); + } + $vocabulary = taxonomy_vocabulary_machine_name_load('apk_repo'); + if ($vocabulary) { + taxonomy_vocabulary_delete($vocabulary->vid); + } + db_delete('variable')->condition('name', 'apk_%%', 'LIKE')->execute(); +} + +/* + * functions which return apk browser + * structure and variables will be used + * for install and uninstall + */ + +function _apk_browser_field_vars() { + $t = get_t(); + //return array of fields variables + return array( + 'apk_checksum' => array( + 'label' => $t('Checksum') + ), + 'apk_version' => array( + 'label' => $t('Version') + ), + 'apk_size' => array( + 'label' => $t('Size') + ), + 'apk_isize' => array( + 'label' => $t('Installed size') + ), + 'apk_description' => array( + 'label' => $t('Description'), + 'length' => '1000' + ), + 'apk_url' => array( + 'label' => $t('URL'), + ), + 'apk_license' => array( + 'label' => $t('License') + ), + 'apk_depends' => array( + 'label' => $t('Dependencies'), + 'cdl' => '-1' + ), + 'apk_maintainer' => array( + 'label' => $t('Maintainer'), + 'type' => 'user_reference', + 'widget' => 'options_select' + ), + 'apk_contributor' => array( + 'label' => $t('Contributor'), + 'type' => 'user_reference', + 'widget' => 'user_reference_autocomplete', + 'cdl' => '-1' + ) + ); +} |