Tripal v1.0 (6.x-1.0)
tripal_feature-secondary_tables.inc
Go to the documentation of this file.
00001 <?php
00012 function tripal_feature_implement_back_to_feature_button($form_state, $nid) {
00013   $form = array();
00014 
00015   $form['nid'] = array(
00016     '#type' => 'hidden',
00017     '#value' => $nid
00018   );
00019 
00020   $form["submit-back"] = array(
00021     '#type' => 'submit',
00022     '#value' => t('Back to Stock')
00023   );
00024 
00025   return $form;
00026 }
00027 
00033 function tripal_feature_implement_back_to_feature_button_submit($form, $form_state) {
00034   drupal_goto('node/' . $form_state['values']['nid']);
00035 }
00036 
00042 function tripal_feature_implement_add_chado_properties_progress($current) {
00043 
00044     $value = '<div class="form_progress"><div class="form_progress-text">';
00045 
00046     if ($current == 'main') {
00047     $value .= '<span id="form-step-current">Create Basic Feature</span>'; }
00048     else { $value .= '<span id="form-step">Create Basic Stock</span>'; }
00049 
00050     $value .= '<span id="form-segway">  >>  </span>';
00051 
00052     if ($current == 'properties') {
00053     $value .= '<span id="form-step-current">Add Synonyms & Properties</span>'; }
00054     else { $value .= '<span id="form-step">Add Synonyms & Properties</span>'; }
00055 
00056     $value .= '<span id="form-segway">  >>  </span>';
00057 
00058     if ($current == 'db_references') {
00059     $value .= '<span id="form-step-current">Add Database References</span>'; }
00060     else { $value .= '<span id="form-step">Add Database References</span>'; }
00061 
00062     $value .= '<span id="form-segway">  >>  </span>';
00063 
00064     if ($current == 'relationships') {
00065     $value .= '<span id="form-step-current">Add Relationships</span>'; }
00066     else { $value .= '<span id="form-step">Add Relationships</span>'; }
00067 
00068     $value .= '</div></div>';
00069 
00070     return $value;
00071 
00072 }
00073 
00079 function tripal_feature_implement_add_chado_properties_navigate($form_state, $step, $nid) {
00080   $form = array();
00081 
00082   $form['current_step'] = array(
00083     '#type' => 'hidden',
00084     '#value' => $step
00085   );
00086 
00087   // Use this field to set all the steps and the path to each form
00088   // where each step is of the form name;path and each step is separated by ::
00089   $steps =array(
00090     'properties' => 'node/%node/properties',
00091     'db_references' => 'node/%node/db_references',
00092     'relationships' => 'node/%node/relationships'
00093   );
00094   $steps_value = array();
00095   foreach ($steps as $k => $v) {
00096   $steps_value[] = $k . ';' . $v; }
00097   $form['steps'] = array(
00098     '#type' => 'hidden',
00099     '#value' => implode('::', $steps_value)
00100   );
00101 
00102   $form['first_step'] = array(
00103     '#type' => 'hidden',
00104     '#value' => 'properties'
00105   );
00106 
00107   $form['last_step'] = array(
00108     '#type' => 'hidden',
00109     '#value' => 'relationships'
00110   );
00111 
00112   $form['nid'] = array(
00113     '#type' => 'hidden',
00114     '#value' => $nid
00115   );
00116 
00117   if ($step != $form['first_step']['#value']) {
00118     $form['submit-prev'] = array(
00119       '#type' => 'submit',
00120       '#value' => t('Previous Step')
00121     );
00122   }
00123 
00124   if ($step != $form['last_step']['#value']) {
00125     $form['submit-next'] = array(
00126       '#type' => 'submit',
00127       '#value' => t('Next Step')
00128     );
00129   }
00130 
00131   if ($step == $form['last_step']['#value']) {
00132     $form['submit-finish'] = array(
00133       '#type' => 'submit',
00134       '#value' => t('Finish')
00135     );
00136   }
00137 
00138   return $form;
00139 }
00140 
00146 function tripal_feature_implement_add_chado_properties_navigate_submit($form, $form_state) {
00147 
00148   $raw_steps = preg_split('/::/', $form_state['values']['steps']);
00149 
00150   $steps = array();
00151   $current_index = 'EMPTY';
00152   $i=0;
00153 
00154   foreach ($raw_steps as $raw_step) {
00155     $step = preg_split('/;/', $raw_step);
00156     $steps[$i] = $step;
00157 
00158     if ($step[0] == $form_state['values']['current_step']) {
00159       $current_index = $i;
00160     }
00161 
00162     $i++;
00163   }
00164   $num_steps = $i;
00165 
00166   if (strcmp($current_index, 'EMPTY') == 0) {
00167     // No Matching Step
00168     drupal_set_message(t('Could not determine next step - %currentstep, please contact the administrator', array('%currentstep' => $form_state['values']['current_step'])), 'error');
00169   }
00170   elseif ($current_index == 0) {
00171     $next_goto = $steps[$current_index+1][1];
00172   }
00173   elseif ($current_index == ($num_steps-1)) {
00174     $prev_goto = $steps[$current_index-1][1];
00175     $next_goto = 'node/%node';
00176   }
00177   else {
00178     $prev_goto = $steps[$current_index-1][1];
00179     $next_goto = $steps[$current_index+1][1];
00180   }
00181 
00182   if ($form_state['clicked_button']['#value'] == t('Previous Step') ) {
00183     //replace %node
00184     $prev_goto = preg_replace('/%node/', $form_state['values']['nid'], $prev_goto);
00185     $_REQUEST['destination'] = $prev_goto;
00186   }
00187   elseif ($form_state['clicked_button']['#value'] == t('Next Step') ) {
00188     $next_goto = preg_replace('/%node/', $form_state['values']['nid'], $next_goto);
00189     $_REQUEST['destination'] = $next_goto;
00190   }
00191   elseif ($form_state['clicked_button']['#value'] == t('Finish') ) {
00192     $next_goto = preg_replace('/%node/', $form_state['values']['nid'], $next_goto);
00193     $_REQUEST['destination'] = $next_goto;
00194   }
00195 
00196 }
00197 
00204 function tripal_feature_is_obsolete_form($node, $stock_id) {
00205 
00206   $form['make_obsolete'] = array(
00207     '#type' => 'submit',
00208     '#value' => t('Mark Stock as Obsolete')
00209   );
00210 
00211   $form['make_obsolete_stock_id'] = array(
00212     '#type' => 'value',
00213     '#value' => $stock_id,
00214     '#required' => TRUE
00215   );
00216 
00217   return $form;
00218 }
00219 
00225 function tripal_feature_is_obsolete_form_submit($form, &$form_state) {
00226 
00227   $previous_db = db_set_active('chado');
00228   db_query(
00229     "UPDATE {stock} SET is_obsolete='t' WHERE stock_id=%d",
00230     $form_state['values']['make_obsolete_stock_id']
00231   );
00232   db_set_active($previous_db);
00233 
00234 }
00235 
 All Classes Files Functions Variables