Tripal v1.0 (6.x-1.0)
|
00001 <?php 00012 function tripal_stock_back_to_stock_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_stock_back_to_stock_button_submit($form, $form_state) { 00034 drupal_goto('node/' . $form_state['values']['nid']); 00035 } 00036 00042 function tripal_stock_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 Stock</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_stock_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_stock_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 00203 function tripal_stock_is_obsolete_form($node, $stock_id) { 00204 00205 $form['make_obsolete'] = array( 00206 '#type' => 'submit', 00207 '#value' => t('Mark Stock as Obsolete') 00208 ); 00209 00210 $form['make_obsolete_stock_id'] = array( 00211 '#type' => 'value', 00212 '#value' => $stock_id, 00213 '#required' => TRUE 00214 ); 00215 00216 return $form; 00217 } 00218 00224 function tripal_stock_is_obsolete_form_submit($form, &$form_state) { 00225 00226 chado_query( 00227 "UPDATE {stock} SET is_obsolete='t' WHERE stock_id=%d", 00228 $form_state['values']['make_obsolete_stock_id'] 00229 ); 00230 00231 } 00232