Categories
Git Linux Server PHP

Basic Git commands and use of these commands

Once you have installed git on your local computer then you have to go to the folder where git is installed.
To go to the folder you can write the following
pwd
cd c:/xampp/htdocs/
git branch

If you are using Git Public Repository then you must be aware about the following basic commands of Git.
Here is a small list of basic Git commands.

git push origin :BN – remove/delete branch from git server/repository

git stash – if there are conflicts and you want to avoid those conflicts

(git add filename) in which u resolved conflict then (git commit -a -m “resolved conflict while making design changes by nilesh”) then git push origin Dev and see your changes

git merge commit_id (to commit the changes in the branch that you are in now)

git reset – -hard (Reset current HEAD to the specified state)

git reset – -hard origin/master (if you are in master branch and git pull showing some conflicts then you can use this command to reset the master)

git branch -D BN – to delete a branch (you must be in other branch(i.e master or IndexFlowVaseem) to delete this branch)

git fetch origin BN:BN – to pull branch data from git

pwd – to see current working directory

git branch MyNewBranch – to create a new branch

git checkout master – to work in master branch or to switch master branch

git pull origin branchname – to get the github.com data on your local computer or git pull origin Dev

git pull origin Dev – a new branch named as Dev will be created with the code from git

git status – to see the changes in your branch and in github.com branch

git commit filepath_name1 filepath_name2 -m “your comment” – to commit the changes you have made

git push origin MyBranch – to upload your data to git branch

git add filename1 filename2 – to add new files in git

git log – to see the commit in the current branch

rm filename1 filename2 – to delete files

The most commonly used git commands are:
add–Add file contents to the index
bisect–Find by binary search the change that introduced a bug
branch–List, create, or delete branches
checkout–Checkout a branch or paths to the working tree
clone–Clone a repository into a new directory
commit–Record changes to the repository
diff–Show changes between commits, commit and working tree, etc
grep–Print lines matching a pattern
init–Create an empty git repository or reinitialize an existing one
log–Show commit logs
merge–Join two or more development histories together
mv–Move or rename a file, a directory, or a symlink
pull–Fetch from and merge with another repository or a local branch
push–Update remote refs along with associated objects
rebase–Forward-port local commits to the updated upstream head
rm–Remove files from the working tree and from the index
show–Show various types of objects
tag–Create, list, delete or verify a tag object signed with GPG

Categories
C Language Linux Server

How to see output of C program in Linux or UNIX

As like most of the programmer i am new to Linux and i read c programming in college days. At college we used Turbo C compiler under DOS/Windows XP to write and compile C programs.
But in Linux we don’t have that compiler. So today i will tell you simple steps to generate the output of c program in Linux.
First create a simple c program called test.c.

In Linux there is a command gcc (GNU project C and C++ compiler) to compile a program. When you compile a program it generates an executable file called a.out.

Syntax
gcc -o output-file program.c
The above code will create a compile file of the c program.
Suppose your program name is mytest.c
then the command will be
gcc -o mycompilefile mytest.c

Now if you want to to compile the file on linux server then type the command:
gcc mytest.c

If you want to Execute the c program to see the output of tht c program mytest.c
./mycompilefile

Categories
C Language CITI Bank Payment Gateway Linux Server Payment Gateway Integration PHP

How to Integrate CITI Bank Emi Payment Gateway in Linux Server

Today i am writing another simple steps to integrate the CITI Bank PG for advanced PHP Programmer.
The following steps will only work on Linux server as the linux server already have shell scripting enabled. I did not tried the below process on Windows.
I suggest you to first read the docs files sent by Citi Bank team. Although they are having a less technical guys sitting in there team and they can’t provide the program written in PHP not in other languages. They have a simple C program and nothing else. Don’t waste your time in calling them again and again and the output will be negative.

Step 1. Create a folder named citibank (name can be different as per your choice) on your Linux server. The location would be like this “/var/www/html/citibank”
Step 2. Copy the checksum.so.1 and prog.c or santest.c C program file provided by Citi Bank PG Support team in the folder.
Step 3. Then create a PHP program generate_checksum.php
<?php
shell_exec(‘gcc -rdynamic -o prog3 prog3.c -ldl’); // this shell command will create a prog3 compile file that will help to generate the checksum
?>
The above program will create the prog3 executable compile file on your server.
(* As the file will be created in the same citibank directory so the directory must have 0777 read write permission.)
If the executable compile file is not creating then there must be some problem and you can not proceed further without this file. Contact the Network Guy in your team or read the error log to resolve the issue.

Note: If you want to know that shell scripting is enabled on your Linux server is not then run the following php code.
<?php $output = shell_exec(‘ls -lart’); ?>
If the PHP Program shows some output then the shell scripting is enabled on your server.
If not then refer the log file at location “/var/log/httpd/error_log” (As i am using the Apache Server)

Step 4. If everything written above is working in a correct way then you may proceed further with the following PHP program.
Simple create a file form.php on your server and run the program.
<?php
function getChecksum($string ,$key)
{
$checksum_output = shell_exec(“./prog3 $string $key”);
$checksum_output = explode(‘=’,$checksum_output,2);
$checksum = $checksum_output[1];
$generatedChecksum = trim($checksum);
return $generatedChecksum;
}
$checksum = getChecksum(‘CITI’, ‘9310341016vasim’); // 4 digit and 12 digit
$return_url =’http://www.YourWebsite.com/anyreturnfile.php’;
$d_m_y_his = gmdate(‘dmYhis’); // 182652
$merchant_code = ‘44350912’;
$order_no = ‘20811332’; // 20662730
$trace_no = ‘662730’; // 662730
$amount = ‘200.0’;
?>
<FORM name=”frm” action=”https://www.test.citibank.co.in/servlets/TransReq?” method=”post” >
<INPUT type=”text” size=”200″ NAME=”MalltoCiti” VALUE=”0100|<?php echo $return_url; ?>|1|<?php echo $checksum; ?>|<?php echo $d_m_y_his; ?>|<?php echo $merchant_code; ?>|<?php echo $order_no; ?>|<?php echo $trace_no; ?>|<?php echo $amount; ?>|”>
<input type=”submit” NAME=”Submit” value=”Pay Now”>
</form>

The C Program that will be used by above php program is

#include
#include
#include
#include

int main(int argc, char *argv[] )
{
void *handle;
char temp1[strlen(argv[1])+1];
char temp2[strlen(argv[2])+1];
strncpy(temp1,argv[1],strlen(argv[1]));
temp1[strlen(argv[1])+1] = ‘\0’;
strncpy(temp2,argv[2],strlen(argv[2]));
temp2[strlen(argv[2])+1] = ‘\0’;

char *str;

char* (*func)(char*,char*);
handle=dlopen(“/var/www/html/non-deploy/checksum.so.1″,RTLD_LAZY);
func=(char* (*)(char*,char*))dlsym(handle,”Transpo”) ;
str=(char*)malloc(sizeof(char) * 20);
str=(char *)((*func)(temp1,temp2));
printf(“STR = %s \n”, str);
}

According to me everything will work fine and the Citibank url https://www.test.citibank.co.in/servlets/TransReq? will open successfully.
If there is something that you did not understand then you can Conact me.
Cheers and have fun!