function listitems() { global $APPNAME, $ebayusername, $SiteId; $active_user = 8; $f_endpoint = 'http://svcs.ebay.com/services/search/FindingService/v1'; // Finding $responseEncoding = 'XML'; // Format of the response $s_version = '667'; // Shopping API version number $f_version = '1.4.0'; // Finding API version number $appID = $APPNAME; //replace this with your AppID $debug = true; $sitearray = array(0 => 'EBAY-US', 2 => 'EBAY-ENCA', 3 => 'EBAY-GB', 15 => 'EBAY-AU', 77 => 'EBAY-DE'); $globalID = $sitearray[$SiteId]; $sellerID = $ebayusername; // cleanse input $apicall = "{$f_endpoint}?OPERATION-NAME=findItemsAdvanced" . "&version={$f_version}" . "&GLOBAL-ID={$globalID}" . "&SECURITY-APPNAME={$appID}" . "&RESPONSE-DATA-FORMAT={$responseEncoding}" . "&itemFilter(0).name=Seller" . "&itemFilter(0).value={$sellerID}" . "&paginationInput.entriesPerPage=100" . "&affliate.networkId=9" . "&affliate.trackingId=123456789" . "&affliate.customId=456"; $resp = simplexml_load_file($apicall); if ($resp->ack == "Success") { $nbpages = ceil($resp->paginationOutput->totalEntries / 100); } else { $nbpages = 1; } //$sql="DELETE FROM user_products where ItemID>0 and UserID = $active_user"; // mysql_query($sql); //echo $nbpages;die; /*touch($cron_file); chmod($cron_file, 0777); */ for ($page = 1; $page <= $nbpages; $page++) { $my_sellings_activelist = get_my_ebay_selling_ActiveList($page); $xml = simplexml_load_string($my_sellings_activelist); $active_data = $xml->ActiveList->ItemArray->Item; $count_array = count($active_data); $minute = 0; $hour = 0; foreach ($active_data as $item) { $item_id = $item->ItemID; $item_url = $item->ListingDetails->ViewItemURL; $ebay_price = $item->BuyItNowPrice; $quantity = $item->QuantityAvailable; $title = $item->Title; $sku = $item->SKU; $sku = str_replace(' ', '', $sku); $image_url = $item->PictureDetails->GalleryURL; $pattern = '/^AMZ/'; $posamaz = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); $pattern = '/^WM/'; $poswm = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); $pattern = '/^OS/'; $posos = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); $pattern = '/^AL/'; $posal = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); $pattern = '/^HN/'; $poshe = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); $pattern = '/^WF/'; $poswa = preg_match($pattern, $sku, $matches, PREG_OFFSET_CAPTURE); if ($posamaz > 0) { $asin = str_replace('AMZ', '', $sku); } elseif ($poswm > 0) { $asin = str_replace('WM', '', $sku); } elseif ($posos > 0) { $asin = str_replace('OS', '', $sku); } elseif ($posal > 0) { $asin = str_replace('AL', '', $sku); } elseif ($poshe > 0) { $asin = str_replace('HN', '', $sku); } elseif ($poswa > 0) { $asin = str_replace('WF', '', $sku); } else { $asin = $sku; } if (!empty($asin)) { $sql = "SELECT * FROM ebay_asin WHERE asins='{$asin}'"; $rs = mysql_query($sql); if (!mysql_num_rows($rs)) { $insert = "INSERT INTO ebay_asin SET UserID={$active_user},asins='{$asin}',item_id={$item_id},ebay_title='{$title}',ebay_price= {$ebay_price},quantity={$quantity},max_quantity={$quantity},in_ebay=1,in_amazon=1"; mysql_query($insert); } $sql = "SELECT * FROM user_products WHERE SKU='{$sku}'"; $rs = mysql_query($sql); if (!mysql_num_rows($rs)) { $insert = "INSERT INTO user_products SET UserID={$active_user},ItemID={$item_id},Qty={$quantity},Price={$ebay_price},Title='{$title}',SKU='{$sku}',Image='{$image_url}',ItemUrl='{$item_url}',MaxQty={$quantity}"; mysql_query($insert); $hour1 = $hour; if ($hour1 > 23) { $hour1 = $hour1 - 24; } $hour2 = $hour1 + 4; if ($hour2 > 23) { $hour2 = $hour2 - 24; } $hour3 = $hour2 + 4; if ($hour3 > 23) { $hour3 = $hour3 - 24; } $hour4 = $hour3 + 4; if ($hour4 > 23) { $hour4 = $hour4 - 24; } $hour5 = $hour4 + 4; if ($hour5 > 23) { $hour5 = $hour5 - 24; } $hour6 = $hour5 + 4; if ($hour6 > 23) { $hour6 = $hour6 - 24; } $command = $minute . ' ' . $hour1 . ',' . $hour2 . ',' . $hour3 . ',' . $hour4 . ',' . $hour5 . ',' . $hour6 . ' * * * wget http://dropshippingpower.com/ezonsync/cron_price_qty.php?itemid=' . $item_id; append_cronjob($command); $minute += 10; if ($minute > 60) { $minute = 0; } $hour += 1; if ($hour > 23) { $hour = 0; } } } } } }
function startInstall() { $dbhost = trim($_REQUEST['dbhost']); $dbuser = trim($_REQUEST['dbuser']); $dbpass = trim($_REQUEST['dbpass']); $dbname = isset($_REQUEST['dbname']) ? trim($_REQUEST['dbname']) : ''; $dbport = trim($_REQUEST['dbport']); $url = trim($_REQUEST['url']); $path = trim($_REQUEST['path']); $username = trim($_REQUEST['username']); $email = trim($_REQUEST['email']); $password = trim($_REQUEST['password']); $secretKey = String::randAlpha(20); // echo $path; // die(); // define("ENCRYPT_SECRET_KEY", $secretKey); if (!preg_match('/^http/i', $url)) { $url = 'http://' . $url; } if (!preg_match('/^http.*?\\/$/i', $url)) { $url = $url . '/'; } $conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport); if (isset($conn->connect_error[5])) { echo json_encode(array('error' => 'yes')); die; } if (!isset($dbname[1])) { $dbname = 'noblessecms_db' . String::randText(5); $conn->query("CREATE DATABASE {$dbname} CHARACTER SET utf8 COLLATE utf8_general_ci;"); $conn->query("GRANT ALL ON {$dbname}.* TO '{$dbuser}'@localhost IDENTIFIED BY '{$dbpass}';"); $conn->query("FLUSH PRIVILEGES;"); if (isset($conn->connect_error[5])) { echo json_encode(array('error' => 'yes', 'message' => 'Can not connect to database')); die; } $conn->select_db($dbname); } $rootPath = dirname(dirname(__FILE__)) . '/'; if (!file_exists($rootPath . '.htaccess')) { copy($rootPath . 'install/htaccess.txt', $rootPath . '.htaccess'); } // Check & create htaccess $requestUri = $_SERVER['REQUEST_URI']; $pathSelf = $_SERVER['PHP_SELF']; if (isset($requestUri[12])) { // $requestUri=dirname($requestUri).'/'; $pathSelf = dirname(dirname($pathSelf)) . '/'; $getData = file_get_contents($rootPath . '.htaccess'); $getData = preg_replace('/RewriteBase.*/i', 'RewriteBase ' . $pathSelf, $getData); $fp = fopen($rootPath . '.htaccess', 'w'); fwrite($fp, $getData); fclose($fp); } $getData = file_get_contents($rootPath . '.htaccess'); $getData = str_replace('RewriteBase \\/', 'RewriteBase /', $getData); $fp = fopen($rootPath . '.htaccess', 'w'); fwrite($fp, $getData); fclose($fp); $loadData = file_get_contents($rootPath . 'config.php'); $tmpPath = str_replace('\\', '/', $path); $replace = array('/"dbhost" \\=\\> ".*?"/i' => '"dbhost" => "' . $dbhost . '"', '/"dbuser" \\=\\> ".*?"/i' => '"dbuser" => "' . $dbuser . '"', '/"dbpassword" \\=\\> ""/i' => '"dbpassword" => "' . $dbpass . '"', '/"dbname" \\=\\> ".*?"/i' => '"dbname" => "' . $dbname . '"', '/"dbport" \\=\\> ".*?"/i' => '"dbport" => "' . $dbport . '"', '/root_path = \'.*?\';/i' => 'root_path = \'' . $tmpPath . '\';', '/root_url = \'.*?\';/i' => 'root_url = \'' . $url . '\';', '/"ENCRYPT_SECRET_KEY", ".*?"/i' => '"ENCRYPT_SECRET_KEY", "' . $secretKey . '"'); $loadData = preg_replace(array_keys($replace), array_values($replace), $loadData); $fp = fopen($rootPath . 'config.php', 'w'); fwrite($fp, $loadData); fclose($fp); $importStatus = ''; try { import($conn, 'db.sql'); } catch (Exception $e) { $importStatus = $e->getMessage(); } if (isset($importStatus[2])) { echo json_encode(array('error' => 'yes', 'message' => $importStatus)); die; } $ip = $_SERVER['REMOTE_ADDR']; $date_added = date('Y-m-d H:i:s'); $md5Pass = String::encrypt($password, $secretKey); $query = $conn->query("insert into users(groupid,firstname,lastname,username,email,password,ip,date_added) values('1','Admin','System','{$username}','{$email}','{$md5Pass}','{$ip}','{$date_added}')"); if (isset($conn->error[5])) { echo json_encode(array('error' => 'yes', 'message' => $conn->error)); die; } $query = $conn->query("select * from users"); $rowData = $query->fetch_assoc(); $id = $rowData['userid']; $query = $conn->query("insert into address(userid,firstname,lastname) values('{$id}','Admin','System')"); if (isset($conn->error[5])) { echo json_encode(array('error' => 'yes', 'message' => $conn->error)); die; } rename('../install', '../installBackup'); exec('crontab -r', $crontab); append_cronjob('* * * * * curl -s ' . $url . 'api/cronjob/run.php'); $result['username'] = Request::get('username'); $result['password'] = Request::get('password'); $result['siteurl'] = Request::get('url') . 'admincp/'; $result['Urlfontend'] = Request::get('url'); $result['error'] = 'no'; echo json_encode($result); die; }
case 'new': function append_cronjob($command) { if (is_string($command) && !empty($command)) { exec('echo -e "`crontab -l`\\n' . $command . '" | crontab -', $output); } return $output; } $min = is_numeric($_POST['min']) && $_POST['min'] < 60 && $_POST['min'] >= 0 ? $_POST['min'] : die('min vide'); $hour = is_numeric($_POST['hour']) && $_POST['hour'] < 24 && $_POST['hour'] >= 0 ? $_POST['hour'] : die('hour vide'); $day = is_numeric($_POST['day']) && $_POST['day'] < 32 && $_POST['day'] > 0 ? $_POST['day'] : die('day vide'); $month = is_numeric($_POST['month']) && $_POST['month'] < 13 && $_POST['month'] > 0 ? $_POST['month'] : die('month vide'); $id = $cnx->query('SELECT id FROM ' . $row_config_globale['table_archives'] . ' ORDER BY id DESC')->fetch(PDO::FETCH_ASSOC); $msg_id = $id['id'] + 1; $new_task = "{$min} {$hour} {$day} {$month} * " . exec("command -v php") . " " . __DIR__ . "/task.php {$cronID} >/dev/null # JOB : {$cronID} list_id : {$list_id} msg_id : {$msg_id} date : " . date("Y-m-d H:i:s") . "###"; append_cronjob($new_task . PHP_EOL); $cnx->query('INSERT INTO ' . $row_config_globale['table_crontab'] . ' VALUES ("","' . $cronID . '","' . $list_id . '","' . $msg_id . '","' . $min . '","' . $hour . '", "' . $day . '","' . $month . '","scheduled","' . addslashes($new_task) . '", (SELECT textarea FROM ' . $row_config_globale['table_sauvegarde'] . ' WHERE list_id = "' . $list_id . '"), (SELECT subject FROM ' . $row_config_globale['table_sauvegarde'] . ' WHERE list_id = "' . $list_id . '"),"html",CURTIME())'); $cnx->query('DELETE FROM ' . $row_config_globale['table_sauvegarde'] . ' WHERE list_id = "' . $list_id . '"'); $cnx->query('UPDATE ' . $row_config_globale['table_upload'] . ' SET msg_id=' . $msg_id . ' WHERE list_id=' . $list_id . ' AND msg_id=0'); $continue_transaction = true; break; case 'update': $continue_transaction = false; break; case 'delete': $min = isset($_POST['deltask']) && $_POST['deltask'] != '' ? $_POST['deltask'] : die; $detail_crontab = $cnx->query('SELECT job_id,list_id,msg_id,mail_subject,min,hour,day,month,etat