Main Page | Directories | File List | File Members

conf.php File Reference

Go to the source code of this file.

Functions

 trackers_conf_copy ($group_id, $artifact, $from_group_id)
 conf_form ($group_id, $artifact)


Function Documentation

conf_form group_id,
artifact
 

Definition at line 271 of file conf.php.

References $found, $result, db_fetch_array(), db_query(), form, form_footer(), group_id, html_build_select_box_from_arrays(), nbsp, and print.

00272 {
00273 
00274   $result = db_query("SELECT groups.group_name,"
00275                      . "groups.group_id "
00276                      . "FROM groups,user_group "
00277                      . "WHERE groups.group_id=user_group.group_id "
00278                      . "AND user_group.user_id='". user_getid() ."' "
00279                      . "AND groups.status='A' "
00280                      . "AND groups.use_".$artifact."='1'");
00281 
00282   $vals = array();
00283   $texts = array();
00284   unset($found);
00285   while ($thisgroup = db_fetch_array($result))
00286     {
00287       $vals[] = $thisgroup['group_id'];
00288       $texts[] = $thisgroup['group_name'];
00289       $found = 1;
00290     }
00291 
00292 
00293   if ($found)
00294     {
00295       print '<p>'.sprintf(_("You can copy the configuration of the %s tracker of the following projects (this list was established according to your currently membership record)."), $artifact).'</p>
00296 <p class="warn">'._("Beware, your current configuration will be irremediably lost.").'</p>
00297 
00298 <form action="'.$PHP_SELF.'" method="post">
00299 <input type="hidden" name="group_id" value="'.$group_id.'" />
00300 <input type="hidden" name="artifact" value="'.$artifact.'" />
00301 <span class="preinput">'._("Projects:").'</span><br />
00302 &nbsp;&nbsp;&nbsp;
00303 ';
00304 
00305       print html_build_select_box_from_arrays($vals, $texts,'from_group_id');
00306 
00307       print form_footer();
00308 
00309     }
00310   else
00311     {
00312       print '<p>'.sprintf(_("You cannot copy the configuration of other projects because you are not member of any project hosted here that uses a %s tracker"), $artifact).'</p>';
00313     }
00314 
00315 }

trackers_conf_copy group_id,
artifact,
from_group_id
 

Definition at line 40 of file conf.php.

References $sql, db_affected_rows(), db_createinsertinto(), db_fetch_array(), db_insertid(), db_query(), db_result, and group_id.

00041 {
00042   if (!$artifact || !$group_id || !$from_group_id)
00043     {
00044       # case that should never happen
00045       fb(_("Missing parameters"), 1);
00046       return 0;
00047     }
00048   fb(sprintf(_("Start copying configuration of group #%s %s tracker"),
00049              $from_group_id,
00050              $artifact));
00051 
00052 # Copy the notification settings
00053   $res_groups_from_group = db_query("SELECT * FROM groups WHERE group_id='$from_group_id'");
00054   $sql = "UPDATE groups SET ".
00055      "new_".$artifact."_address='".db_result($res_groups_from_group,
00056                                              0,
00057                                              "new_".$artifact."_address")."', ".
00058      $artifact."_glnotif='".db_result($res_groups_from_group,
00059                                       0,
00060                                       $artifact."_glnotif")."', ".
00061      "send_all_".$artifact."='".db_result($res_groups_from_group,
00062                                           0,
00063                                           "send_all_".$artifact)."', ".
00064      $artifact."_private_exclude_address='".db_result($res_groups_from_group,
00065                                                        0,
00066                                                        $artifact."_private_excluded_address")."' ".
00067      "WHERE group_id='$group_id'";
00068 
00069   if (db_affected_rows(db_query($sql)))
00070     {  fb(_("Notification settings copied")); }
00071 
00072   # Delete currently set field usage and field values
00073   # Copy the field usage and field values of the other project
00074   $sql = "DELETE FROM ".$artifact."_field_value WHERE group_id='$group_id'";
00075   if (db_affected_rows(db_query($sql)))
00076     {  fb(_("Previous field values deleted")); }
00077   $sql = "DELETE FROM ".$artifact."_field_usage WHERE group_id='$group_id'";
00078   if (db_affected_rows(db_query($sql)))
00079     {  fb(_("Previous field usage deleted")); }
00080 
00081   $result_field_usage_from_group = db_query("SELECT * FROM ".$artifact."_field_usage WHERE group_id='$from_group_id'");
00082   $z = 0;
00083   unset($itemsdone);
00084   while ($thisone = db_fetch_array($result_field_usage_from_group))
00085       {
00086 
00087         $sql = db_createinsertinto($result_field_usage_from_group,
00088                                    $artifact."_field_usage",
00089                                    $z,
00090                                    "none",
00091                                    "group_id",
00092                                    $group_id);
00093 
00094         if (db_affected_rows(db_query($sql)))
00095           {  $itemsdone .= "#".$thisone['bug_field_id']." "; }
00096 
00097         $z++;
00098       }
00099   if ($itemsdone)
00100     { fb(sprintf(_("Field values %s copied"), $itemsdone)); }
00101 
00102 
00103   $result_field_value_from_group = db_query("SELECT * FROM ".$artifact."_field_value WHERE group_id='$from_group_id'");
00104   $z = 0;
00105   unset($itemsdone);
00106   while ($thisone = db_fetch_array($result_field_value_from_group))
00107       {
00108 
00109         $sql = db_createinsertinto($result_field_value_from_group,
00110                                    $artifact."_field_value",
00111                                    $z,
00112                                    "bug_fv_id",
00113                                    "group_id",
00114                                    $group_id);
00115 
00116         if (db_affected_rows(db_query($sql)))
00117           {  $itemsdone .= "#".$thisone['bug_fv_id']." "; }
00118 
00119         $z++;
00120       }
00121   if ($itemsdone)
00122     { fb(sprintf(_("Field values %s copied"), $itemsdone)); }
00123 
00124 
00125   # Delete currently set canned responses
00126   # Copy the canned responses of the other project
00127   $sql = "DELETE FROM ".$artifact."_canned_responses WHERE group_id='$group_id'";
00128   if (db_affected_rows(db_query($sql)))
00129     {  fb(_("Previous canned responses deleted")); }
00130 
00131   $result_canned_from_group = db_query("SELECT * FROM ".$artifact."_canned_responses WHERE group_id='$from_group_id'");
00132   $z = 0;
00133   unset($itemsdone);
00134   while ($thisone = db_fetch_array($result_canned_from_group))
00135       {
00136 
00137         $sql = db_createinsertinto($result_canned_from_group,
00138                                    $artifact."_canned_responses",
00139                                    $z,
00140                                    "bug_canned_id",
00141                                    "group_id",
00142                                    $group_id);
00143 
00144         if (db_affected_rows(db_query($sql)))
00145           {  $itemsdone .= "#".$thisone['bug_canned_id']." "; }
00146 
00147         $z++;
00148       }
00149   if ($itemsdone)
00150     { fb(sprintf(_("Canned responses %s copied"), $itemsdone)); }
00151 
00152   # Delete currently set query forms
00153   # Copy the query forms of the other project
00154   $res_queryforms = db_query("SELECT * FROM ".$artifact."_report WHERE group_id='$group_id'");
00155   $sql = "DELETE FROM ".$artifact."_report WHERE group_id='$group_id'";
00156   if (db_affected_rows(db_query($sql)))
00157     {  fb(_("Previous query forms deleted")); }
00158   while ($thisone = db_fetch_array($res_queryforms))
00159     {
00160       # Not verbose
00161       db_query("DELETE FROM ".$artifact."_report_field WHERE report_id='".$thisone['report_id']."'");
00162     }
00163 
00164   $result_queryforms_from_group = db_query("SELECT * FROM ".$artifact."_report WHERE group_id='$from_group_id'");
00165   $z = 0;
00166   unset($itemsdone);
00167   while ($thisone = db_fetch_array($result_queryforms_from_group))
00168       {
00169         # Copy the report
00170         $sql = db_createinsertinto($result_queryforms_from_group,
00171                                    $artifact."_report",
00172                                    $z,
00173                                    "report_id",
00174                                    "group_id",
00175                                    $group_id);
00176         $thisone_id = db_insertid(db_query($sql));
00177         if ($thisone_id)
00178           {
00179             $itemsdone .= "#".$thisone['report_id']." ";
00180 
00181             # Copy the info related to the report in report_field
00182             $result_thisqueryforms_from_group = db_query("SELECT * FROM ".$artifact."_report_field WHERE report_id='".$thisone['report_id']."'");
00183             $y = 0;
00184             while ($thisonequery = db_fetch_array($result_thisqueryforms_from_group))
00185               {
00186                 $sql = db_createinsertinto($result_thisqueryforms_from_group,
00187                                            $artifact."_report_field",
00188                                            $y,
00189                                            "none",
00190                                            "report_id",
00191                                            $thisone_id);
00192 
00193                 # Silent: if we list even these insert, the feedback will
00194                 # be unreadable, too long
00195                 db_query($sql);
00196 
00197                 $y++;
00198               }
00199 
00200           }
00201 
00202         $z++;
00203       }
00204   if ($itemsdone)
00205     { fb(sprintf(_("Query forms %s copied"), $itemsdone)); }
00206 
00207 
00208   # Delete current set transitions
00209   # Copy the transition of the other project
00210   $res_transitions= db_query("SELECT * FROM trackers_field_transition WHERE group_id='$group_id' AND artifact='$artifact'");
00211   $sql = "DELETE FROM trackers_field_transition WHERE group_id='$group_id' AND artifact='$artifact'";
00212   if (db_affected_rows(db_query($sql)))
00213     {  fb(_("Previous field transitions deleted")); }
00214   while ($thisone = db_fetch_array($res_transitions))
00215     {
00216       # Not verbose
00217       db_query("DELETE FROM trackers_field_transition_other_field_update WHERE transition_id='".$thisone['transition_id']."'");
00218     }
00219 
00220   $result_transitions_from_group = db_query("SELECT * FROM trackers_field_transition WHERE artifcat='$artifact' AND group_id='$from_group_id'");
00221   $z = 0;
00222   unset($itemsdone);
00223   while ($thisone = db_fetch_array($result_transitions_from_group))
00224       {
00225         # Copy the report
00226         $sql = db_createinsertinto($result_transitions_from_group,
00227                                    "trackers_field_transition",
00228                                    $z,
00229                                    "transition_id",
00230                                    "group_id",
00231                                    $group_id);
00232         $thisone_id = db_insertid(db_query($sql));
00233         if ($thisone_id)
00234           {
00235             $itemsdone .= "#".$thisone['transition_id']." ";
00236 
00237             # Copy the info related to the report in report_field
00238             $result_thistransitions_from_group = db_query("SELECT * FROM trackers_field_transition_other_field_update  WHERE transition_id='".$thisone['transition_id']."'");
00239             $y = 0;
00240             while ($thisonequery = db_fetch_array($result_thistransitions_from_group))
00241               {
00242                 $sql = db_createinsertinto($result_thistransitions_from_group,
00243                                            "trackers_field_transition_other_field_update",
00244                                            $y,
00245                                            "other_field_update_id",
00246                                            "report_id",
00247                                            $thisone_id);
00248 
00249                 # Silent: if we list even these insert, the feedback will
00250                 # be unreadable, too long
00251                 db_query($sql);
00252 
00253                 $y++;
00254               }
00255 
00256           }
00257 
00258         $z++;
00259       }
00260   if ($itemsdone)
00261     { fb(sprintf(_("Transitions %s copied"), $itemsdone)); }
00262 
00263 
00264 
00265   fb(_("Configuration copy finished"));
00266 
00267 }


Generated on Sun Feb 26 13:23:04 2006 for Savane PHP Frontend Developer Reference by  doxygen 1.4.4