- //running ccanlint
- exec($ccanlint.$tempfolder.$folder, $score, $status);
-
- //if not junk code
- if($status == 0) {
- $rename = $folder;
- $exactpath = $repopath . $_SESSION['susername'] .'/';
-
- if (file_exists($exactpath)) {
- echo "<div align=\"center\"> Your another upload is in progress please wait...</div>";
- exit();
- }
-
- //bzr local repo for commit
- chdir($repopath);
- unset($op); exec($bzr_clone . $_SESSION['susername'], $op, $status);
- checkerror($status, "Error: bzr local repo.");
- chdir('..');
-
- //if module already exist
- if (file_exists($exactpath . $ccan_home_dir . $folder)) {
-
- // if owner is not same
- if(!(getowner($ccan_home_dir . $folder, $db) == $_SESSION['susername'])) {
- if(!file_exists($repopath . $ccan_home_dir . $folder . '-' . $_SESSION['susername']))
- echo "<div align=\"center\">". $ccan_home_dir . $folder .
- " already exists. Renaming to " . $folder . "-" . $_SESSION['susername'] . "</div>";
- else
- echo "<div align=\"center\">". $ccan_home_dir . $folder .
- "-" . $_SESSION['susername'] . " already exists. Overwriting " .
- $folder. "-" . $_SESSION['susername'] . "</div>";
- $rename = $folder."-".$_SESSION['susername'];
- }
-
- else
- echo "<div align=\"center\">".$repopath. $ccan_home_dir. $folder.
- " already exists(uploaded by you). Overwriting ". $repopath. $folder."</div>";
-
- }
-
- //module not exist. store author to db
- else {
- storefileowner($ccan_home_dir . $folder, $_SESSION['susername'], $db);
- }
-
- rmdirr($exactpath . $ccan_home_dir . $rename);
- rename($tempfolder . $folder, $exactpath . $ccan_home_dir . $rename);
-
- chdir($exactpath);
- unset($op); exec($infotojson . $ccan_home_dir . $rename . " " . $ccan_home_dir.
- $rename."/_info.c ". $ccan_home_dir . $rename . "/json_" . $rename . " "
- . $_SESSION['susername']. " ../../" . $db, $op, $status);
- checkerror($status,"Error: In infotojson.");
-
- unset($op); exec('bzr add', $op, $status);
- checkerror($status,"Error: bzr add error.");
-
- unset($op); exec('bzr commit --unchanged -m "commiting from ccan web ' . $rename .
- " " . $_SESSION['susername'] . '"', $op, $status);
- checkerror($status,"Error: bzr commit error.");
-
- unset($op); exec($bzr_push, $op, $status);
- checkerror($status,"Error: bzr push error.");
-
- unset($op); exec($create_dep_tar . " " . $ccan_home_dir. $rename . " ../../" .
- $tar_dir . " ../../" . $db , $op, $status);
- checkerror($status,"Error: bzr push error.");
-
- chdir('../..');
- rmdirr($exactpath);
- echo "<div align=\"center\"> Stored to ". $ccan_home_dir . $rename . "</div>";
- }
-
- //if junk code (no _info.c etc)
- else {
-
- rmdirr($junkcode.$folder.'-'.$_SESSION['susername']);
- rename($tempfolder.$folder, $junkcode.$folder.'-'.$_SESSION['susername']);
-
- if($score == '')
- $msg = 'Below is details for test.';
-
- echo "<div align=\"center\"><table><tr><td> Score for code is low.
- Cannot copy to repository. Moving to ". $junkcode.$folder.'-'.
- $_SESSION['susername']."... </br></br>". $msg ." </br></br></td></tr><tr><td>";
-
- foreach($score as $disp)
- echo "$disp</br>";
- echo "</td></tr></table></div>";
-
- }
- unlink($tempfolder.$_FILES["uploadedfile"]["name"]);
-}
-else {
- echo "<div align=\"center\"> File type not supported </div>";
- exit();
-}
-
-function checkerror($status, $msg)
-{
- if($status != 0) {
- echo "<div align=\"center\">" . $msg . "Contact ccan admin. </div>";
- exit();
- }
-}
-
-function getowner($filename, $db)
-{
- //getting owner of a file stored at db
- $handle = sqlite3_open($db) or die("Could not open database");
- $query = "SELECT owner FROM fileowner users where filename=\"$filename\"";
- $result = sqlite3_query($handle, $query) or die("Error in query: ".sqlite3_error($handle));
- $row = sqlite3_fetch_array($result);
- return $row["owner"];
-}
-
-function storefileowner($filename, $owner, $db)
-{
- //storing owner of a file stored at db
- $handle = sqlite3_open($db) or die("Could not open database");
- $query = "insert into fileowner values(\"$filename\", \"$owner\")";
- $result = sqlite3_exec($handle, $query) or die("Error in query: ".sqlite3_error($handle));
-}
-?>
\ No newline at end of file