403Webshell
Server IP : 64.202.187.69  /  Your IP : 216.73.217.74
Web Server : Apache
System : Linux 69.187.202.64.host.secureserver.net 3.10.0-1160.144.1.el7.tuxcare.els6.x86_64 #1 SMP Fri May 29 16:22:24 UTC 2026 x86_64
User : transmarket ( 1001)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/transmarket/translator/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/transmarket/translator/controllers/functions.winning_sats_suggestion_voting_credits.php
<?php

	require_once('class.db.php');

	//Winning Self Assessment Test Sentence Suggestion & Voting Credits
	class Winning_Sats_Suggestion_Voting_Credits extends DB
	{
		
		//get winning sats suggestion tmn by language id
		public function getWinningSatsSuggestionTmn( $language_id ) {
			//$winning_suggestion_tmn = 2;
			$sql_winning_suggestion_tmn = "SELECT winning_suggestion_tmn FROM `languages` WHERE id = " . $language_id;
			$result_winning_suggestion_tmn = $this->con->query( $sql_winning_suggestion_tmn );
			while ($row_winning_suggestion_tmn = $result_winning_suggestion_tmn->fetch_object()) {
				$winning_suggestion_tmn = $row_winning_suggestion_tmn->winning_suggestion_tmn;
			}			
			return $winning_suggestion_tmn;
		}
		
		//Get TMN for people who voted on winning suggestion by language id
		public function getWinningSatsVotedSugestionTmn( $language_id ) { 
			//$winning_voted_tmn = 10; 
			$sql_winning_voted_tmn = "SELECT voting_suggestion_tmn FROM `languages` WHERE id = " . $language_id;
			$result_winning_voted_tmn = $this->con->query( $sql_winning_voted_tmn );
			while ($row_winning_voted_tmn = $result_winning_voted_tmn->fetch_object()) {
				$winning_voted_tmn = $row_winning_voted_tmn->voting_suggestion_tmn;
			}
			return $winning_voted_tmn;
		}
		
		//Get all success suggestion ids by sentence id
		public function getSuccessSatsSuggestionIdsBySentenceId( $sentence_id ) {
			
			$sqlSuccessSuggestions = 'SELECT * FROM `self_assessment_test_sentence_suggestion` WHERE sentence_id = ' . $sentence_id . ' AND is_locked = 1 AND is_success = 1';
			$resultSuccessSuggestions = $this->con->query($sqlSuccessSuggestions);
			
			if ($resultSuccessSuggestions->num_rows > 0) {
				while ($row_success_suggestions = $resultSuccessSuggestions->fetch_object()) {
					$success_suggestion_id_arr[]=$row_success_suggestions->id;
				}
			}

			return $success_suggestion_id_arr;
			
		}
		
		//get success suggestion id and it's vote count by suggestion Id
		public function getSuccessSatsSuggestionIdAndVoteCountBySuggestionId( $suggestion_id ) {
			$sqlU = 'SELECT * FROM `self_assessment_test_sentence_voting` WHERE voted_suggestion_id = ' . $suggestion_id. ' AND is_success = 1' ;
			$resultU = $this->con->query($sqlU);
			$total_votes = $resultU->num_rows;
			$suggestion_id_and_count_arr = array();
			
			//suggestion id and it's count			
			$suggestion_id_and_count_arr[$suggestion_id] = $total_votes;
			return $suggestion_id_and_count_arr;			
		}
		
		//Get winning sentence suggestion id by passing suggestion ids and it's counts array
		public function getWinningSatsSuggestionId( $suggestion_id_and_count_arr ) {
			//highest votes suggestion id
			$winning_suggestion_id = array_search( max($suggestion_id_and_count_arr), $suggestion_id_and_count_arr );
			return $winning_suggestion_id;
		}
		
		//Get winning suggestion's user id by winning sentence id
		public function getWinningSatsSuggestionUserId( $winning_suggestion_id ) {
			$sqlWinningSuggestion = 'SELECT * FROM `self_assessment_test_sentence_suggestion` WHERE id = ' . $winning_suggestion_id . ' AND is_locked = 1 AND is_success = 1';
			$resultWinningSuggestion = $this->con->query($sqlWinningSuggestion);
			while ($row_winning_suggestion = $resultWinningSuggestion->fetch_object()) {
				$winning_suggestion_user_id = $row_winning_suggestion->user_id;
			}
			return $winning_suggestion_user_id;
		}
		
		//Get winning suggestion's voted user's ids by winning suggestion id
		public function getWinningSatsSuggestionVotedUserIds( $winning_suggestion_id ) {
			
			$sqlU = 'SELECT * FROM `self_assessment_test_sentence_voting` WHERE voted_suggestion_id = ' . $winning_suggestion_id. ' AND is_success = 1' ;
			$resultU = $this->con->query($sqlU);
			$total_votes = $resultU->num_rows;
			$voted_user_ids_and_suggestion_ids_arr = array();
			while ($row_vote = $resultU->fetch_object()) {				
				$voted_user_ids_and_suggestion_ids_arr[] = $row_vote->user_id;
			}
			
			return $voted_user_ids_and_suggestion_ids_arr;
			
		}	

		//get Winning Suggestion Id By Sentence Id
		public function getWinningSatsSuggestionIdBySentneceId( $sentence_id ) {
			
			$success_suggestion_id_arr = $this->getSuccessSatsSuggestionIdsBySentenceId( $sentence_id );			
			
			if( $success_suggestion_id_arr ) {	
				
				foreach( $success_suggestion_id_arr as $success_suggestion_id ) {
					
					$suggestion_id_and_count_arr = $this->getSuccessSatsSuggestionIdAndVoteCountBySuggestionId( $success_suggestion_id );
					foreach( $suggestion_id_and_count_arr as $key_suggestion_id => $votes_count ) {
						$all_suggestion_ids_and_counts_arr[$key_suggestion_id] = $votes_count;
					}
				}				
				
				$winning_suggestion_id = $this->getWinningSatsSuggestionId( $all_suggestion_ids_and_counts_arr );				
			}
			
			return $winning_suggestion_id;		
			
		}
		
		
		//Insert into winning suggestion user credits
		public function insertIntoWinningSatsSuggestionUserCredits($sentence_id,$winning_suggestion_id,$winning_suggetion_user_id,$winning_suggestion_tmn) {
			$sql_insert = "INSERT INTO `winning_sats_suggestion_voting_credits` (sentence_id,suggestion_id,user_id,winning_credits,credit_purpose) VALUES ({$sentence_id},{$winning_suggestion_id},{$winning_suggetion_user_id},{$winning_suggestion_tmn},1) ";			
			$result_insert = $this->con->query($sql_insert);
			$last_inserted_id = $this->con->insert_id;
			return $last_inserted_id;
		}
		
		//Insert into winning suggestion voted user credits 
		public function insertIntoWinningSatsSuggestionVotedUserCredits($sentence_id,$suggestion_id,$user_id,$winning_credits) {
			$sql_insert = "INSERT INTO `winning_sats_suggestion_voting_credits` (sentence_id,suggestion_id,user_id,winning_credits,credit_purpose) VALUES ({$sentence_id},{$suggestion_id},{$user_id},{$winning_credits},2) ";			
			$result_insert = $this->con->query($sql_insert);
			$last_inserted_id = $this->con->insert_id;
			return $last_inserted_id;
		}
		
		//get winning suggestion voting credits number of rows 
		public function getWinningSatsSuggestionVotingCreditsBySentenceId( $sentence_id ) {
			
			$sqlSentenceWin = 'SELECT sentence_id FROM `winning_sats_suggestion_voting_credits` WHERE sentence_id = ' . $sentence_id . ' LIMIT 1';
			$resultSentenceWin = $this->con->query($sqlSentenceWin);			
			
			$sentence_win_rows = $resultSentenceWin->num_rows;

			return $sentence_win_rows;
		}
		
		
		//Process winning self assessment test sentence suggestion user credits and winning suggestion voted user id credits by sentence id
		public function processWinningSatsSuggestionVotingCreditsBySentenceId( $sentence_id ) {
			
			//check if sentence has already been win record
			$sentence_win_rows = $this->getWinningSatsSuggestionVotingCreditsBySentenceId( $sentence_id );
			
			//get self assessment test sentences language id by sentence id
			$language_id = $this->getSatsLanguageIdBySentenceId( $sentence_id );
			
			if( $sentence_win_rows == 0 ) {			

				//get winning suggestion tmn
				$winning_suggestion_tmn = $this->getWinningSatsSuggestionTmn( $language_id );
				
				//get winning voted suggestion tmn
				$voting_suggestion_tmn = $this->getWinningSatsVotedSugestionTmn( $language_id );
				
				//get winning suggestion id (suggestion id which has highest votes) by sentence Id
				$winning_suggestion_id = $this->getWinningSatsSuggestionIdBySentneceId( $sentence_id );			

				//Get winning suggestion's user id by winning suggestion id
				$winning_suggetion_user_id = $this->getWinningSatsSuggestionUserId( $winning_suggestion_id );
				
				//Give credit to winning suggestion user
				if( $winning_suggetion_user_id ) {				
					$winning_sats_suggestion_tbl_id = $this->insertIntoWinningSatsSuggestionUserCredits($sentence_id,$winning_suggestion_id,$winning_suggetion_user_id,$winning_suggestion_tmn);
					
					//add entry into the tmn transactions & update translator tmn balance					
					$this->insertIntoTranslatorTmnTransactionsCreditEntryForSats( $winning_suggetion_user_id, "Work Experience Assessment Winning Suggestion", $winning_sats_suggestion_tbl_id, "winning_sats_suggestion_voting_credits", $winning_suggestion_tmn );
				}

				//Get winning suggestion's voted user's ids by winning suggestion id
				$winning_suggestion_voted_user_ids_arr = $this->getWinningSatsSuggestionVotedUserIds( $winning_suggestion_id );

				if (count($winning_suggestion_voted_user_ids_arr) > 0) {
					
					//Calculate per user tmn credits
					$tmn_per_user = round((float) $voting_suggestion_tmn / count($winning_suggestion_voted_user_ids_arr), 3);
					
					//Give credit to winning suggestion voted users
					foreach($winning_suggestion_voted_user_ids_arr as $winning_suggestion_voted_user_id) {						
						$winning_sats_voted_on_suggestion_tbl_id = $this->insertIntoWinningSatsSuggestionVotedUserCredits($sentence_id,$winning_suggestion_id,$winning_suggestion_voted_user_id,$tmn_per_user);
						
						//add entry into the tmn transactions & update translator tmn balance				
						$this->insertIntoTranslatorTmnTransactionsCreditEntryForSats( $winning_suggestion_voted_user_id, "Work Experience Assessment Voted on Winning Suggestion", $winning_sats_voted_on_suggestion_tbl_id, "winning_sats_suggestion_voting_credits", $tmn_per_user );
					}
					
				}
			
			}
			
		}	
		
		//get self assessment test sentences language id by sentence id
		public function getSatsLanguageIdBySentenceId( $sentence_id ) {
			$sql_get_sats_language_id = "SELECT language_id FROM `self_assessment_test_sentences` WHERE id = " . $sentence_id;
			$result_get_sats_language_id = $this->con->query( $sql_get_sats_language_id );
			while ($row_sats_language_id = $result_get_sats_language_id->fetch_object()) {
				$sats_language_id = $row_sats_language_id->language_id;
			}
			return $sats_language_id;
		}
		
		//get Translator tmn balance from translator tmn transactions by user id for work experience assessment 
		public function getTranslatorTmnBalanceForSats( $user_id ) {
			$tmn_balance = 0;
			$sql_tmn_balance = "SELECT tmn_balance FROM translator_tmn_transactions WHERE user_id = " . $user_id . " ORDER BY id DESC LIMIT 1";
			$result_tmn_balance = $this->con->query( $sql_tmn_balance );				
			if( $result_tmn_balance->num_rows > 0 ) {
				while( $row_tmn_balance = $result_tmn_balance->fetch_object() ) {
					$tmn_balance = $row_tmn_balance->tmn_balance;
				}
			}
			return $tmn_balance;
		}
		
		//tmn credit entry & update balance for work experience assessment
		public function insertIntoTranslatorTmnTransactionsCreditEntryForSats( $user_id, $trans_description, $reference_tableid, $reference_tablename, $winning_tmn_to_credit ) {
			
			$current_tmn_balance = $this->getTranslatorTmnBalanceForSats( $user_id );
			
			$updated_tmn_balance = $current_tmn_balance + $winning_tmn_to_credit;
			
			$sqlInsert = 'INSERT INTO `translator_tmn_transactions`(`user_id`, `trans_description`, `reference_tableid`, `reference_tablename`, `tmn_credit`, `tmn_balance`) VALUES '
					. '(' . $user_id . ', "' . $trans_description  . '",' . $reference_tableid . ', "' . $reference_tablename  . '", ' . $winning_tmn_to_credit . ',' . $updated_tmn_balance . ' )';
					$resultInsert = $this->con->query($sqlInsert);
					
		}
		
	}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit