Loading custom_pub.module +67 −1 Original line number Diff line number Diff line Loading @@ -597,3 +597,69 @@ function custom_pub_preprocess_node(&$variables) { } } } /** * Access check function for custom_pub items. * * Checks for node access etc are already taken care of. * @param $group * @param $instance * @param null $object * @return array */ function custom_pub_fasttoggle_access($object, $type, $group, $instance) { $access = user_access('edit_custom_pub_' . $instance); if ($access) { return fasttoggle_allow_access_if($access); } else { return fasttoggle_deny_access_if(!$access); } } /** * Implementation of hook_fasttoggle_available_links(). */ function custom_pub_fasttoggle_available_links($type = NULL, $obj = NULL) { $result = array(); if (!is_null($type) && $type != "node") return $result; if (!is_null($type) && !is_null($obj)) { $custom_publish_options = custom_pub_by_node_type($obj->type); } else { $custom_publish_options = variable_get('custom_pub_types', array()); } if (empty($custom_publish_options)) return $result; $result['node'] = array( 'fields' => array( 'custom_pub' => array( 'instances' => array( ) ) ) ); foreach ($custom_publish_options as $machine_name => $data) { $result['node']['fields']['custom_pub']['instances'][$machine_name] = array( 'description' => t("Toggle the '{$data['name']}' custom publishing option."), 'default' => TRUE, 'access' => array('custom_pub_fasttoggle_access'), 'labels' => array( FASTTOGGLE_LABEL_ACTION => array( 0 => t('set @option status', array('@option' => $data['name'])), 1 => t('unset @option status', array('@option' => $data['name'])) ), FASTTOGGLE_LABEL_STATUS => array( 0 => t('@option not set', array('@option' => $data['name'])), 1 => t('@option set', array('@option' => $data['name']))) ) ); } return $result; } Loading
custom_pub.module +67 −1 Original line number Diff line number Diff line Loading @@ -597,3 +597,69 @@ function custom_pub_preprocess_node(&$variables) { } } } /** * Access check function for custom_pub items. * * Checks for node access etc are already taken care of. * @param $group * @param $instance * @param null $object * @return array */ function custom_pub_fasttoggle_access($object, $type, $group, $instance) { $access = user_access('edit_custom_pub_' . $instance); if ($access) { return fasttoggle_allow_access_if($access); } else { return fasttoggle_deny_access_if(!$access); } } /** * Implementation of hook_fasttoggle_available_links(). */ function custom_pub_fasttoggle_available_links($type = NULL, $obj = NULL) { $result = array(); if (!is_null($type) && $type != "node") return $result; if (!is_null($type) && !is_null($obj)) { $custom_publish_options = custom_pub_by_node_type($obj->type); } else { $custom_publish_options = variable_get('custom_pub_types', array()); } if (empty($custom_publish_options)) return $result; $result['node'] = array( 'fields' => array( 'custom_pub' => array( 'instances' => array( ) ) ) ); foreach ($custom_publish_options as $machine_name => $data) { $result['node']['fields']['custom_pub']['instances'][$machine_name] = array( 'description' => t("Toggle the '{$data['name']}' custom publishing option."), 'default' => TRUE, 'access' => array('custom_pub_fasttoggle_access'), 'labels' => array( FASTTOGGLE_LABEL_ACTION => array( 0 => t('set @option status', array('@option' => $data['name'])), 1 => t('unset @option status', array('@option' => $data['name'])) ), FASTTOGGLE_LABEL_STATUS => array( 0 => t('@option not set', array('@option' => $data['name'])), 1 => t('@option set', array('@option' => $data['name']))) ) ); } return $result; }