iptvservice

simple invoice manager install nulled hacked by xgh0st

Oct 18th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.10 KB | None | 0 0
  1. <?php
  2. /* * **************************************************
  3. * @author Mian Saleem *
  4. * @package Invoice Manager v3.0 *
  5. * @subpackage install *
  6. * ************************************************** */
  7.  
  8. $installFile = "../SIM3";
  9. $indexFile = "../index.php";
  10. $configFolder = "../app/config";
  11. $configFile = "../app/config/config.php";
  12. $dbFile = "../app/config/database.php";
  13. if (is_file($installFile)) {
  14.  
  15. switch ($_GET['step']) {
  16. default:
  17. ?>
  18. <ul class="steps">
  19. <li class="active pk">Checklist</li>
  20. <li>Verify</li>
  21. <li>Database</li>
  22. <li>Site Config</li>
  23. <li class="last">Done!</li>
  24. </ul>
  25. <h3>Pre-Install Checklist</h3>
  26. <?php
  27. $error = FALSE;
  28. if (!is_writeable($indexFile)) {
  29. $error = TRUE;
  30. echo "<div class='alert alert-error'><i class='icon-remove'></i> Index Filer (index.php) is not writeable!</div>";
  31. }
  32. if (!is_writeable($configFolder)) {
  33. $error = TRUE;
  34. echo "<div class='alert alert-error'><i class='icon-remove'></i> Config Folder (app/config/) is not writeable!</div>";
  35. }
  36. if (!is_writeable($configFile)) {
  37. $error = TRUE;
  38. echo "<div class='alert alert-error'><i class='icon-remove'></i> Config File (app/config/config.php) is not writeable!</div>";
  39. }
  40. if (!is_writeable($dbFile)) {
  41. $error = TRUE;
  42. echo "<div class='alert alert-error'><i class='icon-remove'></i> Database File (app/config/database.php) is not writeable!</div>";
  43. }
  44. if (phpversion() < "5.3") {
  45. $error = TRUE;
  46. echo "<div class='alert alert-error'><i class='icon-remove'></i> Your PHP version is " . phpversion() . "! PHP 5.3 or higher required!</div>";
  47. } else {
  48. echo "<div class='alert alert-success'><i class='icon-ok'></i> You are running PHP " . phpversion() . "</div>";
  49. }
  50. if (!extension_loaded('mcrypt')) {
  51. $error = TRUE;
  52. echo "<div class='alert alert-error'><i class='icon-remove'></i> Mcrypt PHP exention missing!</div>";
  53. } else {
  54. echo "<div class='alert alert-success'><i class='icon-ok'></i> Mcrypt PHP exention loaded!</div>";
  55. }
  56. if (!extension_loaded(' mysqlii')) {
  57. $error = TRUE;
  58. echo "<div class='alert alert-error'><i class='icon-remove'></i> mysqlii PHP exention missing!</div>";
  59. } else {
  60. echo "<div class='alert alert-success'><i class='icon-ok'></i> mysqlii PHP exention loaded!</div>";
  61. }
  62. if (!extension_loaded('mbstring')) {
  63. $error = TRUE;
  64. echo "<div class='alert alert-error'><i class='icon-remove'></i> MBString PHP exention missing!</div>";
  65. } else {
  66. echo "<div class='alert alert-success'><i class='icon-ok'></i> MBString PHP exention loaded!</div>";
  67. }
  68. if (!extension_loaded('curl')) {
  69. $error = TRUE;
  70. echo "<div class='alert alert-error'><i class='icon-remove'></i> CURL PHP exention missing!</div>";
  71. } else {
  72. echo "<div class='alert alert-success'><i class='icon-ok'></i> CURL PHP exention loaded!</div>";
  73. }
  74. ?>
  75. <div class="bottom">
  76. <?php if ($error) { ?>
  77. <a href="#" class="btn btn-primary disabled">Next Step</a>
  78. <?php } else { ?>
  79. <a href="index.php?step=0" class="btn btn-primary">Next Step</a>
  80. <?php } ?>
  81. </div>
  82.  
  83. <?php
  84. break;
  85. case "0":
  86. ?>
  87. <ul class="steps">
  88. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  89. <li class="active">Verify</li>
  90. <li>Database</li>
  91. <li>Site Config</li>
  92. <li class="last">Done!</li>
  93. </ul>
  94. <h3>Varify your purchase</h3>
  95. <?php
  96. if ($_POST) {
  97. $code = $_POST["code"];
  98. $username = $_POST["username"];
  99. $curl_handle = curl_init();
  100. curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/license/');
  101. curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
  102. curl_setopt($curl_handle, CURLOPT_POST, 1);
  103. $referer = "http://" . $_SERVER["SERVER_NAME"] . substr($_SERVER["REQUEST_URI"], 0, -24);
  104. $path = substr(realpath(dirname(__FILE__)), 0, -8);
  105. curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(
  106. 'username' => $_POST["username"],
  107. //'email' => $_POST["email"],
  108. 'code' => $_POST["code"],
  109. 'id' => '4259689',
  110. 'ip' => $_SERVER['REMOTE_ADDR'],
  111. 'referer' => $referer,
  112. 'path' => $path
  113. ));
  114.  
  115. $buffer = curl_exec($curl_handle);
  116. curl_close($curl_handle);
  117.  
  118. $object = json_decode($buffer);
  119.  
  120. if (true) {//$object->status == 'success'
  121. ?>
  122. <form action="index.php?step=1" method="POST" class="form-horizontal">
  123.  
  124. <div class="alert alert-success"><i class='icon-ok'></i> <strong><?php echo ucfirst($object->status); ?></strong>:<br /><?php echo $object->message; ?></div>
  125. <input id="code" type="hidden" name="code" value="<?php echo $code; ?>" />
  126. <input id="username" type="hidden" name="username" value="<?php echo $username; ?>" />
  127. <div class="bottom">
  128. <input type="submit" class="btn btn-primary" value="Next Step"/>
  129. </div>
  130. </form>
  131. <?php } else {
  132. ?>
  133. <div class="alert alert-error"><i class='icon-remove'></i> <strong><?php echo ucfirst($object->status); ?></strong>:<br /> <?php echo $object->message; ?></div>
  134. <form action="index.php?step=0" method="POST" class="form-horizontal">
  135. <div class="control-group">
  136. <label class="control-label" for="username">Envato Username</label>
  137. <div class="controls">
  138. <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" />
  139. </div>
  140. </div>
  141. <!--<div class="control-group">
  142. <label class="control-label" for="email">Support Email</label>
  143. <div class="controls">
  144. <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" />
  145. </div>
  146. </div>-->
  147. <div class="control-group">
  148. <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label>
  149. <div class="controls">
  150. <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" />
  151. </div>
  152. </div>
  153. <div class="bottom">
  154. <input type="submit" class="btn btn-primary" value="Check"/>
  155. </div>
  156. </form>
  157. <?php
  158. }
  159. } else {
  160. ?>
  161. <p>Please enter the required informarmation to register free support account and varify your purchase. </p><br>
  162. <form action="index.php?step=0" method="POST" class="form-horizontal">
  163. <div class="control-group">
  164. <label class="control-label" for="username">Envato Username</label>
  165. <div class="controls">
  166. <input id="username" type="text" name="username" class="input-large" required data-error="Username is required" placeholder="Envato Username" />
  167. </div>
  168. </div>
  169. <!--<div class="control-group">
  170. <label class="control-label" for="email">Support Email</label>
  171. <div class="controls">
  172. <input id="email" type="text" name="email" class="input-large" required data-error="Email is required" placeholder="Support Email" />
  173. </div>
  174. </div>-->
  175. <div class="control-group">
  176. <label class="control-label" for="code">Purchase Code <a href="#myModal" role="button" data-toggle="modal"><i class="icon-question-sign"></i></a></label>
  177. <div class="controls">
  178. <input id="code" type="text" name="code" class="input-large" required data-error="Purchase Code is required" placeholder="Purchase Code" />
  179. </div>
  180. </div>
  181.  
  182. <div class="bottom">
  183. <input type="submit" class="btn btn-primary" value="Validate"/>
  184. </div>
  185. </form>
  186. <?php
  187. }
  188. break;
  189. case "1":
  190. ?>
  191. <ul class="steps">
  192. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  193. <li class="ok"><i class="icon icon-ok"></i>Verify</li>
  194. <li class="active">Database</li>
  195. <li>Site Config</li>
  196. <li class="last">Done!</li>
  197. </ul>
  198. <?php if ($_POST) { ?>
  199. <h3>Database Config</h3>
  200. <p>If the database does not exist the system will try to create it.</p>
  201. <form action="index.php?step=2" method="POST" class="form-horizontal">
  202. <div class="control-group">
  203. <label class="control-label" for="dbhost">Database Host</label>
  204. <div class="controls">
  205. <input id="dbhost" type="text" name="dbhost" class="input-large" required data-error="DB Host is required" placeholder="DB Host" value="localhost" />
  206. </div>
  207. </div>
  208. <div class="control-group">
  209. <label class="control-label" for="dbusername">Database Username</label>
  210. <div class="controls">
  211. <input id="dbusername" type="text" name="dbusername" class="input-large" required data-error="DB Username is required" placeholder="DB Username" />
  212. </div>
  213. </div>
  214. <div class="control-group">
  215. <label class="control-label" for="dbpassword">Database Password</a></label>
  216. <div class="controls">
  217. <input id="dbpassword" type="password" name="dbpassword" class="input-large" required data-error="DB Password is required" placeholder="DB Password" />
  218. </div>
  219. </div>
  220. <div class="control-group">
  221. <label class="control-label" for="dbname">Database Name</label>
  222. <div class="controls">
  223. <input id="dbname" type="text" name="dbname" class="input-large" required data-error="DB Name is required" placeholder="DB Name" />
  224. </div>
  225. </div>
  226.  
  227. <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  228. <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  229. <div class="bottom">
  230. <input type="submit" class="btn btn-primary" value="Next Step"/>
  231. </div>
  232. </form>
  233. <?php
  234. }
  235. break;
  236. case "2":
  237. ?>
  238. <ul class="steps">
  239. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  240. <li class="ok"><i class="icon icon-ok"></i>Verify</li>
  241. <li class="active">Database</li>
  242. <li>Site Config</li>
  243. <li class="last">Done!</li>
  244. </ul>
  245. <h3>Saving database config</h3>
  246. <?php
  247. if ($_POST) {
  248. $dbhost = $_POST["dbhost"];
  249. $dbusername = $_POST["dbusername"];
  250. $dbpassword = $_POST["dbpassword"];
  251. $dbname = $_POST["dbname"];
  252. $code = $_POST["code"];
  253. $username = $_POST["username"];
  254.  
  255. $link = @ mysqli_connect($dbhost, $dbusername, $dbpassword);
  256. if (!$link) {
  257. echo "<div class='alert alert-error'><i class='icon-remove'></i> Could not connect to mysqli!</div>";
  258. } else {
  259. echo '<div class="alert alert-success"><i class="icon-ok"></i> Connection to mysqli successful!</div>';
  260.  
  261. $db_selected = @ mysqli_select_db($dbname, $link);
  262. if (!$db_selected) {
  263. if (! mysqli_query($link, "CREATE DATABASE IF NOT EXISTS `$dbname` /*!40100 CHARACTER SET utf8 COLLATE 'utf8_general_ci' */")) {
  264. echo "<div class='alert alert-error'><i class='icon-remove'></i> Database " . $dbname . " does not exist and could not be created. Please create the Database manually and retry this step.</div>";
  265.  
  266. return FALSE;
  267. } else {
  268. echo "<div class='alert alert-success'><i class='icon-ok'></i> Database " . $dbname . " created</div>";
  269. }
  270. }
  271. mysqli_select_db($link,$dbname);
  272.  
  273. require_once('includes/core_class.php');
  274. $core = new Core();
  275. $dbdata = array(
  276. 'hostname' => $dbhost,
  277. 'username' => $dbusername,
  278. 'password' => $dbpassword,
  279. 'database' => $dbname
  280. );
  281.  
  282. if ($core->write_database($dbdata) == false) {
  283. echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write database details to " . $dbFile . "</div>";
  284. } else {
  285. echo "<div class='alert alert-success'><i class='icon-ok'></i> Database config written to the database file.</div>";
  286. }
  287. }
  288. } else {
  289. echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>";
  290. }
  291. ?>
  292. <div class="bottom">
  293. <form action="index.php?step=1" method="POST" class="form-horizontal">
  294. <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  295. <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  296. <input type="submit" class="btn pull-left" value="Previous Step"/>
  297. </form>
  298. <form action="index.php?step=3" method="POST" class="form-horizontal">
  299. <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  300. <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  301. <input type="submit" class="btn btn-primary pull-right" value="Next Step">
  302. </form>
  303. <br clear="all">
  304. </div>
  305. <?php
  306. break;
  307. case "3":
  308. ?>
  309. <ul class="steps">
  310. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  311. <li class="ok"><i class="icon icon-ok"></i>Verify</li>
  312. <li class="ok"><i class="icon icon-ok"></i>Database</li>
  313. <li class="active">Site Config</li>
  314. <li class="last">Done!</li>
  315. </ul>
  316. <h3>Site Config</h3>
  317. <?php if ($_POST) { ?>
  318. <form action="index.php?step=4" method="POST" class="form-horizontal">
  319. <div class="control-group">
  320. <label class="control-label" for="domain">Base URL</label>
  321. <div class="controls">
  322. <input type="text" id="domain" name="domain" class="xlarge" required data-error="Base URL is required" value="<?php echo "http://" . $_SERVER["SERVER_NAME"] . substr($_SERVER["REQUEST_URI"], 0, -24); ?>" />
  323. </div>
  324. </div>
  325. <div class="control-group">
  326. <label class="control-label" for="domain">SECRET KEY</label>
  327. <div class="controls">
  328. <?php $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; ?>
  329. <input type="text" id="enckey" name="enckey" class="xlarge" required data-error="SECRET KEY is required" value="<?php echo substr(str_shuffle($characters), 25); ?>" />
  330. </div>
  331. </div>
  332. <div class="control-group">
  333. <label class="control-label" for="domain">Your Timezone</label>
  334. <div class="controls">
  335. <?php
  336. require_once('includes/timezones_class.php');
  337. $tz = new Timezones();
  338. $timezones = $tz->get_timezones();
  339. echo '<select name="timezone" required="required" data-error="TimeZone is required">';
  340. foreach ($timezones as $key => $zone) {
  341. echo '<option value="' . $key . '">' . $zone . '</option>';
  342. }
  343. echo '</select>';
  344. ?>
  345. </div>
  346. </div>
  347. <input type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  348. <input type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  349. <div class="bottom">
  350. <a href="index.php?step=2" class="btn pull-left">Previous Step</a>
  351. <input type="submit" class="btn btn-primary" value="Next Step"/>
  352. </div>
  353. </form>
  354.  
  355. <?php
  356. }
  357. break;
  358. case "4":
  359. ?>
  360. <ul class="steps">
  361. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  362. <li class="ok"><i class="icon icon-ok"></i>Verify</li>
  363. <li class="ok">Database</li>
  364. <li class="active">Site Config</li>
  365. <li class="last">Done!</li>
  366. </ul>
  367. <h3>Saving site config</h3>
  368. <?php
  369. if ($_POST) {
  370. $domain = $_POST['domain'];
  371. $enckey = $_POST['enckey'];
  372. $timezone = $_POST['timezone'];
  373. $code = $_POST["code"];
  374. $username = $_POST["username"];
  375.  
  376. require_once('includes/core_class.php');
  377. $core = new Core();
  378.  
  379. if ($core->write_config($domain, $enckey) == false) {
  380. echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write config details to " . $configFile . "</div>";
  381. } elseif ($core->write_index($timezone) == false) {
  382. echo "<div class='alert alert-error'><i class='icon-remove'></i> Failed to write timezone details to " . $indexFile . "</div>";
  383. } else {
  384. echo "<div class='alert alert-success'><i class='icon-ok'></i> Config details written to the config file.</div>";
  385. }
  386. } else {
  387. echo "<div class='alert alert-success'><i class='icon-question-sign'></i> Nothing to do...</div>";
  388. }
  389. ?>
  390. <div class="bottom">
  391. <form action="index.php?step=2" method="POST" class="form-horizontal">
  392. <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  393. <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  394. <input type="submit" class="btn pull-left" value="Previous Step"/>
  395. </form>
  396. <form action="index.php?step=5" method="POST" class="form-horizontal">
  397. <input id="code" type="hidden" name="code" value="<?php echo $_POST['code']; ?>" />
  398. <input id="username" type="hidden" name="username" value="<?php echo $_POST['username']; ?>" />
  399. <input type="submit" class="btn btn-primary pull-right" value="Next Step">
  400. </form>
  401. <br clear="all">
  402. </div>
  403.  
  404. <?php
  405. break;
  406. case "5":
  407. ?>
  408. <ul class="steps">
  409. <li class="ok"><i class="icon icon-ok"></i>Checklist</li>
  410. <li class="ok"><i class="icon icon-ok"></i>Verify</li>
  411. <li class="ok"><i class="icon icon-ok"></i>Database</li>
  412. <li class="ok"><i class="icon icon-ok"></i>Site Config</li>
  413. <li class="active">Done!</li>
  414. </ul>
  415.  
  416. <?php
  417. if ($_POST) {
  418. $code = $_POST['code'];
  419. $username = $_POST['username'];
  420. define("BASEPATH", "install/");
  421. include("../app/config/database.php");
  422. $curl_handle = curl_init();
  423. curl_setopt($curl_handle, CURLOPT_URL, 'http://tecdiary.com/api/v1/dbtables/');
  424. curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
  425. curl_setopt($curl_handle, CURLOPT_POST, 1);
  426. curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(
  427. 'username' => $_POST["username"],
  428. 'code' => $_POST["code"],
  429. 'id' => '4259689',
  430. 'version' => '3.3',
  431. 'type' => 'install'
  432. ));
  433. $buffer = curl_exec($curl_handle);
  434. curl_close($curl_handle);
  435. $object = json_decode($buffer);
  436.  
  437. if (true) {//$object->status == 'success'
  438. $dbdata = array(
  439. 'hostname' => $db['default']['hostname'],
  440. 'username' => $db['default']['username'],
  441. 'password' => $db['default']['password'],
  442. 'database' => $db['default']['database'],
  443. 'dbtables' => $object->database
  444. );
  445. require_once('includes/database_class.php');
  446. $database = new Database();
  447. if ($database->create_tables($dbdata, $_POST['username'], $_POST['code']) == false) {
  448. $finished = FALSE;
  449. echo "<div class='alert alert-warning'><i class='icon-warning'></i> The database tables could not be created, please try again.</div>";
  450. } else {
  451. $finished = TRUE;
  452. if (!@unlink('../SIM3')) {
  453. echo "<div class='alert alert-warning'><i class='icon-warning'></i> Please remove the SIM3 file from the main folder in order to lock the installer.</div>";
  454. }
  455. }
  456. } else {
  457. echo "<div class='alert alert-error'><i class='icon-remove'></i> Error while validating your purchase code!</div>";
  458. }
  459. }
  460. if ($finished) {
  461. ?>
  462.  
  463. <h3><i class='icon-ok'></i> Installation completed!</h3>
  464. <div class="alert alert-info"><i class='icon-info-sign'></i> You can login now using the following credential:<br /><br />
  465. Username: <span style="font-weight:bold; letter-spacing:1px;">admin@tecdiary.com</span><br />Password: <span style="font-weight:bold; letter-spacing:1px;">12345678</span><br /><br /></div>
  466. <div class="alert alert-warning"><i class='icon-warning-sign'></i> Please don't forget to change username and password.</div>
  467. <div class="bottom">
  468. <a href="<?php echo "http://" . $_SERVER["SERVER_NAME"] . substr($_SERVER["REQUEST_URI"], 0, -24); ?>" class="btn btn-primary">Go to Login</a>
  469. </div>
  470.  
  471. <?php
  472. }
  473. }
  474. } else {
  475. echo "<div style='width: 100%; font-size: 10em; color: #757575; text-shadow: 0 0 2px #333, 0 0 2px #333, 0 0 2px #333; text-align: center;'><i class='icon-lock'></i></div><h3 class='alert-text text-center'>Installer is locked!<br><small style='color:#666;'>Please contact your developer/support.</small></h3>";
  476. }
  477. ?>
  478.  
  479.  
  480. <!-- Modal -->
  481. <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  482. <div class="modal-header">
  483. <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon-remove"></i></button>
  484. <h3 id="myModalLabel">How to find your purchase code</h3>
  485. </div>
  486. <div class="modal-body">
  487. <img src="img/purchaseCode.png">
  488. </div>
  489. </div>
Add Comment
Please, Sign In to add comment