bootstrap version of site
[Bans.Verniy.xyz-Modern.git] / CronJobs / Functions / RepoFunctions.php
blobc80a872bcb28823c0636d22dd9ce6c7f9e1266d0
1 <?php
2 //ecverniy.bot69@ "verniy-bot:"
3 function authenticate($url, $user, $pass, &$curl){
4 curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
5 curl_setopt($curl,CURLOPT_FOLLOWLOCATION, true);
6 curl_setopt($curl,CURLOPT_USERAGENT, "Banlog-updater");
7 curl_setopt($curl, CURLOPT_HEADER, true);
8 curl_setopt($curl, CURLOPT_USERPWD, "$user:$pass");
9 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//set to on
12 // path string Required. The content path.
13 // message string Required. The commit message.
14 // content string Required. The new file content, Base64 encoded.
15 //https://stackoverflow.com/questions/36835116/how-to-create-and-update-a-file-in-a-github-repository-with-php-and-github-api
16 function createFile(&$curl, $file_name, &$log_position, &$log_contents){
18 if($file_name == NULL || strpos($file_name,".ini") !== false /*|| strpos($file_name,"RepoFunctions.php") !== false*/){
19 echo " /////// Auto Init $file_name ////";
20 $initialization_message = base64_encode("Automatic-File Initialization/Files obscured");
22 else{
23 $initialization_message = base64_encode(file_get_contents("../" . $file_name));
26 $data =
28 \"message\": \"Initialization of $file_name\",
29 \"committer\": {
30 \"name\": \"Verniy-Bot\",
31 \"email\": \"ecverniy.bot69@gmail.com\"
33 \"content\": \"$initialization_message\"
34 }";
37 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
38 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
41 $log_position = sizeof($log_contents["File-Name"]);
43 //https://stackoverflow.com/questions/19888832/github-api-update-a-file-in-php
44 function updateFile(&$curl, $file_name, &$log_position, &$log_contents){
45 if($file_name == NULL /*|| strpos($file_name,"backup.php") !== false || strpos($file_name,"RepoFunctions.php") !== false*/){
46 $update_message = base64_encode("Automatic-File update");
48 else{
49 $update_message = base64_encode(file_get_contents("../" . $file_name));
51 $data =
53 \"message\": \"Update of $file_name\",
54 \"sha\": \"" . $log_contents["Sha"][$log_position] ."\",
55 \"committer\": {
56 \"name\": \"Verniy-Bot\",
57 \"email\": \"ecverniy.bot69@gmail.com\"
59 \"content\": \"$update_message\"
60 }";
62 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
63 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
66 function updateFileDirect(&$curl, $file_name, &$log_position, &$sha){
67 if($file_name == NULL || strpos($file_name,".ini") !== false /*|| strpos($file_name,"RepoFunctions.php") !== false*/){
68 $update_message = base64_encode("Automatic-File update/ obscured");
70 else{
71 $update_message = base64_encode(file_get_contents("../" . $file_name));
73 $data =
75 \"message\": \"Update of $file_name\",
76 \"sha\": \"" . $sha ."\",
77 \"committer\": {
78 \"name\": \"Verniy-Bot\",
79 \"email\": \"ecverniy.bot69@gmail.com\"
81 \"content\": \"$update_message\"
82 }";
84 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
85 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
88 function deleteFile(&$curl, $file_name, &$log_position, &$sha){
89 $data =
91 \"message\": \"Deletion of $file_name\",
92 \"sha\": \"" . $sha ."\",
93 \"committer\": {
94 \"name\": \"Verniy-Bot\",
95 \"email\": \"ecverniy.bot69@gmail.com\"
97 }";
101 function fileStatus($file_name, &$log_contents){
102 //1. scan for file names
103 //1ai. if not found return 0
104 //1aii.
105 $exists = 0;
106 $entry_no = 0;
107 foreach($log_contents["File-Name"] as $log_file){
108 if($log_file == $file_name){
109 //may require no update. check for certainty
110 $exists = -1;
111 // "../" removed in backup.php
112 $filetime = filemtime("../" . $file_name);
113 if($log_contents["Recorded-Last-Update"][$entry_no] < $filetime){
114 //requires update
115 $exists = 1;
117 break;
119 $entry_no++;
121 return array($exists, $entry_no);