本文整理汇总了PHP中ctools_export_crud_new函数的典型用法代码示例。如果您正苦于以下问题:PHP ctools_export_crud_new函数的具体用法?PHP ctools_export_crud_new怎么用?PHP ctools_export_crud_new使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ctools_export_crud_new函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
public function save()
{
$op = $this->inDatabase ? 'edit' : 'insert';
$values = new stdClass();
// $this;
$values->sid = $this->sid;
$values->consumer_type = $this->consumerType;
$values->consumer_module = $this->consumer->consumerModule;
$values->status = $this->status ? 1 : 0;
$values->only_ldap_authenticated = (int) $this->onlyApplyToLdapAuthenticated;
$values->derive_from_dn = (int) $this->deriveFromDn;
$values->derive_from_dn_attr = $this->deriveFromDnAttr;
$values->derive_from_attr = (int) $this->deriveFromAttr;
$values->derive_from_attr_attr = $this->arrayToLines($this->deriveFromAttrAttr);
$values->derive_from_attr_use_first_attr = (int) $this->deriveFromAttrUseFirstAttr;
$values->derive_from_attr_nested = (int) $this->deriveFromAttrNested;
$values->derive_from_entry = (int) $this->deriveFromEntry;
$values->derive_from_entry_search_all = (int) $this->deriveFromEntrySearchAll;
$values->derive_from_entry_entries = $this->arrayToLines($this->deriveFromEntryEntries);
$values->derive_from_entry_entries_attr = $this->deriveFromEntryEntriesAttr;
$values->derive_from_entry_attr = $this->deriveFromEntryMembershipAttr;
$values->derive_from_entry_user_ldap_attr = $this->deriveFromEntryAttrMatchingUserAttr;
$values->derive_from_entry_use_first_attr = (int) $this->deriveFromEntryUseFirstAttr;
$values->derive_from_entry_nested = (int) $this->deriveFromEntryNested;
$values->mappings = $this->arrayToPipeList($this->mappings);
$values->use_filter = (int) $this->useMappingsAsFilter;
$values->synch_to_ldap = (int) $this->synchToLdap;
$values->synch_on_logon = (int) $this->synchOnLogon;
$values->revoke_ldap_provisioned = (int) $this->revokeLdapProvisioned;
$values->create_consumers = (int) $this->createConsumers;
$values->regrant_ldap_provisioned = (int) $this->regrantLdapProvisioned;
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_authorization');
foreach ($object as $property => $value) {
if (!isset($values->{$property})) {
$values->{$property} = $value;
}
}
$result = ctools_export_crud_save('ldap_authorization', $values);
} elseif ($op == 'edit') {
$result = drupal_write_record('ldap_authorization', $values, 'consumer_type');
} else {
// insert
$result = drupal_write_record('ldap_authorization', $values);
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Authorization to the database.'));
}
// revert mappings to array and remove temporary properties from ctools export
$this->mappings = $this->pipeListToArray($values->mappings, TRUE);
foreach (array('consumer_type', 'consumer_module', 'only_ldap_authenticated', 'derive_from_dn', 'derive_from_dn_attr', 'derive_from_attr', 'derive_from_attr_attr', 'derive_from_attr_use_first_attr', 'derive_from_attr_nested', 'derive_from_entry', 'derive_from_entry_entries', 'derive_from_entry_attr', 'derive_from_entry_search_all', 'derive_from_entry_use_first_attr', 'derive_from_entry_nested', 'use_filter', 'synch_to_ldap', 'synch_on_logon', 'revoke_ldap_provisioned', 'create_consumers', 'regrant_ldap_provisioned') as $prop_name) {
unset($this->{$prop_name});
}
}
示例2: save
public function save()
{
$op = $this->inDatabase ? 'edit' : 'insert';
$values = new stdClass();
// $this;
$values->sid = $this->sid;
$values->numeric_consumer_conf_id = $this->numericConsumerConfId;
$values->consumer_type = $this->consumerType;
$values->consumer_module = $this->consumer->consumerModule;
$values->status = $this->status ? 1 : 0;
$values->only_ldap_authenticated = (int) $this->onlyApplyToLdapAuthenticated;
$values->use_first_attr_as_groupid = (int) $this->useFirstAttrAsGroupId;
$values->mappings = serialize($this->mappings);
$values->use_filter = (int) $this->useMappingsAsFilter;
$values->synch_to_ldap = (int) $this->synchToLdap;
$values->synch_on_logon = (int) $this->synchOnLogon;
$values->revoke_ldap_provisioned = (int) $this->revokeLdapProvisioned;
$values->create_consumers = (int) $this->createConsumers;
$values->regrant_ldap_provisioned = (int) $this->regrantLdapProvisioned;
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_authorization');
foreach ($object as $property => $value) {
if (!isset($values->{$property})) {
$values->{$property} = $value;
}
}
try {
$values->export_type = NULL;
$result = ctools_export_crud_save('ldap_authorization', $values);
} catch (Exception $e) {
// debug($e); Integrity constraint violation: 1062 Duplicate entry
$values->export_type = EXPORT_IN_DATABASE;
$result = ctools_export_crud_save('ldap_authorization', $values);
}
ctools_export_load_object_reset('ldap_authorization');
// ctools_export_crud_save doesn't invalidate cache
} else {
if ($op == 'edit') {
$result = drupal_write_record('ldap_authorization', $values, 'consumer_type');
} else {
// insert
$result = drupal_write_record('ldap_authorization', $values);
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Authorization to the database.'));
}
}
}
示例3: save
public function save($op)
{
$op = $this->inDatabase ? 'edit' : 'insert';
if (module_exists('ctools')) {
// add or edit with ctolls
ctools_include('export');
$ctools_values = clone $this;
foreach ($this->fields() as $field_id => $field) {
$value = $this->{$field['property_name']};
if (isset($field['exportable']) && $field['exportable'] === FALSE) {
// field not exportable
unset($ctools_values->{$field['property_name']});
} elseif (isset($field['schema']) && $field['property_name'] != $field_id) {
// field in property with different name
$ctools_values->{$field_id} = $value;
unset($ctools_values->{$field['property_name']});
} else {
// do nothing. property is already in cloned objecat
}
}
// Populate our object with ctool's properties. copying all properties for backward compatibility
$object = ctools_export_crud_new('ldap_query');
foreach ($object as $property_name => $value) {
if (!isset($ctools_values->{$property_name})) {
$ctools_values->{$property_name} = $value;
}
}
$result = ctools_export_crud_save('ldap_query', $ctools_values);
ctools_export_load_object_reset('ldap_query');
// ctools_export_crud_save doesn't invalidate cache
} else {
$values = array();
foreach ($this->fields() as $field_id => $field) {
if (isset($field['schema'])) {
$values[$field_id] = $this->{$field['property_name']};
}
}
if ($op == 'edit') {
// edit w/o ctools
$result = drupal_write_record('ldap_query', $values, 'qid');
} else {
// insert
$result = drupal_write_record('ldap_query', $values);
}
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Query to the database.'));
}
}
示例4: save
public function save()
{
$op = $this->inDatabase ? 'edit' : 'insert';
$values = new stdClass();
// $this;
$values->sid = $this->sid;
$values->numeric_consumer_conf_id = $this->numericConsumerConfId;
$values->consumer_type = $this->consumerType;
$values->consumer_module = $this->consumer->consumerModule;
$values->status = $this->status ? 1 : 0;
$values->only_ldap_authenticated = (int) $this->onlyApplyToLdapAuthenticated;
$values->useFirstAttrAsGroupId = (int) $this->useFirstAttrAsGroupId;
$values->mappings = $this->arrayToPipeList($this->mappings);
$values->use_filter = (int) $this->useMappingsAsFilter;
$values->synch_to_ldap = (int) $this->synchToLdap;
$values->synch_on_logon = (int) $this->synchOnLogon;
$values->revoke_ldap_provisioned = (int) $this->revokeLdapProvisioned;
$values->create_consumers = (int) $this->createConsumers;
$values->regrant_ldap_provisioned = (int) $this->regrantLdapProvisioned;
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_authorization');
foreach ($object as $property => $value) {
if (!isset($values->{$property})) {
$values->{$property} = $value;
}
}
$values->export_type = $this->numericConsumerConfId ? EXPORT_IN_DATABASE : NULL;
$result = ctools_export_crud_save('ldap_authorization', $values);
ctools_export_load_object_reset('ldap_authorization');
// ctools_export_crud_save doesn't invalidate cache
} else {
if ($op == 'edit') {
$result = drupal_write_record('ldap_authorization', $values, 'consumer_type');
} else {
// insert
$result = drupal_write_record('ldap_authorization', $values);
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Authorization to the database.'));
}
}
// revert mappings to array and remove temporary properties from ctools export
$this->mappings = $this->pipeListToArray($values->mappings, FALSE);
foreach (array('consumer_type', 'consumer_module', 'only_ldap_authenticated', 'use_filter', 'synch_to_ldap', 'synch_on_logon', 'revoke_ldap_provisioned', 'create_consumers', 'regrant_ldap_provisioned') as $prop_name) {
unset($this->{$prop_name});
}
}
示例5: get_internal_default_panelizer
/**
* An internal representation of a panelizer object, used to seed when
* we have none and want something to get started.
*/
public function get_internal_default_panelizer($bundle, $view_mode)
{
ctools_include('export');
$load_name = implode(':', array($this->entity_type, $bundle, 'default'));
$panelizer = ctools_export_crud_new('panelizer_defaults');
$panelizer->name = $load_name;
// Attach the view mode to the name, which is specially generated
// to ignore the specialty "page_manager" view mode.
if ($view_mode != 'page_manager') {
$panelizer->name .= ':' . $view_mode;
}
$panelizer->panelizer_type = $this->entity_type;
$panelizer->panelizer_key = $bundle;
$panelizer->view_mode = $view_mode;
$panelizer->display = $this->get_default_display($bundle, $view_mode);
$panelizer->api_version = 1;
$panelizer->title = t('Default');
return $panelizer;
}
示例6: import_page
/**
* Page callback to import information for an exportable item.
*/
function import_page($js, $input, $step = NULL)
{
drupal_set_title($this->get_page_title('import'), PASS_THROUGH);
// Import is basically a multi step wizard form, so let's go ahead and
// use CTools' wizard.inc for it.
// If a step not set, they are trying to create a new item. If a step
// is set, they're in the process of creating an item.
if (!empty($step)) {
$item = $this->edit_cache_get(NULL, 'import');
}
if (empty($item)) {
$item = ctools_export_crud_new($this->plugin['schema']);
}
$form_state = array('plugin' => $this->plugin, 'object' => &$this, 'ajax' => $js, 'item' => $item, 'op' => 'add', 'form type' => 'import', 'rerender' => TRUE, 'no_redirect' => TRUE, 'step' => $step, 'function args' => func_get_args());
// import always uses the wizard.
$output = $this->edit_execute_form_wizard($form_state);
if (!empty($form_state['executed'])) {
$this->redirect($form_state['op'], $form_state['item']);
}
return $output;
}
示例7: add_page
/**
* Overrides ctools_export_ui::add_page().
*
* Allows passing of options to drupal_goto() as opposed to just a path.
*
* @see http://drupal.org/node/1373048
*/
function add_page($js, $input, $step = NULL)
{
drupal_set_title($this->get_page_title('add'));
// If a step not set, they are trying to create a new item. If a step
// is set, they're in the process of creating an item.
if (!empty($this->plugin['use wizard']) && !empty($step)) {
$item = $this->edit_cache_get(NULL, 'add');
}
if (empty($item)) {
$item = ctools_export_crud_new($this->plugin['schema']);
}
$form_state = array('plugin' => $this->plugin, 'object' => &$this, 'ajax' => $js, 'item' => $item, 'op' => 'add', 'form type' => 'add', 'rerender' => TRUE, 'no_redirect' => TRUE, 'step' => $step, 'function args' => func_get_args());
$output = $this->edit_execute_form($form_state);
if (!empty($form_state['executed'])) {
// @see @see http://drupal.org/node/1373048
$export_key = $this->plugin['export']['key'];
$args = (array) $this->plugin['redirect']['add'];
$args[0] = str_replace('%ctools_export_ui', $form_state['item']->{$export_key}, $args[0]);
call_user_func_array('drupal_goto', $args);
}
return $output;
}
示例8: save
/**
* @param string enum $op 'add', 'update'
*/
public function save($op)
{
$values = new stdClass();
foreach ($this->field_to_properties_map() as $field_name => $property_name) {
$field_name_lcase = drupal_strtolower($field_name);
$values->{$field_name_lcase} = $this->{$property_name};
}
if (isset($this->bindpw) && $this->bindpw) {
$values->bindpw = ldap_servers_encrypt($this->bindpw);
}
if ($this->bindpw_new) {
$values->bindpw = ldap_servers_encrypt($this->bindpw_new);
} elseif ($this->bindpw_clear) {
$values->bindpw = NULL;
}
$values->tls = (int) $this->tls;
$values->followrefs = (int) $this->followrefs;
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_servers');
foreach ($object as $property => $value) {
$property_lcase = drupal_strtolower($property);
if (!isset($values->{$property}) || !isset($values->{$property_lcase})) {
$values->{$property_lcase} = $value;
}
}
try {
$values->export_type = NULL;
$result = ctools_export_crud_save('ldap_servers', $values);
} catch (Exception $e) {
$values->export_type = EXPORT_IN_DATABASE;
$result = ctools_export_crud_save('ldap_servers', $values);
}
ctools_export_load_object_reset('ldap_servers');
// ctools_export_crud_save doesn't invalidate cache
} else {
// directly via db
unset($values->numeric_sid);
if ($op == 'add') {
$result = drupal_write_record('ldap_servers', $values);
} else {
$result = drupal_write_record('ldap_servers', $values, 'sid');
}
ldap_servers_cache_clear();
}
// debug("values sent to save op=$op, ctools=". (int)module_exists('ctools')); debug($values);
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Server to the database.'));
}
}
示例9: import_page
/**
* Page callback to import information for an exportable item.
*/
function import_page($js, $input, $step = NULL)
{
drupal_set_title($this->get_page_title('import'));
// Import is basically a multi step wizard form, so let's go ahead and
// use CTools' wizard.inc for it.
// If a step not set, they are trying to create a new item. If a step
// is set, they're in the process of creating an item.
if (!empty($step)) {
$item = $this->edit_cache_get(NULL, 'import');
}
if (empty($item)) {
$item = ctools_export_crud_new($this->plugin['schema']);
}
$form_state = array('plugin' => $this->plugin, 'object' => &$this, 'ajax' => $js, 'item' => $item, 'op' => 'add', 'form type' => 'import', 'rerender' => TRUE, 'no_redirect' => TRUE, 'step' => $step, 'function args' => func_get_args());
// import always uses the wizard.
$output = $this->edit_execute_form_wizard($form_state);
if (!empty($form_state['executed'])) {
$export_key = $this->plugin['export']['key'];
drupal_goto(str_replace('%ctools_export_ui', $form_state['item']->{$export_key}, $this->plugin['redirect']['add']));
}
return $output;
return;
$form_info = array('id' => 'ctools_export_ui_import', 'path' => ctools_export_ui_plugin_menu_path($this->plugin, 'import') . '/%step', 'return path' => $this->plugin['redirect']['import'], 'show trail' => TRUE, 'show back' => TRUE, 'show return' => FALSE, 'show cancel' => TRUE, 'finish callback' => 'ctools_export_ui_import_finish', 'cancel callback' => 'ctools_export_ui_import_cancel', 'order' => array('code' => t('Import code'), 'edit' => t('Edit')), 'forms' => array('code' => array('form id' => 'ctools_export_ui_import_code'), 'edit' => array('form id' => 'ctools_export_ui_import_edit')));
$form_state = array('plugin' => $this->plugin, 'input' => $input, 'rerender' => TRUE, 'no_redirect' => TRUE, 'object' => &$this, 'export' => '', 'overwrite' => FALSE, 'function args' => func_get_args());
if ($step == 'code') {
// This is only used if the BACK button was hit.
if (!empty($_SESSION['ctools_export_ui_import'][$this->plugin['name']])) {
$form_state['item'] = $_SESSION['ctools_export_ui_import'][$this->plugin['name']];
$form_state['export'] = $form_state['item']->export_ui_code;
$form_state['overwrite'] = $form_state['item']->export_ui_allow_overwrite;
}
} else {
if ($step == 'begin') {
$step = 'code';
if (!empty($_SESSION['ctools_export_ui_import'][$this->plugin['name']])) {
unset($_SESSION['ctools_export_ui_import'][$this->plugin['name']]);
}
} else {
if ($step != 'code') {
$form_state['item'] = $_SESSION['ctools_export_ui_import'][$this->plugin['name']];
$form_state['op'] = 'add';
if (!empty($form_state['item']->export_ui_allow_overwrite)) {
// if allow overwrite was enabled, set this to 'edit' only if the key already existed.
$export_key = $this->plugin['export']['key'];
if (ctools_export_crud_load($this->plugin['schema'], $form_state['item']->{$export_key})) {
$form_state['op'] = 'edit';
}
}
}
}
}
ctools_include('wizard');
return ctools_wizard_multistep_form($form_info, $step, $form_state);
}
示例10: save
public function save($op)
{
$entry = $this;
foreach ($this->field_to_properties_map() as $field_name => $property_name) {
$entry->{$field_name} = $this->{$property_name};
}
if (isset($this->bindpw) && $this->bindpw) {
$entry->bindpw = ldap_servers_encrypt($this->bindpw);
}
if ($this->bindpw_new) {
$entry->bindpw = ldap_servers_encrypt($this->bindpw_new);
} elseif ($this->bindpw_clear) {
$entry->bindpw = NULL;
}
$entry->tls = (int) $entry->tls;
$result = FALSE;
if ($op == 'edit') {
if (module_exists('ctools')) {
ctools_include('export');
$result = ctools_export_crud_save('ldap_servers', $entry);
} else {
$result = drupal_write_record('ldap_servers', $entry, 'sid');
}
} else {
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_servers');
foreach ($object as $property => $value) {
if (!isset($entry->{$property})) {
$entry->{$property} = $value;
}
}
$result = ctools_export_crud_save('ldap_servers', $entry);
} else {
$result = drupal_write_record('ldap_servers', $entry);
}
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Server to the database.'));
}
}
示例11: save
public function save($op)
{
$entry = $this->entry();
$result = FALSE;
if ($op == 'edit') {
if (module_exists('ctools')) {
ctools_include('export');
$result = ctools_export_crud_save('ldap_servers', $entry);
ctools_export_load_object_reset('ldap_servers');
// ctools_export_crud_save doesn't invalidate cache
} else {
$result = drupal_write_record('ldap_servers', $entry, 'sid');
}
} else {
if (module_exists('ctools')) {
ctools_include('export');
// Populate our object with ctool's properties
$object = ctools_export_crud_new('ldap_servers');
foreach ($object as $property => $value) {
if (!isset($entry->{$property})) {
$entry->{$property} = $value;
}
}
$result = ctools_export_crud_save('ldap_servers', $entry);
ctools_export_load_object_reset('ldap_servers');
// ctools_export_crud_save doesn't invalidate cache
} else {
$result = drupal_write_record('ldap_servers', $entry);
}
}
if ($result) {
$this->inDatabase = TRUE;
} else {
drupal_set_message(t('Failed to write LDAP Server to the database.'));
}
}