product = $product; } /** * Generuj token produktu. * @return int INT token wywołania - ID produktu jako generator tokena */ public function getExecuteToken() { // do zablokowania wielokrotnego wywolania dla 1 produktu if ($this->product->getId() > 0) { // product id > 0 dla edycji, dla dodania nie ma go $token = $this->product->getCode(); } else { $token = 0; } return $token; } /** * Metoda sprawdz, czy dane zadanie jest wywołane tylko 1 raz. Np. toda save() - która wywołuj ten kod * wykonywana jest 4x, zabezpieczemnie ogranicza wykonanie kodu do 1 wywołania -> rel: STX-844 * @param int $token * @return bool true - można wykonać zadanie, jest to pierwsze wywyłanie, false - nie można, kolejne wywołanie */ public function allowExecuteToken($token) { global $product_price_history_execute_tokens; if (! is_array($product_price_history_execute_tokens)) $product_price_history_execute_tokens = array(); if (! array_key_exists($token, $product_price_history_execute_tokens)) { return true; } else { return false; } } /** * Zapamiętaj wykonanie zadania z podanym tokenem * @param $token int token ID produktu * @return null */ public function saveExecuteToken($token) { global $product_price_history_execute_tokens; $product_price_history_execute_tokens[$token] = true; return NULL; } }