Your project must not use the dangerous "eval" PHP function

More information: https://insight.symfony.com/what-we-analyse/php.use_php_eval_function

  1. try {
  2. // Utiliser eval() de manière contrôlée
  3. // L'expression a déjà été validée
  4. $code = '$result = ' . $expr . ';';
  5. eval($code);
    eval() is very dangerous because it allows execution of arbitrary PHP code. Avoid using it, especially when including user input.
    Last edited by clicshopping
  6. return $result;
  7. } catch (\Throwable $e) {
  8. throw new \Exception('Evaluation error: ' . $e->getMessage());
  9. }
  • gyakutsuki

    not interesting

Your project should only use iterable types in foreach loops 691

More information: https://insight.symfony.com/what-we-analyse/php.invalid_foreach_iterable

  1. }
  2. }
  3. // Si c'est un résultat analytique avec des agrégations
  4. if (isset($depResult['type']) && $depResult['type'] === 'aggregated_result') {
  5. foreach ($depResult['results'] as $aggResult) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. foreach ($aggResult as $key => $value) {
  7. if (is_numeric($value)) {
  8. $safeKey = preg_replace('/[^a-z0-9_]/i', '_', $key);
  9. $variables[$depId . '_' . $safeKey] = $value;
  10. }
  • gyakutsuki

    not interesting
  1. }
  2. // Si c'est un résultat analytique avec des agrégations
  3. if (isset($depResult['type']) && $depResult['type'] === 'aggregated_result') {
  4. foreach ($depResult['results'] as $aggResult) {
  5. foreach ($aggResult as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (is_numeric($value)) {
  7. $safeKey = preg_replace('/[^a-z0-9_]/i', '_', $key);
  8. $variables[$depId . '_' . $safeKey] = $value;
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. if (is_dir($schemaCacheDir)) {
  2. $files = glob($schemaCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete schema cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory with Rag_SchemaQuery_ prefix)
  • gyakutsuki

    not interesting
  1. if (is_dir($oldCacheDir)) {
  2. $oldFiles = glob($oldCacheDir . 'Rag_SchemaQuery_*.cache');
  3. $filesBefore += count($oldFiles);
  4. // Delete old schema cache files
  5. foreach ($oldFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. if (is_dir($intentCacheDir)) {
  2. $files = glob($intentCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all intent cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory with Rag_Intent_ prefix)
  • gyakutsuki

    not interesting
  1. if (is_dir($oldCacheDir)) {
  2. $oldFiles = glob($oldCacheDir . 'Rag_Intent_*.cache');
  3. $filesBefore += count($oldFiles);
  4. // Delete old intent cache files
  5. foreach ($oldFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. if (is_dir($ambiguityCacheDir)) {
  2. $files = glob($ambiguityCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all ambiguity cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory with Rag_Ambiguity_ prefix)
  • gyakutsuki

    not interesting
  1. if (is_dir($oldCacheDir)) {
  2. $oldFiles = glob($oldCacheDir . 'Rag_Ambiguity_*.cache');
  3. $filesBefore += count($oldFiles);
  4. // Delete old ambiguity cache files
  5. foreach ($oldFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check very old location (ambiguity_optimizer directory)
  • gyakutsuki

    not interesting
  1. if (is_dir($veryOldCacheDir)) {
  2. $veryOldFiles = glob($veryOldCacheDir . '*.cache');
  3. $filesBefore += count($veryOldFiles);
  4. // Delete very old ambiguity cache files
  5. foreach ($veryOldFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. if (is_dir($translationAmbiguityCacheDir)) {
  2. $files = glob($translationAmbiguityCacheDir . 'translation_ambiguity_*.cache');
  3. $filesBefore = count($files);
  4. // Delete translation ambiguity cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory)
  • gyakutsuki

    not interesting
  1. if (is_dir($oldCacheDir)) {
  2. $oldFiles = glob($oldCacheDir . 'translation_ambiguity_*.cache');
  3. $filesBefore += count($oldFiles);
  4. // Delete old translation ambiguity cache files
  5. foreach ($oldFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. if (is_dir($contextCacheDir)) {
  2. $files = glob($contextCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all context cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory with Rag_Context_ or context_ prefix)
  • gyakutsuki

    not interesting
  1. if (is_dir($embeddingCacheDir)) {
  2. $files = glob($embeddingCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all embedding cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old location (root cache directory with Rag_Embedding_ or embedding_ prefix)
  • gyakutsuki

    not interesting
  1. if (is_dir($embeddingSearchCacheDir)) {
  2. $files = glob($embeddingSearchCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all embedding search cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Also check old locations
  • gyakutsuki

    not interesting
  1. if (is_dir($oldEmbeddingSearchDir)) {
  2. $oldDirFiles = glob($oldEmbeddingSearchDir . '*.cache');
  3. $filesBefore += count($oldDirFiles);
  4. // Delete files from old directory
  5. foreach ($oldDirFiles as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. if (is_dir($hybridCacheDir)) {
  2. $files = glob($hybridCacheDir . '*.cache');
  3. $filesBefore = count($files);
  4. // Delete all hybrid cache files
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. @unlink($file);
  7. }
  8. }
  9. // Count files after
  • gyakutsuki

    not interesting
  1. $context = [];
  2. $ragManager = new MultiDBRAGManager();
  3. $results = $ragManager->searchDocuments($query, $limit, 0.7);
  4. if (!empty($results['documents'])) {
  5. foreach ($results['documents'] as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $context[] = [
  7. 'type' => 'embedding',
  8. 'content' => $doc->content ?? '',
  9. 'score' => $doc->metadata['score'] ?? 0,
  10. 'entity_type' => $doc->metadata['entity_type'] ?? 'unknown',
  • gyakutsuki

    not interesting
  1. // 1. Load similar documents from embeddings
  2. $ragManager = new MultiDBRAGManager();
  3. $results = $ragManager->searchDocuments($query, $limit, 0.7);
  4. if (!empty($results['documents'])) {
  5. foreach ($results['documents'] as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $context[] = [
  7. 'type' => 'embedding',
  8. 'content' => $doc->content ?? '',
  9. 'score' => $doc->metadata['score'] ?? 0,
  10. 'entity_type' => $doc->metadata['entity_type'] ?? 'unknown',
  • gyakutsuki

    not interesting
  1. return $a['chunk_index'] <=> $b['chunk_index'];
  2. });
  3. // Reconstruct the full content by concatenating chunks
  4. $fullContent = '';
  5. foreach ($interaction['chunks'] as $chunk) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $fullContent .= $chunk['content'] . "\n";
  7. }
  8. $formatted[] = [
  9. 'user_message' => $metadata['user_message'] ?? 'N/A',
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // Also process workingMemory migrations (for backward compatibility)
  4. $migrations = $this->workingMemory->get('interactions_to_migrate', []);
  5. foreach ($migrations as $record) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $age = $now - $record['stored_at'];
  7. if ($age > self::TTL_SHORT_TERM) {
  8. // Already handled by database query above
  9. $migrated++;
  10. }
  • gyakutsuki

    not interesting
  1. if (!isset($this->scopes[$scopeName])) {
  2. return false;
  3. }
  4. // Delete all data associated with the scope
  5. foreach ($this->scopes[$scopeName] as $scopedKey) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. unset($this->storage[$scopedKey]);
  7. unset($this->metadata[$scopedKey]);
  8. }
  9. unset($this->scopes[$scopeName]);
  • gyakutsuki

    not interesting
  1. return [];
  2. }
  3. // Remove the scope prefix for external use
  4. $keys = [];
  5. foreach ($this->scopes[$scope] as $scopedKey) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $keys[] = $this->unscopeKey($scopedKey);
  7. }
  8. return $keys;
  9. }
  • gyakutsuki

    not interesting
  1. $likeValidation = $this->queryProcessor->validateLikePatterns($resolvedQuery);
  2. if (!empty($likeValidation['warnings'])) {
  3. $this->debugLog("LIKE pattern warnings: " . count($likeValidation['warnings']), "VALIDATION");
  4. // Log warnings using security logger
  5. foreach ($likeValidation['warnings'] as $warning) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $this->securityLogger->logSecurityEvent(
  7. "LIKE pattern validation warning: " . $warning,
  8. 'warning',
  9. [
  10. 'sql_snippet' => substr($resolvedQuery, 0, 200),
  • gyakutsuki

    not interesting
  1. $parts[] = "Error Type: " . $errorAnalysis['type'];
  2. $parts[] = "Error Message: " . ($errorContext['error_message'] ?? '');
  3. if (!empty($errorAnalysis['details'])) {
  4. foreach ($errorAnalysis['details'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $parts[] = ucfirst($key) . ": " . $value;
  6. }
  7. }
  8. $parts[] = "Query Fragment: " . substr($errorContext['failed_query'] ?? '', 0, 200);
  • gyakutsuki

    not interesting
  1. if ($decomposition['is_atomic']) {
  2. // Problème simple : raisonnement direct
  3. $solutions[] = $this->reasoningAgent->reason($problem);
  4. } else {
  5. // Problème complexe : résoudre récursivement
  6. foreach ($decomposition['subproblems'] as $subproblem) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. if ($subproblem['is_atomic']) {
  8. $solutions[] = $this->reasoningAgent->reason($subproblem['problem']);
  9. } else {
  10. // Récursion
  11. $subSolutions = $this->deepReason($subproblem['problem']);
  • gyakutsuki

    not interesting
  1. ];
  2. }
  3. // Sinon, décomposer récursivement les sous-problèmes
  4. $subproblems = [];
  5. foreach ($parsed['subproblems'] as $subproblem) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subproblems[] = $this->decompose($subproblem, $depth + 1);
  7. }
  8. return [
  9. 'problem' => $problem,
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. }
  4. // Fill remaining with any available interpretations
  5. foreach ($availableInterpretations as $type) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!in_array($type, $selected)) {
  7. $selected[] = $type;
  8. if (count($selected) >= $count) {
  9. break;
  10. }
  • gyakutsuki

    not interesting
  1. ]);
  2. }
  3. $subQueries = [];
  4. foreach ($temporalPeriods as $index => $period) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. // Build sub-query for this temporal period
  6. $subQueryText = $this->buildTemporalSubQuery($baseMetric, $timeRange, $period);
  7. $subQuery = [
  8. 'query' => $subQueryText,
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // Priority 3: Check plan step results (if plan provided)
  4. if ($plan !== null && is_object($plan) && method_exists($plan, 'getSteps')) {
  5. foreach ($plan->getSteps() as $step) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $stepResult = $plan->getStepResult($step->getId());
  7. if ($stepResult && isset($stepResult['_step_entity_metadata']['entity_type'])) {
  8. return $stepResult['_step_entity_metadata']['entity_type'];
  9. }
  • gyakutsuki

    not interesting
  1. {
  2. if (!is_object($plan) || !method_exists($plan, 'getSteps')) {
  3. return null;
  4. }
  5. foreach ($plan->getSteps() as $step) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $stepResult = $plan->getStepResult($step->getId());
  7. if (!$stepResult) {
  8. continue;
  9. }
  • gyakutsuki

    not interesting
  1. // 2. Execute uncached sub-queries only
  2. $subResults = [];
  3. if (!empty($cachedSubResults)) {
  4. // Start with cached results
  5. foreach ($cachedSubResults as $index => $cachedResult) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subResults[$index] = $cachedResult;
  7. }
  8. }
  9. // Execute uncached sub-queries
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // Execute uncached sub-queries
  4. $newResults = [];
  5. foreach ($uncachedSubQueries as $index => $subQuery) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $result = $this->executeSubQuery($subQuery, $context, $taskPlanner, $planExecutor);
  7. $subResults[$index] = $result;
  8. // TASK 8: Cache the new result (Requirements 9.1, 9.2)
  9. if ($this->hybridCache !== null && $this->hybridCache->isEnabled() && ($result['success'] ?? false)) {
  • gyakutsuki

    not interesting
  1. $priority = 1;
  2. switch ($approach) {
  3. case 'nested':
  4. // Create nested sub-queries: temporal first, then non-temporal within each
  5. foreach ($temporalDimensions as $temporal) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. // First, create temporal-only sub-query
  7. $subQueries[] = [
  8. 'query' => "{$baseMetric} for {$timeRange} by {$temporal}",
  9. 'type' => 'analytics',
  10. 'confidence' => 0.9,
  • gyakutsuki

    not interesting
  1. 'time_range' => $timeRange,
  2. 'aggregation_type' => 'temporal',
  3. ];
  4. // Then, create combined sub-queries for each non-temporal dimension
  5. foreach ($nonTemporalDimensions as $nonTemporal) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subQueries[] = [
  7. 'query' => "{$baseMetric} for {$timeRange} by {$temporal} and by {$nonTemporal}",
  8. 'type' => 'analytics',
  9. 'confidence' => 0.85,
  10. 'priority' => $priority++,
  • gyakutsuki

    not interesting
  1. break;
  2. case 'simplify':
  3. // Too many dimensions - create separate sub-queries and warn user
  4. // Temporal sub-queries
  5. foreach ($temporalDimensions as $temporal) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subQueries[] = [
  7. 'query' => "{$baseMetric} for {$timeRange} by {$temporal}",
  8. 'type' => 'analytics',
  9. 'confidence' => 0.9,
  10. 'priority' => $priority++,
  • gyakutsuki

    not interesting
  1. 'aggregation_type' => 'temporal',
  2. ];
  3. }
  4. // Non-temporal sub-queries
  5. foreach ($nonTemporalDimensions as $nonTemporal) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subQueries[] = [
  7. 'query' => "{$baseMetric} for {$timeRange} by {$nonTemporal}",
  8. 'type' => 'analytics',
  9. 'confidence' => 0.85,
  10. 'priority' => $priority++,
  • gyakutsuki

    not interesting
  1. private function extractUrls(array $resultData, bool $hasResults, bool $hasUrls): array
  2. {
  3. $urls = [];
  4. if ($hasResults) {
  5. foreach ($resultData['results'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (isset($item['url'])) {
  7. $urls[] = $item['url'];
  8. } elseif (isset($item['link'])) {
  9. $urls[] = $item['link'];
  10. }
  • gyakutsuki

    not interesting
  1. $explainSql = "EXPLAIN " . $sql;
  2. $stmt = $this->db->prepare($explainSql);
  3. $stmt->execute();
  4. $explainResult = $stmt->fetchAll(\PDO::FETCH_ASSOC);
  5. foreach ($explainResult as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. // 1. Vérifier le type de scan (more lenient for analytics)
  7. $type = $row['type'] ?? '';
  8. if ($type === 'ALL') {
  9. $warnings[] = "Full table scan detected on table: " . ($row['table'] ?? 'unknown');
  • gyakutsuki

    not interesting
  1. );
  2. $stmt->execute();
  3. $allTables = $stmt->fetchAll(\PDO::FETCH_COLUMN);
  4. $similar = [];
  5. foreach ($allTables as $table) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. similar_text(strtolower($tableName), strtolower($table), $percent);
  7. if ($percent > 60) {
  8. $similar[] = $table;
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. WHERE table_schema = DATABASE() AND table_name = ?"
  2. );
  3. $stmt->execute([$tableName]);
  4. $columns = $stmt->fetchAll(\PDO::FETCH_COLUMN);
  5. foreach ($columns as $col) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. similar_text(strtolower($column), strtolower($col), $percent);
  7. if ($percent > 60) {
  8. $similar[] = "{$tableName}.{$col}";
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. $stepId = $step->getId();
  2. $dependsOn = $this->dependencies[$stepId]['depends_on'] ?? [];
  3. // Vérifier si toutes les dépendances sont complétées
  4. $allDependenciesComplete = true;
  5. foreach ($dependsOn as $depId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $depStep = $this->getStepById($depId);
  7. if (!$depStep || $depStep->getStatus() !== 'completed') {
  8. $allDependenciesComplete = false;
  9. break;
  10. }
  • gyakutsuki

    not interesting
  1. // Format results for display
  2. $items = $searchResult['items'] ?? [];
  3. $formattedResults = [];
  4. foreach ($items as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $formattedResults[] = [
  6. 'title' => $item['title'] ?? '',
  7. 'snippet' => $item['snippet'] ?? '',
  8. 'link' => $item['link'] ?? '',
  9. 'source' => $item['source'] ?? '',
  • gyakutsuki

    not interesting
  1. if (!empty($interpretationResults)) {
  2. // Find the interpretation with the most results
  3. $bestInterpretation = null;
  4. $maxResults = 0;
  5. foreach ($interpretationResults as $key => $interpretation) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $resultCount = count($interpretation['results'] ?? []);
  7. error_log(" Interpretation '{$key}': {$resultCount} results");
  8. error_log(" Has 'interpretation' key: " . (isset($interpretation['interpretation']) ? 'YES' : 'NO'));
  9. if (isset($interpretation['interpretation'])) {
  10. error_log(" Interpretation text: " . substr($interpretation['interpretation'], 0, 100));
  • gyakutsuki

    not interesting
  1. if (empty($documents)) {
  2. return null;
  3. }
  4. // Iterate through documents to find one with entity metadata
  5. foreach ($documents as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $metadata = null;
  7. // Handle both object and array document formats
  8. if (is_object($doc) && isset($doc->metadata)) {
  9. $metadata = $doc->metadata;
  • gyakutsuki

    not interesting
  1. // 🔧 TASK 2.17.2 & 4.4: Only use conversation memory if documents have actual content
  2. // Check if the documents have meaningful content (not just empty "Response: \n")
  3. $hasContent = false;
  4. if ($conversationResult !== null && !empty($conversationResult['documents'])) {
  5. // First, check if any document has actual content in the "Response:" section
  6. foreach ($conversationResult['documents'] as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. $content = '';
  8. if (is_object($doc) && isset($doc->content)) {
  9. $content = $doc->content;
  10. } elseif (is_array($doc) && isset($doc['content'])) {
  11. $content = $doc['content'];
  • gyakutsuki

    not interesting
  1. // If we found useful content, extract and use it directly
  2. if ($hasContent) {
  3. // Extract the response from the first document with useful content
  4. $extractedResponse = '';
  5. foreach ($conversationResult['documents'] as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $content = '';
  7. if (is_object($doc) && isset($doc->content)) {
  8. $content = $doc->content;
  9. } elseif (is_array($doc) && isset($doc['content'])) {
  10. $content = $doc['content'];
  • gyakutsuki

    not interesting
  1. {
  2. $visited[$stepId] = true;
  3. $recursionStack[$stepId] = true;
  4. $dependsOn = $dependencies[$stepId]['depends_on'] ?? [];
  5. foreach ($dependsOn as $depId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!isset($visited[$depId])) {
  7. $this->detectCycles($depId, $dependencies, $visited, $recursionStack, $cycles);
  8. } elseif (isset($recursionStack[$depId]) && $recursionStack[$depId]) {
  9. // Cycle détecté
  10. $cycles[] = [$stepId, $depId];
  • gyakutsuki

    not interesting
  1. {
  2. $visited[$stepId] = true;
  3. $recursionStack[$stepId] = true;
  4. $dependsOn = $dependencies[$stepId]['depends_on'] ?? [];
  5. foreach ($dependsOn as $depId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!isset($visited[$depId])) {
  7. if ($this->hasCycleDFS($depId, $dependencies, $visited, $recursionStack)) {
  8. return true;
  9. }
  10. } elseif (isset($recursionStack[$depId]) && $recursionStack[$depId]) {
  • gyakutsuki

    not interesting
  1. private function validateDependenciesExist(array $steps, array $dependencies): bool
  2. {
  3. $stepIds = array_map(fn($step) => $step->getId(), $steps);
  4. foreach ($dependencies as $stepId => $deps) {
  5. foreach ($deps['depends_on'] as $depId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!in_array($depId, $stepIds)) {
  7. return false;
  8. }
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. // 2. Déléguer la création du plan au SubTaskPlanner
  2. $steps = $selectedPlanner->createPlan($intent, $query);
  3. // 🔧 TASK 4.3.4.3: Log the steps created
  4. error_log("\nSteps created by SubTaskPlanner:");
  5. foreach ($steps as $step) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. error_log(" Step: " . $step->getId());
  7. error_log(" Type: " . $step->getType());
  8. error_log(" Description: " . $step->getDescription());
  9. $subQuery = $step->getMeta('sub_query', null);
  10. error_log(" sub_query metadata: " . ($subQuery ?? 'NULL'));
  • gyakutsuki

    not interesting
  1. ];
  2. }
  3. // Construire le graphe inverse (required_by)
  4. foreach ($dependencies as $stepId => $data) {
  5. foreach ($data['depends_on'] as $dependencyId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (isset($dependencies[$dependencyId])) {
  7. $dependencies[$dependencyId]['required_by'][] = $stepId;
  8. }
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. $temp[$stepId] = true;
  2. // Visiter les dépendances d'abord
  3. $dependsOn = $dependencies[$stepId]['depends_on'] ?? [];
  4. foreach ($dependsOn as $depId) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $depStep = $this->findStepById($allSteps, $depId);
  6. if ($depStep) {
  7. $this->topologicalSort($depStep, $allSteps, $dependencies, $visited, $temp, $sorted);
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. $contextKeywords = [];
  2. $contextEntities = [];
  3. // Analyze short-term context (recent conversation)
  4. if (!empty($context['short_term_context'])) {
  5. foreach ($context['short_term_context'] as $message) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $messageKeywords = $this->extractKeywords($message['content'] ?? '');
  7. $contextKeywords = array_merge($contextKeywords, $messageKeywords);
  8. // Extract mentioned entities (products, categories, etc.)
  9. $entities = $this->extractEntitiesFromMessage($message['content'] ?? '');
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // Analyze long-term context (similar interactions)
  4. if (!empty($context['long_term_context'])) {
  5. foreach ($context['long_term_context'] as $document) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $docContent = $document->content ?? '';
  7. $docKeywords = $this->extractKeywords($docContent);
  8. $contextKeywords = array_merge($contextKeywords, $docKeywords);
  9. $entities = $this->extractEntitiesFromMessage($docContent);
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // 2. Extract information from long-term context (e.g., Previous SQL Query)
  4. if (!empty($context['long_term_context'])) {
  5. foreach ($context['long_term_context'] as $document) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $docContent = $document->content ?? '';
  7. // Use 's' modifier to capture multi-line SQL queries
  8. if (preg_match('/SQL Query:\s*(.+?)(?:\n|$)/is', $docContent, $matches)) {
  9. // Truncate SQL query if it's excessively long
  10. $sql = trim($matches[1]);
  • gyakutsuki

    not interesting
  1. // Clean and split query
  2. $words = preg_split('/\s+/', strtolower(trim($query)));
  3. $keywords = [];
  4. foreach ($words as $word) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. // Clean word (remove punctuation)
  6. $cleanWord = preg_replace('/[^\w\-]/', '', $word);
  7. // Ignore short words or stop words
  8. if (strlen($cleanWord) > 2 && !in_array($cleanWord, $stopWords)) {
  • gyakutsuki

    not interesting
  1. $message = mb_strtolower($message);
  2. $entities = [];
  3. $patterns = self::getPatterns();
  4. foreach ($patterns as $entityType => $keywords) {
  5. foreach ($keywords as $keyword) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. // Escape keyword for regex and match as whole word
  7. $keywordEscaped = preg_quote($keyword, '/');
  8. if (preg_match('/\b' . $keywordEscaped . '\b/i', $message)) {
  9. $entities[] = $entityType;
  10. break; // Stop after first match for this entity type
  • gyakutsuki

    not interesting
  1. if (isset($results['featured_snippet']) && !empty($results['featured_snippet']['answer'])) {
  2. $score += 0.2;
  3. }
  4. $relevantCount = 0;
  5. foreach ($results['items'] ?? [] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (($item['relevance_score'] ?? 0) > 0.7) {
  7. $relevantCount++;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. ],
  2. ];
  3. $organicResults = $rawResults['organic_results'] ?? [];
  4. foreach ($organicResults as $result) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $processed['items'][] = $this->formatItem($result, $query);
  6. }
  7. $featuredSnippet = $this->extractFeaturedSnippet($rawResults);
  8. if ($featuredSnippet) {
  • gyakutsuki

    not interesting
  1. private function extractRelatedQuestions(array $rawResults): array
  2. {
  3. $questions = [];
  4. if (isset($rawResults['related_questions'])) {
  5. foreach ($rawResults['related_questions'] as $rq) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $questions[] = [
  7. 'question' => $this->cleanText($rq['question'] ?? ''),
  8. 'answer' => $this->cleanText($rq['snippet'] ?? ''),
  9. 'source' => $rq['link'] ?? '',
  10. ];
  • gyakutsuki

    not interesting
  1. if (!empty($processedResults['featured_snippet'])) {
  2. $score += 0.2;
  3. }
  4. $relevantCount = 0;
  5. foreach ($processedResults['items'] ?? [] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (($item['relevance_score'] ?? 0) > 0.7) {
  7. $relevantCount++;
  8. }
  9. }
  10. $score += min($relevantCount * 0.1, 0.3);
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. $score += min($relevantCount * 0.1, 0.3);
  4. $domains = [];
  5. foreach ($processedResults['items'] ?? [] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $domains[] = $item['source'];
  7. }
  8. $uniqueDomains = count(array_unique($domains));
  9. if ($uniqueDomains >= 3) {
  10. $score += 0.1;
  • gyakutsuki

    not interesting
  1. $score += 0.2;
  2. }
  3. // Résultats pertinents
  4. $relevantCount = 0;
  5. foreach ($results['items'] ?? [] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (($item['relevance_score'] ?? 0) > 0.7) {
  7. $relevantCount++;
  8. }
  9. }
  10. $score += min($relevantCount * 0.1, 0.3);
  • gyakutsuki

    not interesting
  1. $auditMetadata = $searchResult['audit_metadata'] ?? [];
  2. // Format results
  3. $formattedResults = [];
  4. foreach ($documents as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $formattedResults[] = [
  6. 'content' => $doc->content ?? '',
  7. 'score' => $doc->metadata['score'] ?? 0.0,
  8. 'metadata' => [
  9. 'entity_type' => $doc->metadata['entity_type'] ?? null,
  • gyakutsuki

    not interesting
  1. $prompt .= "Question: {$query}\n\n";
  2. // Add context if available
  3. if (!empty($context['conversation_history'])) {
  4. $prompt .= "Context from previous conversation:\n";
  5. foreach ($context['conversation_history'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (isset($item['role']) && isset($item['content'])) {
  7. $prompt .= "{$item['role']}: {$item['content']}\n";
  8. }
  9. }
  10. $prompt .= "\n";
  • gyakutsuki

    not interesting
  1. }
  2. $response = "Résultats de recherche web :\n\n";
  3. $count = 0;
  4. foreach ($webResults['items'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $count++;
  6. if ($count > 5) break; // Limit to top 5 results
  7. $title = $item['title'] ?? 'Sans titre';
  8. $snippet = $item['snippet'] ?? '';
  • gyakutsuki

    not interesting
  1. {
  2. // Simple decomposition by connectors
  3. $parts = preg_split('/\s+(' . implode('|', self::CONNECTORS) . ')\s+/i', $query);
  4. $sub_queries = [];
  5. foreach ($parts as $index => $part) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $part = trim($part);
  7. if (empty($part)) continue;
  8. $sub_queries[] = [
  9. 'type' => $this->guessQueryType($part, $detection_result),
  • gyakutsuki

    not interesting
  1. {
  2. $query_lower = mb_strtolower($query_part);
  3. // Web search for competitor queries
  4. if (!empty($detection_result['requires_web_search'])) {
  5. foreach (self::HYBRID_PATTERNS['competitor'] as $keyword) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (preg_match('/\b' . preg_quote($keyword, '/') . '\b/i', $query_lower)) {
  7. return 'web_search';
  8. }
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. }
  2. // Check 2: Multiple possible entities without clear context
  3. if (isset($intent['metadata']['entities']) && count($intent['metadata']['entities']) > 1) {
  4. $hasContext = false;
  5. foreach ($intent['metadata']['entities'] as $entity) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (isset($entity['from_context']) && $entity['from_context'] === true) {
  7. $hasContext = true;
  8. break;
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. if ($this->debug) {
  2. error_log("AmbiguousQueryDetector: Generating " . count($interpretations) . " interpretations");
  3. }
  4. // Generate SQL for each interpretation
  5. foreach ($interpretations as $interpretation) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. try {
  7. // Create clarified query based on interpretation
  8. $clarifiedQuery = $this->clarifyQueryForInterpretation($query, $interpretation);
  9. if ($this->debug) {
  • gyakutsuki

    not interesting
  1. // Calculer le score pour chaque domaine
  2. foreach ($this->enrichedDomains as $domain => $termGroups) {
  3. $domainScore = 0;
  4. $matchedTerms = [];
  5. foreach ($termGroups as $groupType => $terms) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $weight = $this->termWeights[$groupType] ?? 0.5;
  7. foreach ($terms as $term) {
  8. if (strpos($query, $term) !== false) {
  9. $domainScore += $weight;
  • gyakutsuki

    not interesting
  1. $matchedTerms = [];
  2. foreach ($termGroups as $groupType => $terms) {
  3. $weight = $this->termWeights[$groupType] ?? 0.5;
  4. foreach ($terms as $term) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. if (strpos($query, $term) !== false) {
  6. $domainScore += $weight;
  7. $matchedTerms[] = [
  8. 'term' => $term,
  9. 'type' => $groupType,
  • gyakutsuki

    not interesting
  1. if (!isset($this->enrichedDomains[$domain])) {
  2. return [];
  3. }
  4. $allTerms = [];
  5. foreach ($this->enrichedDomains[$domain] as $termGroup) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $allTerms = array_merge($allTerms, $termGroup);
  7. }
  8. return array_unique($allTerms);
  9. }
  • gyakutsuki

    not interesting
  1. // Generate rows with temporal labels
  2. $output .= '<tbody>';
  3. foreach ($rows as $row) {
  4. $output .= '<tr>';
  5. foreach ($row as $column => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $formattedValue = $this->formatTemporalCellValue($column, $value, $temporalPeriod, $languageCode);
  7. $output .= '<td>' . $formattedValue . '</td>';
  8. }
  9. $output .= '</tr>';
  10. }
  • gyakutsuki

    not interesting
  1. $output .= $language->getDef('price_comparison_competitors_analyzed') . " {$comparison['total_competitors_found']}\n";
  2. $output .= $language->getDef('price_comparison_average_price') . " \$" . $comparison['comparison']['average_competitor_price'] . "\n\n";
  3. // Display competitor prices
  4. $output .= $language->getDef('price_comparison_competitor_prices') . "\n";
  5. foreach ($comparison['competitor_prices'] as $i => $competitor) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $output .= " " . ($i + 1) . ". {$competitor['source']}: \${$competitor['price']}\n";
  7. }
  8. $output .= "\n";
  9. // Display cheapest and most expensive
  • gyakutsuki

    not interesting
  1. $html .= '<strong>⚠️ ' . $this->language->getDef('text_rag_ambiguous_multiple_interpretations') . '</strong><br>';
  2. $html .= $this->language->getDef('text_rag_ambiguous_explanation');
  3. $html .= '</div>';
  4. // Each interpretation
  5. foreach ($interpretations as $index => $interpretation) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= $this->formatInterpretation($interpretation, $index + 1);
  7. }
  8. // Recommendation
  9. if (isset($results['recommendation'])) {
  • gyakutsuki

    not interesting
  1. // Body
  2. $html .= '<tbody>';
  3. foreach ($results as $row) {
  4. $html .= '<tr>';
  5. foreach ($row as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= '<td>' . htmlspecialchars($value ?? '') . '</td>';
  7. }
  8. $html .= '</tr>';
  9. }
  10. $html .= '</tbody>';
  • gyakutsuki

    not interesting
  1. if (isset($results['source_attribution'])) {
  2. $output .= $this->formatSourceAttribution($results['source_attribution']);
  3. }
  4. // Process each sub-query result
  5. foreach ($multipleResults as $index => $subResult) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $subQueryNum = $index + 1;
  7. $subQuery = $subResult['query'] ?? $this->language->getDef('text_rag_analytics_sub_query') . " {$subQueryNum}";
  8. $output .= "<div class='sub-query-result' style='margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
  9. $output .= "<h5 style='color: #0066cc;'>📊 " . $this->language->getDef('text_rag_analytics_query') . " {$subQueryNum} : " . htmlspecialchars($subQuery) . "</h5>";
  • gyakutsuki

    not interesting
  1. $report = "Complexity Analysis:\n";
  2. $report .= " Level: {$complexity['level']}\n";
  3. $report .= " Score: {$complexity['score']}\n";
  4. $report .= " Factors:\n";
  5. foreach ($complexity['factors'] as $factor) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $report .= " - {$factor}\n";
  7. }
  8. return $report;
  9. }
  • gyakutsuki

    not interesting
  1. // Table body
  2. $output .= "<tbody>";
  3. foreach ($result['rows'] as $row) {
  4. $output .= "<tr>";
  5. foreach ($row as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $output .= "<td>" . htmlspecialchars($value) . "</td>";
  7. }
  8. $output .= "</tr>";
  9. }
  10. $output .= "</tbody>";
  • gyakutsuki

    not interesting
  1. // This code is never executed (USE_PATTERN_BASED_DETECTION removed in task 5.1.6)
  2. // TODO: Remove this dead code block in Q2 2026
  3. // Pattern mode: Use SemanticsPattern for detection
  4. $contextualPatterns = SemanticsPattern::requiresConversationContext();
  5. foreach ($contextualPatterns as $pattern) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (preg_match($pattern, $query)) {
  7. return true;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. // This code is never executed (USE_PATTERN_BASED_DETECTION removed in task 5.1.6)
  2. // TODO: Remove this dead code block in Q2 2026
  3. // Pattern mode: Use SemanticsPattern for extraction
  4. // Extract semantic keywords
  5. $semanticKeywords = SemanticsPattern::calculateConfidenceSemanticKeywords();
  6. foreach ($semanticKeywords as $keyword) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. if (stripos($query, $keyword) !== false) {
  8. $metadata['semantic_keywords'][] = $keyword;
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. $files = glob($this->cacheDir . '*.json');
  2. $success = true;
  3. $count = 0;
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. if (@unlink($file)) {
  6. $count++;
  7. } else {
  8. $success = false;
  9. }
  • gyakutsuki

    not interesting
  1. $files = glob($this->cacheDir . '*.json');
  2. $totalSize = 0;
  3. $oldestTime = PHP_INT_MAX;
  4. $newestTime = 0;
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $totalSize += filesize($file);
  7. $mtime = filemtime($file);
  8. $oldestTime = min($oldestTime, $mtime);
  9. $newestTime = max($newestTime, $mtime);
  10. }
  • gyakutsuki

    not interesting
  1. $deleted = 0;
  2. if (is_dir($cacheDir)) {
  3. $files = glob($cacheDir . '*.cache');
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. if (@unlink($file)) {
  6. $deleted++;
  7. }
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. if (is_dir($cacheDir)) {
  2. $files = glob($cacheDir . '*.cache');
  3. $fileCount = count($files);
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $totalSize += filesize($file);
  6. $mtime = filemtime($file);
  7. if ($oldestFile === null || $mtime < $oldestFile) {
  8. $oldestFile = $mtime;
  • gyakutsuki

    not interesting
  1. $deleted = 0;
  2. // Parcourir tous les sous-répertoires
  3. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  4. foreach ($dirs as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $files = glob($dir . '/*.cache');
  6. foreach ($files as $file) {
  7. if (@unlink($file)) {
  8. $deleted++;
  9. }
  • gyakutsuki

    not interesting
  1. // Parcourir tous les sous-répertoires
  2. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  3. foreach ($dirs as $dir) {
  4. $files = glob($dir . '/*.cache');
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (@unlink($file)) {
  7. $deleted++;
  8. }
  9. }
  10. // Supprimer le répertoire vide
  • gyakutsuki

    not interesting
  1. $deleted = 0;
  2. try {
  3. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  4. foreach ($dirs as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $files = glob($dir . '/*.cache');
  6. foreach ($files as $file) {
  7. $content = @file_get_contents($file);
  8. if ($content === false) {
  • gyakutsuki

    not interesting
  1. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  2. foreach ($dirs as $dir) {
  3. $files = glob($dir . '/*.cache');
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $content = @file_get_contents($file);
  6. if ($content === false) {
  7. continue;
  8. }
  • gyakutsuki

    not interesting
  1. $totalHits = 0;
  2. try {
  3. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  4. foreach ($dirs as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $files = glob($dir . '/*.cache');
  6. foreach ($files as $file) {
  7. $totalFiles++;
  8. $totalSize += filesize($file);
  • gyakutsuki

    not interesting
  1. $dirs = glob($this->cachePath . '*', GLOB_ONLYDIR);
  2. foreach ($dirs as $dir) {
  3. $files = glob($dir . '/*.cache');
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $totalFiles++;
  6. $totalSize += filesize($file);
  7. $content = @file_get_contents($file);
  8. if ($content !== false) {
  • gyakutsuki

    not interesting
  1. public function clearCache(): bool
  2. {
  3. $files = glob($this->cacheDir . '*.json');
  4. $success = true;
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (!@unlink($file)) {
  7. $success = false;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. $files = glob($this->cacheDir . '*.json');
  2. $totalSize = 0;
  3. $oldestTime = PHP_INT_MAX;
  4. $newestTime = 0;
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $totalSize += filesize($file);
  7. $mtime = filemtime($file);
  8. $oldestTime = min($oldestTime, $mtime);
  9. $newestTime = max($newestTime, $mtime);
  10. }
  • gyakutsuki

    not interesting
  1. $threatTypeResult->execute();
  2. $threatTypeTrends = $threatTypeResult->fetchAll();
  3. // Group by threat type
  4. $threatTypeData = [];
  5. foreach ($threatTypeTrends as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $type = $row['threat_type'];
  7. if (!isset($threatTypeData[$type])) {
  8. $threatTypeData[$type] = [];
  9. }
  10. $threatTypeData[$type][] = [
  • gyakutsuki

    not interesting
  1. private function notify(array $alert): void
  2. {
  3. $rule = $this->alertRules[$alert['type']] ?? null;
  4. $channels = $rule['channels'] ?? ['log'];
  5. foreach ($channels as $channelName) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (isset($this->notificationChannels[$channelName])) {
  7. $channel = $this->notificationChannels[$channelName];
  8. try {
  9. $channel['handler']($alert);
  • gyakutsuki

    not interesting
  1. $md[] = "### Properties";
  2. $md[] = "";
  3. $md[] = "| Name | Type | Visibility | Description |";
  4. $md[] = "|------|------|------------|-------------|";
  5. foreach ($analysis['properties'] as $prop) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $static = $prop['static'] ? ' (static)' : '';
  7. $md[] = "| `{$prop['name']}{$static}` | {$prop['type']} | {$prop['visibility']} | {$prop['description']} |";
  8. }
  9. $md[] = "";
  • gyakutsuki

    not interesting
  1. // Méthodes
  2. if (!empty($analysis['methods'])) {
  3. $md[] = "### Methods";
  4. $md[] = "";
  5. foreach ($analysis['methods'] as $method) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $signature = $this->generateMethodSignature($method);
  7. $md[] = "#### `{$signature}`";
  8. $md[] = "";
  9. if (!empty($method['description'])) {
  • gyakutsuki

    not interesting
  1. }
  2. // Paramètres
  3. if (!empty($method['parameters'])) {
  4. $md[] = "**Parameters:**";
  5. foreach ($method['parameters'] as $param) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $required = $param['required'] ? '(required)' : '(optional)';
  7. $md[] = "- `{$param['name']}` ({$param['type']}) {$required}";
  8. if ($param['default'] !== null) {
  9. $md[] = " - Default: `{$param['default']}`";
  10. }
  • gyakutsuki

    not interesting
  1. * Génère la signature d'une méthode
  2. */
  3. private function generateMethodSignature(array $method): string
  4. {
  5. $params = [];
  6. foreach ($method['parameters'] as $param) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. $required = $param['required'] ? '' : '?';
  8. $params[] = "{$required}{$param['type']} \${$param['name']}";
  9. }
  10. $paramStr = implode(', ', $params);
  • gyakutsuki

    not interesting
  1. $p95 = $this->percentile($values, 95);
  2. $p99 = $this->percentile($values, 99);
  3. // Écart-type
  4. $variance = 0;
  5. foreach ($values as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $variance += pow($value - $mean, 2);
  7. }
  8. $stddev = sqrt($variance / $count);
  9. return [
  • gyakutsuki

    not interesting
  1. $componentHealth = $healthReport['component_health'] ?? [];
  2. $systemReport = $data['system_report'] ?? [];
  3. $components = $systemReport['components'] ?? [];
  4. foreach ($componentHealth as $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $name = $comp['name'] ?? 'unknown';
  6. $status = $comp['status'] ?? 'unknown';
  7. $compData = $components[$name] ?? [];
  8. $totalCalls = $compData['total_calls'] ?? 0;
  • gyakutsuki

    not interesting
  1. $output .= "Timestamp,Source,Count,Percentage,Success_Rate,Avg_Response_Time\n";
  2. $sourceStats = $data['source_stats'] ?? [];
  3. $sources = $sourceStats['sources'] ?? [];
  4. foreach ($sources as $source => $sourceData) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $count = $sourceData['count'] ?? 0;
  6. $percentage = $sourceData['percentage'] ?? 0;
  7. $successRate = $sourceData['success_rate'] ?? 0;
  8. $avgTime = $sourceData['avg_response_time'] ?? 0;
  • gyakutsuki

    not interesting
  1. $activeAlerts = $healthReport['active_alerts'] ?? [];
  2. if (empty($activeAlerts)) {
  3. $output .= "$timestamp,none,none,No active alerts,0,0\n";
  4. } else {
  5. foreach ($activeAlerts as $alert) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $type = $alert['type'] ?? 'unknown';
  7. $severity = $alert['severity'] ?? 'unknown';
  8. $message = str_replace([',', "\n", "\r"], [';', ' ', ' '], $alert['message'] ?? '');
  9. $value = $alert['value'] ?? 0;
  10. $threshold = $alert['threshold'] ?? 0;
  • gyakutsuki

    not interesting
  1. $output .= "Timestamp,Query_Type,Count,Percentage,Avg_Response_Time,Success_Rate\n";
  2. $globalStats = $data['global_stats'] ?? [];
  3. $queryTypes = $globalStats['query_types'] ?? [];
  4. foreach ($queryTypes as $type => $typeData) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $count = $typeData['count'] ?? 0;
  6. $percentage = $typeData['percentage'] ?? 0;
  7. $avgTime = $typeData['avg_response_time'] ?? 0;
  8. $successRate = $typeData['success_rate'] ?? 0;
  • gyakutsuki

    not interesting
  1. <span class="status-badge">{$health['overall_health']['status']}</span>
  2. HTML;
  3. if (!empty($health['overall_health']['issues'])) {
  4. $html .= '<ul style="margin-top: 12px; color: #6b7280;">';
  5. foreach ($health['overall_health']['issues'] as $issue) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= "<li>{$issue}</li>";
  7. }
  8. $html .= '</ul>';
  9. }
  • gyakutsuki

    not interesting
  1. HTML;
  2. // Alertes actives
  3. if (!empty($data['active_alerts'])) {
  4. $html .= '<div class="section"><h2>🚨 Active Alerts</h2>';
  5. foreach ($data['active_alerts'] as $alert) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $alertClass = $alert['severity'] === 'high' ? 'alert-item' : 'alert-item warning';
  7. $html .= "<div class=\"{$alertClass}\"><strong>{$alert['type']}</strong>: {$alert['message']}</div>";
  8. }
  9. $html .= '</div>';
  10. }
  • gyakutsuki

    not interesting
  1. }
  2. // Recommandations
  3. if (!empty($health['recommendations'])) {
  4. $html .= '<div class="section"><h2>💡 Recommendations</h2>';
  5. foreach ($health['recommendations'] as $rec) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= "<div class=\"recommendation\"><strong>{$rec['category']}</strong>: {$rec['message']}</div>";
  7. }
  8. $html .= '</div>';
  9. }
  • gyakutsuki

    not interesting
  1. }
  2. // Santé des composants
  3. $html .= '<div class="section"><h2>🔧 Component Health</h2><table><thead><tr><th>Component</th><th>Status</th><th>Total Calls</th><th>Success Rate</th><th>Avg Time</th></tr></thead><tbody>';
  4. foreach ($health['component_health'] as $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $statusColor = $comp['status'] === 'healthy' ? '#10b981' : '#ef4444';
  6. $metrics = $data['component_metrics'][$comp['name']] ?? [];
  7. $totalCalls = $metrics['total_calls'] ?? 0;
  8. $successfulCalls = $metrics['successful_calls'] ?? 0;
  9. $successRate = $totalCalls > 0 ? round(($successfulCalls / $totalCalls) * 100, 1) : 0;
  • gyakutsuki

    not interesting
  1. // Tendances
  2. if (!empty($health['trends']) && !isset($health['trends']['insufficient_data'])) {
  3. $html .= '<div class="section"><h2>📈 Trends</h2><table><thead><tr><th>Metric</th><th>Trend</th><th>Change</th><th>Current Value</th></tr></thead><tbody>';
  4. foreach ($health['trends'] as $metric => $trend) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $trendClass = match($trend['trend']) {
  6. 'increasing' => 'trend-up',
  7. 'decreasing' => 'trend-down',
  8. default => 'trend-stable',
  9. };
  • gyakutsuki

    not interesting
  1. $summary['total_api_cost'] += $source['system']['total_api_cost'] ?? 0;
  2. }
  3. // Statut des composants
  4. if (isset($source['components'])) {
  5. foreach ($source['components'] as $comp => $data) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!isset($summary['components_status'][$comp])) {
  7. $summary['components_status'][$comp] = [
  8. 'total_calls' => 0,
  9. 'success_count' => 0,
  10. 'failure_count' => 0,
  • gyakutsuki

    not interesting
  1. foreach ($sources as $source) {
  2. if (isset($source['error']) || !isset($source['components'])) {
  3. continue;
  4. }
  5. foreach ($source['components'] as $compName => $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $avgTime = $comp['avg_execution_time'] ?? 0;
  7. $metrics['components_performance'][$compName] = [
  8. 'avg_time' => $avgTime,
  9. 'total_calls' => $comp['total_calls'] ?? 0,
  • gyakutsuki

    not interesting
  1. foreach ($sources as $source) {
  2. if (isset($source['error']) || !isset($source['components'])) {
  3. continue;
  4. }
  5. foreach ($source['components'] as $compName => $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $calls = $comp['total_calls'] ?? 0;
  7. $success = $comp['successful_calls'] ?? 0;
  8. $totalCalls += $calls;
  9. $totalSuccess += $success;
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. // Vérifier les composants défaillants
  4. if (isset($source['components'])) {
  5. foreach ($source['components'] as $compName => $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $calls = $comp['total_calls'] ?? 0;
  7. $failures = $comp['failed_calls'] ?? 0;
  8. if ($calls > 10 && $failures / $calls > 0.2) {
  9. $anomalies[] = [
  • gyakutsuki

    not interesting
  1. $parts[] = "Examples:\n" . $sections['examples'];
  2. }
  3. // Add conversation history
  4. if (!empty($sections['conversation'])) {
  5. foreach ($sections['conversation'] as $message) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $role = ucfirst($message['role']);
  7. $parts[] = "{$role}: {$message['content']}";
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. $text = preg_replace('/[^a-z0-9\s]/', ' ', $text);
  2. $words = preg_split('/\s+/', $text);
  3. // Filter words longer than 3 characters
  4. $keywords = [];
  5. foreach ($words as $word) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (strlen($word) > 3) {
  7. $keywords[] = $word;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. $query = preg_replace('/[^a-z0-9\s]/', ' ', $query);
  2. $words = preg_split('/\s+/', $query);
  3. // Filter words longer than 3 characters
  4. $keywords = [];
  5. foreach ($words as $word) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (strlen($word) > 3) {
  7. $keywords[] = $word;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. // Build context from documents (with priority handling)
  2. $context = $this->optimizeContext($documents, 3000);
  3. // TASK 5.2.1.4: Collect document names for citation
  4. $documentNames = [];
  5. foreach ($documents as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $docName = $this->extractDocumentName($doc);
  7. // Only include real document names (not generic "Document" fallback)
  8. if ($docName !== "Document") {
  9. $documentNames[] = $docName;
  10. }
  • gyakutsuki

    not interesting
  1. */
  2. private function validateQueryPatterns(string $query): bool
  3. {
  4. // Check if query matches any whitelist pattern
  5. $whitelistMatch = false;
  6. foreach ($this->queryWhitelist as $pattern) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if (preg_match($pattern, $query)) {
  8. $whitelistMatch = true;
  9. break;
  10. }
  11. }
  • gyakutsuki

    not interesting
  1. if (!$whitelistMatch) {
  2. return false;
  3. }
  4. // Check if query contains any blacklisted pattern
  5. foreach ($this->queryBlacklist as $pattern) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (preg_match($pattern, $query)) {
  7. return false;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. *
  2. * @param int $now Current timestamp
  3. */
  4. private function cleanupStorage(int $now): void
  5. {
  6. foreach ($this->storage as $key => $data) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if (isset($data['first_request']) && $data['first_request'] < ($now - ($this->timeWindow * 2))) {
  8. unset($this->storage[$key]);
  9. }
  10. }
  11. }
  • gyakutsuki

    not interesting
  1. if (!empty($stats['threat_breakdown'])) {
  2. $html .= "<h3>Threat Breakdown:</h3>";
  3. $html .= "<table border='1' cellpadding='5' cellspacing='0' style='border-collapse: collapse;'>";
  4. $html .= "<tr><th>Threat Type</th><th>Count</th><th>Avg Score</th></tr>";
  5. foreach ($stats['threat_breakdown'] as $threat) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= "<tr>";
  7. $html .= "<td>" . htmlspecialchars($threat['threat_type']) . "</td>";
  8. $html .= "<td>" . $threat['count'] . "</td>";
  9. $html .= "<td>" . number_format($threat['avg_score'], 2) . "</td>";
  10. $html .= "</tr>";
  • gyakutsuki

    not interesting
  1. count($dedupedRows)
  2. );
  3. if ($this->debug && $performanceAnalysis['is_slow']) {
  4. error_log("QueryExecutor: Performance recommendations:");
  5. foreach ($performanceAnalysis['recommendations'] as $rec) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. error_log(" [{$rec['priority']}] {$rec['message']}");
  7. }
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. $stmt->execute();
  2. $plan = $stmt->fetchAll();
  3. $this->securityLogger->logSecurityEvent("EXPLAIN PLAN for SQL:\n" . $sql, 'info');
  4. foreach ($plan as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. $this->securityLogger->logSecurityEvent(print_r($row, true), 'info');
  6. }
  7. } catch (\Exception $e) {
  8. $this->securityLogger->logSecurityEvent(
  9. "Failed to EXPLAIN query: " . $e->getMessage(),
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. $prefix = CLICSHOPPING::getConfig('db_table_prefix');
  4. foreach ($cachedTables as $table) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. // Ajouter le préfixe uniquement si absent, pour FROM, JOIN, UPDATE, INSERT INTO, DELETE FROM
  6. $sql = preg_replace(
  7. '/\b(FROM|JOIN|UPDATE|INSERT\s+INTO|DELETE\s+FROM)\s+(?!' . preg_quote($prefix, '/') . ')(' . preg_quote($table, '/') . ')\b/i',
  8. '$1 ' . $prefix . '$2',
  9. $sql
  • gyakutsuki

    not interesting
  1. return $matches[0]; // Return original match
  2. }
  3. // Multi-word pattern detected - split into multiple LIKE conditions
  4. $conditions = [];
  5. foreach ($words as $word) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $word = trim($word);
  7. if (!empty($word)) {
  8. // Escape single quotes in word
  9. $escapedWord = str_replace("'", "''", $word);
  10. $conditions[] = "{$columnName} LIKE '%{$escapedWord}%'";
  • gyakutsuki

    not interesting
  1. // Generate suggestion for multi-token pattern
  2. $words = preg_split('/\s+/', $cleanPattern);
  3. $multiTokenConditions = [];
  4. foreach ($words as $word) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  5. if (!empty($word)) {
  6. $multiTokenConditions[] = "LIKE '%" . $word . "%'";
  7. }
  8. }
  • gyakutsuki

    not interesting
  1. if ($searchResult['success']) {
  2. // Format results - map 'link' field to 'url' for consistency
  3. $items = $searchResult['items'] ?? [];
  4. $formattedResults = [];
  5. foreach ($items as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $formattedResults[] = [
  7. 'title' => $item['title'] ?? '',
  8. 'snippet' => $item['snippet'] ?? '',
  9. 'url' => $item['link'] ?? $item['url'] ?? '',
  10. 'source' => $item['source'] ?? '',
  • gyakutsuki

    not interesting
  1. // @deprecated Pattern-based detection removed in Pure LLM mode
  2. // This code is never executed (USE_PATTERN_BASED_DETECTION removed in task 5.1.6)
  3. // TODO: Remove this dead code block in Q2 2026
  4. $priceComparisonPatterns = HybridPattern::priceComparisonPatterns();
  5. foreach ($priceComparisonPatterns as $pattern) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (preg_match($pattern, $query)) {
  7. return true;
  8. }
  9. }
  • gyakutsuki

    not interesting
  1. // Check for missing indexes on WHERE clauses
  2. if ($analysis['has_where']) {
  3. $whereColumns = $this->extractWhereColumns($sql);
  4. foreach ($whereColumns as $table => $columns) {
  5. foreach ($columns as $column) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $recommendations[] = [
  7. 'type' => 'index',
  8. 'priority' => 'high',
  9. 'message' => "Consider adding index on {$table}.{$column}",
  10. 'sql' => "CREATE INDEX idx_{$column} ON {$table}({$column});"
  • gyakutsuki

    not interesting
  1. foreach ($this->slowQueries as $query) {
  2. $time = $query['analysis']['execution_time_ms'];
  3. $totalTime += $time;
  4. $maxTime = max($maxTime, $time);
  5. foreach ($query['analysis']['tables_accessed'] as $table) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!isset($tableFrequency[$table])) {
  7. $tableFrequency[$table] = 0;
  8. }
  9. $tableFrequency[$table]++;
  10. }
  • gyakutsuki

    not interesting
  1. foreach ($this->slowQueries as $query) {
  2. if (in_array($table, $query['analysis']['tables_accessed'])) {
  3. $whereColumns = $this->extractWhereColumns($query['sql']);
  4. if (isset($whereColumns[$table])) {
  5. foreach ($whereColumns[$table] as $column) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if (!isset($columns[$column])) {
  7. $columns[$column] = 0;
  8. }
  9. $columns[$column]++;
  10. }
  • gyakutsuki

    not interesting
  1. // Most common tables
  2. if (!empty($summary['most_common_tables'])) {
  3. $html .= "<div class='common-tables'>\n";
  4. $html .= "<h4>Most Frequently Queried Tables</h4>\n";
  5. $html .= "<ul>\n";
  6. foreach ($summary['most_common_tables'] as $table => $count) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. $html .= "<li>{$table}: {$count} queries</li>\n";
  8. }
  9. $html .= "</ul>\n";
  10. $html .= "</div>\n";
  11. }
  • gyakutsuki

    not interesting
  1. $html .= "<p><strong>SQL:</strong> <code>" . htmlspecialchars($query['sql']) . "</code></p>\n";
  2. if (!empty($query['analysis']['recommendations'])) {
  3. $html .= "<p><strong>Recommendations:</strong></p>\n";
  4. $html .= "<ul>\n";
  5. foreach ($query['analysis']['recommendations'] as $rec) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $html .= "<li>[{$rec['priority']}] {$rec['message']}</li>\n";
  7. }
  8. $html .= "</ul>\n";
  9. }
  • gyakutsuki

    not interesting
  1. );
  2. // TASK 5.2.1.3: Extract document names from search results for source attribution
  3. $documentNames = [];
  4. if (!empty($searchResults['results'])) {
  5. foreach ($searchResults['results'] as $result) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $metadata = $result['metadata'] ?? [];
  7. // Try to extract document name from metadata
  8. $docName = null;
  9. $possibleFields = ['title', 'document_name', 'name', 'page_title', 'product_name', 'category_name', 'pages_title'];
  • gyakutsuki

    not interesting
  1. public function execute()
  2. {
  3. $CLICSHOPPING_Archive = Registry::get('Archive');
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qupdate = $CLICSHOPPING_Archive->db->prepare('update :table_products
  7. set products_archive = :products_archive
  8. where products_id = :products_id
  9. ');
  10. $Qupdate->bindInt(':products_archive', '0');
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Archive->getConfigModules();
  2. $default_module = 'AR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Archive->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appArchiveToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Archive->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Archive->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Archive->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Archive->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Archive->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Archive->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Archive->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Archive->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_Archive_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. protected function _buildBranch(int|string $parent_id, int $level = 0): string
  2. {
  3. $result = ((($level === 0) && ($this->parent_group_apply_to_root === true)) || ($level > 0)) ? $this->parent_group_start_string : null;
  4. if (isset($this->_data[$parent_id])) {
  5. foreach ($this->_data[$parent_id] as $category_id => $category) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($this->breadcrumb_usage === true) {
  7. $category_link = $this->buildBreadcrumb($category_id);
  8. } else {
  9. $category_link = $category_id;
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (empty($result)) {
  2. $result = [];
  3. }
  4. if (isset($this->_data[$parent_id])) {
  5. foreach ($this->_data[$parent_id] as $category_id => $category) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($this->breadcrumb_usage === true) {
  7. $category_link = $this->buildBreadcrumb($category_id);
  8. } else {
  9. $category_link = $category_id;
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. // Mark this category as visited
  3. $visited[] = $category_id;
  4. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. foreach ($categories as $id => $info) {
  6. if ($id == $category_id) {
  7. if ($level < 1) {
  8. $breadcrumb = $id;
  9. } else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Mark this category as visited
  2. $visited[] = $category_id;
  3. foreach ($this->_data as $parent => $categories) {
  4. foreach ($categories as $id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($id == $category_id) {
  6. if ($level < 1) {
  7. $breadcrumb = $id;
  8. } else {
  9. $breadcrumb = $id . $this->breadcrumb_separator . $breadcrumb;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @param string $id The ID of the category to search for.
  2. * @return bool True if the category ID exists, false otherwise.
  3. */
  4. public function exists(string $id): bool
  5. {
  6. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. foreach ($categories as $category_id => $info) {
  8. if ($id == $category_id) {
  9. return true;
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return bool True if the category ID exists, false otherwise.
  2. */
  3. public function exists(string $id): bool
  4. {
  5. foreach ($this->_data as $parent => $categories) {
  6. foreach ($categories as $category_id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($id == $category_id) {
  8. return true;
  9. }
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @param array &$array Reference to an array where child IDs will be stored.
  2. * @return array An array containing the IDs of all child categories for the given category.
  3. */
  4. public function getChildren(string $category_id, array &$array = []): array
  5. {
  6. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($parent == $category_id) {
  8. foreach ($categories as $id => $info) {
  9. $array[] = $id;
  10. $this->getChildren($id, $array);
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function getChildren(string $category_id, array &$array = []): array
  3. {
  4. foreach ($this->_data as $parent => $categories) {
  5. if ($parent == $category_id) {
  6. foreach ($categories as $id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $array[] = $id;
  8. $this->getChildren($id, $array);
  9. }
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return array|bool Returns an associative array of category data or a specific value if a key is provided. Returns false if the category is not found.
  2. */
  3. public function getData(string $id, string $key = null): array|bool
  4. {
  5. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. foreach ($categories as $category_id => $info) {
  7. if ($id == $category_id) {
  8. $data = [
  9. 'id' => $id,
  10. 'name' => $info['name'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function getData(string $id, string $key = null): array|bool
  3. {
  4. foreach ($this->_data as $parent => $categories) {
  5. foreach ($categories as $category_id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($id == $category_id) {
  7. $data = [
  8. 'id' => $id,
  9. 'name' => $info['name'],
  10. 'description' => $info['description'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. while ($Qtotals->fetch()) {
  2. $totals[$Qtotals->valueInt('categories_id')] = $Qtotals->valueInt('total');
  3. }
  4. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. foreach ($categories as $id => $info) {
  6. if (isset($totals[$id]) && ($totals[$id] > 0)) {
  7. $this->_data[$parent][$id]['count'] = $totals[$id];
  8. $parent_category = $parent;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. while ($Qtotals->fetch()) {
  2. $totals[$Qtotals->valueInt('categories_id')] = $Qtotals->valueInt('total');
  3. }
  4. foreach ($this->_data as $parent => $categories) {
  5. foreach ($categories as $id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (isset($totals[$id]) && ($totals[$id] > 0)) {
  7. $this->_data[$parent][$id]['count'] = $totals[$id];
  8. $parent_category = $parent;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->_data[$parent][$id]['count'] = $totals[$id];
  2. $parent_category = $parent;
  3. while ($parent_category != $this->root_category_id) {
  4. foreach ($this->_data as $parent_parent => $parent_categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. foreach ($parent_categories as $parent_category_id => $parent_category_info) {
  6. if ($parent_category_id == $parent_category) {
  7. $this->_data[$parent_parent][$parent_category_id]['count'] += $this->_data[$parent][$id]['count'];
  8. $parent_category = $parent_parent;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $parent_category = $parent;
  2. while ($parent_category != $this->root_category_id) {
  3. foreach ($this->_data as $parent_parent => $parent_categories) {
  4. foreach ($parent_categories as $parent_category_id => $parent_category_info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($parent_category_id == $parent_category) {
  6. $this->_data[$parent_parent][$parent_category_id]['count'] += $this->_data[$parent][$id]['count'];
  7. $parent_category = $parent_parent;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @param mixed $id The unique identifier for the category to search for.
  2. * @return int|bool The number of products in the specified category, or `false` if the category ID is not found.
  3. */
  4. public function getNumberOfProducts($id): int|bool
  5. {
  6. foreach ($this->_data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. foreach ($categories as $category_id => $info) {
  8. if ($id == $category_id) {
  9. return $info['count'];
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return int|bool The number of products in the specified category, or `false` if the category ID is not found.
  2. */
  3. public function getNumberOfProducts($id): int|bool
  4. {
  5. foreach ($this->_data as $parent => $categories) {
  6. foreach ($categories as $category_id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($id == $category_id) {
  8. return $info['count'];
  9. }
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Categories->getConfigModules();
  2. $default_module = 'CT';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Categories->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCategoriesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Categories->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Categories->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Categories->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Categories->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Categories->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Categories->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Categories->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Categories->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Categories_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Manufacturers->getConfigModules();
  2. $default_module = 'CM';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Manufacturers->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appManufacturersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Manufacturers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Manufacturers->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Manufacturers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Manufacturers->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Manufacturers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Manufacturers->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Manufacturers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Manufacturers->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Manufacturers_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Save the result to cache for future use
  2. $cache->save($cached_rules);
  3. }
  4. foreach ($cached_rules as $rule) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $rule_id = $rule['rules_id'];
  6. $condition = $rule['rules_condition'];
  7. $ruleName = $rule['rules_name'];
  8. $ruleType = $rule['rules_type'];
  9. $ruleValue = (float)$rule['rules_value'];
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Products->getConfigModules();
  2. $default_module = 'PD';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Products->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * After deletion, redirects to the DynamicPricingRules page.
  2. */
  3. public function execute()
  4. {
  5. if (isset($_POST['selected'])) {
  6. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $Qdelete = $this->app->db->prepare('delete
  8. from :table_dynamic_pricing_rules
  9. where rules_id = :rules_id
  10. ');
  11. $Qdelete->bindInt(':rules_id', $id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appProductsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Products->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Products->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Products->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Products->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Products->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Products->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Products->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Products->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Products_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. Mustache.parse(templateLargeImage);
  2. <?php
  3. $pi_array = [];
  4. foreach ($pInfo->products_larger_images as $pi) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $pi_array[] = [
  6. 'counter' => count($pi_array) + 1,
  7. 'input_file_name' => 'products_image_large_' . $pi['id'],
  8. 'input_html_content_name' => 'products_image_htmlcontent_' . $pi['id'],
  9. 'image' => $pi['image'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_PRODUCTS_ATTRIBUTES_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Catalog\ProductsAttributes\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_PRODUCTS_ATTRIBUTES_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Catalog\ProductsAttributes\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ProductsAttributes->getConfigModules();
  2. $default_module = 'PA';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ProductsAttributes->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appProductsAttributesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsAttributes->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsAttributes->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ProductsAttributes->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsAttributes->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsAttributes->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsAttributes->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ProductsAttributes->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsAttributes->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_ProductsAttributes_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Suppliers->getConfigModules();
  2. $default_module = 'CS';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Suppliers->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. public function execute()
  3. {
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qdelete = $this->app->db->prepare('delete
  7. from :table_suppliers
  8. where suppliers_id = :suppliers_id
  9. ');
  10. $Qdelete->bindInt(':suppliers_id', $id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSuppliersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Suppliers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Suppliers->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Suppliers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Suppliers->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Suppliers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Suppliers->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Suppliers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Suppliers->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Suppliers_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_EMail->getConfigModules();
  2. $default_module = 'EM';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_EMail->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appEmailToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_EMail->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EMail->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_EMail->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EMail->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_EMail->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EMail->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_EMail->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EMail->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_EMail_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $message = str_replace('src="/', 'src="' . HTTP::getShopUrlDomain(), $message);
  2. $CLICSHOPPING_Mail->addHtmlCkeditor($message);
  3. foreach ($send_newsletter as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $CLICSHOPPING_Mail->send($value['customers_email_address'], $value['customers_firstname'] . ' ' . $value['customers_lastname'], $this->emailFrom, null, $subject);
  5. }
  6. $CLICSHOPPING_Hooks->call('Newsletter', 'NewsletterSendCkEditor');
  7. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. } else {
  3. $chosen = [];
  4. foreach ($_POST['chosen'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (is_numeric($id) && !\in_array($id, $chosen)) {
  6. $chosen[] = $id;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ];
  2. }
  3. } else {
  4. $chosen = [];
  5. foreach ($_POST['chosen'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (is_numeric($id) && !\in_array($id, $chosen)) {
  7. $chosen[] = $id;
  8. }
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Newsletter->getConfigModules();
  2. $default_module = 'NL';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Newsletter->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (isset($_GET['nID'])) {
  2. $nID = HTML::sanitize($_GET['nID']);
  3. }
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qdelete = $CLICSHOPPING_Newsletter->db->prepare('delete
  7. from :table_newsletters
  8. where newsletters_id = :newsletters_id
  9. ');
  10. $Qdelete->bindInt(':newsletters_id', $id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appNewsletterToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Newsletter->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Newsletter->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Newsletter->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Newsletter->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Newsletter->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Newsletter->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Newsletter->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Newsletter->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Newsletter_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_PageManager->getConfigModules();
  2. $default_module = 'PM';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_PageManager->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appPageManagerToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_PageManager->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_PageManager->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_PageManager->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_PageManager->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_PageManager->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_PageManager->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_PageManager->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_PageManager->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_PageManager_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Administrators->getConfigModules();
  2. $default_module = 'AD';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Administrators->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appAdministratorsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Administrators->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Administrators->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Administrators->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Administrators->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Administrators->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Administrators->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Administrators->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Administrators->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Administrators_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Antispam->getConfigModules();
  2. $default_module = 'GE';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Antispam->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appAntispamToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Antispam->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Antispam->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Antispam->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Antispam->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Antispam->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Antispam->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Antispam->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Antispam->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_Antispam_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->db->save('api', $sql_data_array);
  2. $api_id = $this->db->lastInsertId();
  3. if (isset($data['api_ip'])) {
  4. foreach ($data['api_ip'] as $ip) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($ip) {
  6. $insert_data_array = [
  7. 'api_id' => (int)$api_id,
  8. 'ip' => HTML::sanitize($ip)
  9. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->db->delete('api_ip', $delete_sql_array);
  2. if (isset($data['api_ip'])) {
  3. foreach ($data['api_ip'] as $ip) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($ip) {
  5. $insert_data_array = [
  6. 'api_id' => (int)$api_id,
  7. 'ip' => HTML::sanitize($ip)
  8. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ');
  2. $Qapi->bindint(':api_id', $api_id);
  3. $Qapi->execute();
  4. foreach ($Qapi->fetch() as $result) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $ip_data[] = $result['ip'];
  6. }
  7. return $ip_data;
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ]);
  2. return false;
  3. }
  4. foreach ($Qips as $allowedIp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $ip = $allowedIp['ip'];
  6. if ($ip === '127.0.0.1' || $ip === 'localhost') {
  7. if (in_array($clientIp, ['127.0.0.1', '::1'])) {
  8. self::logSecurityEvent('Localhost access granted', [
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Api->getConfigModules();
  2. $default_module = 'AI';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Api->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appApiToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Api->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Api->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Api->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Api->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Api->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Api->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Api->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Api->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Api_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <td class="text-end"><?php echo $CLICSHOPPING_Api->getDef('text_action'); ?></td>
  2. </tr>
  3. </thead>
  4. <tbody>
  5. <?php
  6. foreach ($result as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <tr>
  9. <td><?php echo $value['ip']; ?></td>
  10. <td><?php echo $value['comment']; ?></td>
  11. <td class="text-end">
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <td class="text-end"><?php echo $CLICSHOPPING_Api->getDef('text_action'); ?></td>
  2. </tr>
  3. </thead>
  4. <tbody>
  5. <?php
  6. foreach ($result as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <tr>
  9. <td><?php echo $value['session_id']; ?></td>
  10. <td><?php echo $value['ip']; ?></td>
  11. <td><?php echo $value['date_added']; ?></td>
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Cache->getConfigModules();
  2. $default_module = 'CA';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Cache->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_MessageStack->add($CLICSHOPPING_Cache->getDef('error_cache_directory_does_not_exist'), 'error');
  2. }
  3. $cache_files = [];
  4. foreach (glob(Cache::getPath() . '*.cache') as $c) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $key = basename($c, '.cache');
  6. if (($pos = strpos($key, '-')) !== false) {
  7. $cache_files[substr($key, 0, $pos)][] = $key;
  8. } else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCacheToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Cache->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Cache->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Cache->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Cache->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Cache->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Cache->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Cache->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Cache->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Cache_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <tr>
  2. <td><?php echo $CLICSHOPPING_Cache->getDef('text_enabled'); ?></td>
  3. <td>
  4. <?php
  5. $enabled = 'Unknown';
  6. foreach ($data['directives'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($item['k'] === 'opcache.enable') {
  8. $enabled = $item['v'] ? 'Yes' : 'No';
  9. break;
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </tr>
  2. <tr>
  3. <td><?php echo $CLICSHOPPING_Cache->getDef('text_memory_consumption'); ?></td>
  4. <td>
  5. <?php
  6. foreach ($data['directives'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($item['k'] === 'opcache.memory_consumption' && is_numeric($item['v'])) {
  8. echo number_format($item['v'] / 1024 / 1024, 2) . ' MB';
  9. break;
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <tr>
  2. <td><?php echo $CLICSHOPPING_Cache->getDef('text_jit_enabled'); ?></td>
  3. <td>
  4. <?php
  5. foreach ($data['directives'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($item['k'] === 'opcache.jit') {
  7. echo $item['v'] !== 'off' && $item['v'] !== '0' ? 'Yes' : 'No';
  8. break;
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <tr>
  2. <td><?php echo $CLICSHOPPING_Cache->getDef('text_jit_buffer_size'); ?></td>
  3. <td>
  4. <?php
  5. foreach ($data['directives'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($item['k'] === 'opcache.jit_buffer_size') {
  7. echo number_format($item['v'] / 1024 / 1024, 2) . ' MB';
  8. break;
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcheck->bindInt(':language_id', $language_id);
  2. $Qcheck->execute();
  3. $check_array = $Qcheck->fetchAll();
  4. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $this->app->db->prepare('select id,
  6. entity_id
  7. from :table_categories_embedding
  8. where entity_id = :entity_id
  9. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcheck->bindInt(':language_id', $language_id);
  2. $Qcheck->execute();
  3. $check_array = $Qcheck->fetchAll();
  4. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $this->app->db->prepare('select id,
  6. entity_id
  7. from :table_manufacturers_embedding
  8. where entity_id = :entity_id
  9. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcheck->bindInt(':language_id', $language_id);
  2. $Qcheck->execute();
  3. $check_array = $Qcheck->fetchAll();
  4. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $this->app->db->prepare('select id,
  6. entity_id
  7. from :table_pages_manager_embedding
  8. where entity_id = :entity_id
  9. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $QcheckProducts->bindInt(':language_id', $language_id);
  2. $QcheckProducts->execute();
  3. $check_array = $QcheckProducts->fetchAll();
  4. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $this->app->db->prepare('select id,
  6. entity_id
  7. from :table_products_embedding
  8. where entity_id = :entity_id
  9. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcheck->bindInt(':language_id', $language_id);
  2. $Qcheck->execute();
  3. $check_array = $Qcheck->fetchAll();
  4. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $this->app->db->prepare('select id,
  6. entity_id
  7. from :table_reviews_embedding
  8. where entity_id = :entity_id
  9. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcheck->execute();
  2. $check_array = $Qcheck->fetchAll();
  3. foreach ($check_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $Qcheck = $this->app->db->prepare('select id,
  5. entity_id
  6. from :table_suppliers_embedding
  7. where entity_id = :entity_id
  8. ');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function updateAllEmbeddings(): void
  3. {
  4. $language_array = $this->lang->getLanguages();
  5. foreach ($language_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $this->updateAllEmbeddingCategories($value['id']);
  7. $this->updateAllEmbeddingManufacturers($value['id']);
  8. $this->updateAllEmbeddingProducts($value['id']);
  9. $this->updateAllEmbeddingPageManager($value['id']);
  10. $this->updateAllEmbeddingReviews($value['id']);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. return $sessions;
  2. }
  3. $files = glob($this->dirSession . '/*.json');
  4. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $sessionId = basename($file, '.json');
  6. if ($fullData) {
  7. $sessionData = json_decode(file_get_contents($file), true);
  8. if ($sessionData && isset($sessionData['checkout_session'])) {
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Build line items according to OpenAI spec
  2. $lineItems = [];
  3. $itemsBaseAmount = 0;
  4. foreach ($items as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $productData = $this->getProductData($item['id']);
  6. if (!$productData) {
  7. continue; // Skip invalid products
  8. }
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Update items if provided
  2. if (isset($input['items'])) {
  3. $lineItems = [];
  4. $itemsBaseAmount = 0;
  5. foreach ($input['items'] as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $productData = $this->getProductData($item['id']);
  7. if (!$productData) {
  8. continue;
  9. }
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $QreturnOrders->execute();
  2. $return_orders_array = $QreturnOrders->fetchAll();
  3. $embedding_data = "\n" . $this->app->getDef('text_orders_products_return_history') . "\n";
  4. foreach ($return_orders_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $embedding_data .= $this->app->getDef('text_orders_products_return_history_comment') . ' : ' . HTMLOverrideCommon::cleanHtmlForEmbedding($item['comment']) . "\n";
  6. $embedding_data .= $this->app->getDef('text_orders_products_return_history_date_added') . ' : ' . $item['date_added'] . "\n";
  7. }
  8. return $embedding_data;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qreviews->execute();
  2. $reviews_array = $Qreviews->fetchAll();
  3. $reviews_id = $Qreviews->valueInt('reviews_id');
  4. foreach ($reviews_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $language_code = $this->lang->getLanguageCodeById((int)$item['language_id']);
  6. $this->app->loadDefinitions('Module/Hooks/ClicShoppingAdmin/PageManager/rag', $language_code);
  7. $products_id = $item['products_id'];
  8. $reviews_text = $item['reviews_text'];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $review_array = $Qreview->fetchAll();
  2. $review_texts = [];
  3. foreach ($review_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $review_texts[] = $value['reviews_text'];
  5. }
  6. // Output the review texts separated by <br>
  7. $result = implode('<br> - ', $review_texts);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $QreturnOrders->execute();
  2. $return_orders_array = $QreturnOrders->fetchAll();
  3. $embedding_data = "\n" . $this->app->getDef('text_orders_products_return_history') . "\n";
  4. foreach ($return_orders_array as $item) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $embedding_data .= $this->app->getDef('text_orders_products_return_history_comment') . ' : ' . HTMLOverrideCommon::cleanHtmlForEmbedding($item['comment']) . "\n";
  6. $embedding_data .= $this->app->getDef('text_orders_products_return_history_date_added') . ' : ' . $item['date_added'] . "\n";
  7. }
  8. return $embedding_data;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected']) && !\is_null($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $CLICSHOPPING_ChatGpt->db->delete('gpt', ['gpt_id' => (int)$id]);
  6. $CLICSHOPPING_Hooks->call('Gpt', 'DeleteAll');
  7. }
  8. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ChatGpt->getConfigModules();
  2. $default_module = 'CH';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ChatGpt->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function execute()
  2. {
  3. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. $this->app->db->delete('rag_websearch', ['id' => (int)$id]);
  7. }
  8. }
  9. $this->app->redirect('RagWebSearch&page=' . $page);
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appChatGptToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ChatGpt->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ChatGpt->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ChatGpt->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ChatGpt->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ChatGpt->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ChatGpt->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ChatGpt->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ChatGpt->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_ChatGpt_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <?php if (!empty($healthReport['overall_health']['issues'])): ?>
  2. <div style="margin-top: 15px;">
  3. <h6><?php echo $CLICSHOPPING_ChatGpt->getDef('status_problems_detected'); ?>:</h6>
  4. <ul style="margin: 0; padding-left: 20px;">
  5. <?php foreach ($healthReport['overall_health']['issues'] as $issue): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. <li><?php echo htmlspecialchars($issue); ?></li>
  7. <?php endforeach; ?>
  8. </ul>
  9. </div>
  10. <?php endif; ?>
  • gyakutsuki

    not interesting
  1. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('component_avg_time'); ?></th>
  2. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('component_status_label'); ?></th>
  3. </tr>
  4. </thead>
  5. <tbody>
  6. <?php foreach ($healthReport['component_health'] ?? [] as $comp): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <tr>
  8. <td><strong><?php echo htmlspecialchars($comp['name']); ?></strong></td>
  9. <td><?php echo $systemReport['components'][$comp['name']]['total_calls'] ?? 'N/A' ?></td>
  10. <td>
  11. <?php
  • gyakutsuki

    not interesting
  1. </div>
  2. </div>
  3. <div style="padding: 20px;">
  4. <div class="component-health">
  5. <?php foreach ($healthReport['component_health'] ?? [] as $comp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. ?>
  7. <div class="component-card <?php echo $comp['status'];;?>">
  8. <h6><?php echo htmlspecialchars($comp['name']); ?></h6>
  9. <p><strong><?php echo $CLICSHOPPING_ChatGpt->getDef('component_status_label'); ?>:</strong> <span
  10. class="badge bg-<?php echo $comp['status'] === 'healthy' ? 'success' : ($comp['status'] === 'degraded' ? 'warning' : 'danger');;?>">
  • gyakutsuki

    not interesting
  1. if (!empty($comp['issues'])) {
  2. ?>
  3. <p><strong><?php echo $CLICSHOPPING_ChatGpt->getDef('component_problems'); ?>:</strong></p>
  4. <ul style="margin: 0; padding-left: 20px; font-size: 0.9rem;">
  5. <?php
  6. foreach ($comp['issues'] as $issue) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. ?>
  8. <li><?php echo htmlspecialchars($issue); ?></li>
  9. <?php } ?>
  10. </ul>
  11. <?php
  • gyakutsuki

    not interesting
  1. <th class="text-end"><?php echo $CLICSHOPPING_ChatGpt->getDef('success_rate'); ?></th>
  2. <th class="text-end"><?php echo $CLICSHOPPING_ChatGpt->getDef('avg_time'); ?></th>
  3. </tr>
  4. </thead>
  5. <tbody>
  6. <?php foreach ($sourceStats['sources'] as $source => $data): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <tr>
  8. <td>
  9. <?php
  10. $sourceIcons = [
  11. 'documents' => '📚',
  • gyakutsuki

    not interesting
  1. <div class="alert alert-info mb-3">
  2. <i class="bi bi-info-circle"></i>
  3. <strong><?php echo count($activeAlerts); ?></strong> <?php echo $CLICSHOPPING_ChatGpt->getDef('alert_active_count'); ?>
  4. </div>
  5. <?php foreach ($activeAlerts as $alertType => $alert): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. <div class="alert-item <?php echo $alert['severity'] ?? 'medium';?> mb-3">
  7. <div style="flex: 1;">
  8. <div class="d-flex align-items-center mb-2">
  9. <span class="badge bg-<?php echo $alert['severity'] === 'critical' ? 'danger' : ($alert['severity'] === 'high' ? 'warning' : 'info'); ?> me-2">
  10. <?php echo strtoupper($alert['severity'] ?? 'MEDIUM'); ?>
  • gyakutsuki

    not interesting
  1. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('trend_change'); ?></th>
  2. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('trend_current_value'); ?></th>
  3. </tr>
  4. </thead>
  5. <tbody>
  6. <?php foreach ($healthReport['trends'] as $metric => $trend): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <tr>
  8. <td><?php echo ucfirst(str_replace('_', ' ', $metric)); ?></td>
  9. <td class="trend-<?php echo $trend['trend'];?>">
  10. <?php echo $trend['trend'] === 'increasing' ? '↗' : ($trend['trend'] === 'decreasing' ? '↘' : '→'); ?>
  11. <?php echo ucfirst($trend['trend']); ?>
  • gyakutsuki

    not interesting
  1. <th class="text-center"><?php echo $CLICSHOPPING_ChatGpt->getDef('token_average'); ?></th>
  2. <th class="text-center"><?php echo $CLICSHOPPING_ChatGpt->getDef('token_percent_total'); ?></th>
  3. </tr>
  4. </thead>
  5. <tbody>
  6. <?php foreach ($tokenDashboardStats['top_request_types'] as $type): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <tr>
  8. <td>
  9. <strong><?php echo htmlspecialchars($type['request_type']); ?></strong>
  10. </td>
  11. <td class="text-center"><?php echo $type['count'] ?></td>
  • gyakutsuki

    not interesting
  1. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('perf_agent_success_rate'); ?></th>
  2. <th><?php echo $CLICSHOPPING_ChatGpt->getDef('perf_agent_avg_confidence'); ?></th>
  3. </tr>
  4. </thead>
  5. <tbody>
  6. <?php foreach ($advancedStats['agents']['agents'] as $agent): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <tr>
  8. <td><strong><?php echo htmlspecialchars($agent['name']); ?></strong></td>
  9. <td><?php echo $agent['usage_count']; ?></td>
  10. <td>
  11. <div class="progress" style="width: 60px; height: 20px;">
  • gyakutsuki

    not interesting
  1. error_log('Dashboard: Failed to load ReasoningAgent stats - ' . $e->getMessage());
  2. }
  3. if (!empty($reasoningStats) && !empty($reasoningStats['by_mode'])):
  4. $hasData = false;
  5. foreach ($reasoningStats['by_mode'] as $modeStats) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if ($modeStats['count'] > 0) {
  7. $hasData = true;
  8. break;
  9. }
  10. }
  • gyakutsuki

    not interesting
  1. 'chain_of_thought' => '🔗',
  2. 'tree_of_thought' => '🌳',
  3. 'self_consistency' => '🎯',
  4. ];
  5. foreach ($reasoningStats['by_mode'] as $mode => $modeStats):
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. if ($modeStats['count'] == 0) continue;
  7. $successRate = $modeStats['count'] > 0
  8. ? round(($modeStats['successful'] / $modeStats['count']) * 100, 1)
  9. : 0;
  • gyakutsuki

    not interesting
  1. <div class="card text-center" style="background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); color: white;">
  2. <div class="card-body">
  3. <?php
  4. $mostUsedMode = '';
  5. $maxCount = 0;
  6. foreach ($reasoningStats['by_mode'] as $mode => $modeStats) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. if ($modeStats['count'] > $maxCount) {
  8. $maxCount = $modeStats['count'];
  9. $mostUsedMode = $mode;
  10. }
  11. }
  • gyakutsuki

    not interesting
  1. <div class="card-header">
  2. <h6><?php echo $CLICSHOPPING_ChatGpt->getDef('attack_type_distribution'); ?></h6>
  3. </div>
  4. <div class="card-body">
  5. <?php if (!empty($secMonitoring['threat_types'])): ?>
  6. <?php foreach ($secMonitoring['threat_types'] as $threat): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <div class="mb-2">
  8. <div class="d-flex justify-content-between align-items-center">
  9. <span><?php echo ucfirst(str_replace('_', ' ', $threat['type'])); ?></span>
  10. <span class="badge bg-secondary"><?php echo $threat['count']; ?></span>
  11. </div>
  • gyakutsuki

    not interesting
  1. <div class="card-header">
  2. <h6><?php echo $CLICSHOPPING_ChatGpt->getDef('language_statistics'); ?></h6>
  3. </div>
  4. <div class="card-body">
  5. <div class="row">
  6. <?php foreach ($secMonitoring['languages'] as $lang): ?>
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. <div class="col-md-3 mb-2">
  8. <div class="border rounded p-2 text-center">
  9. <div class="fs-5 fw-bold"><?php echo strtoupper($lang['language']); ?></div>
  10. <small class="text-muted"><?php echo $lang['count']; ?> <?php echo $CLICSHOPPING_ChatGpt->getDef('events'); ?></small>
  11. </div>
  • gyakutsuki

    not interesting
  1. if (!empty($healthReport['recommendations'])) {
  2. ?>
  3. <div class="recommendations mt-4">
  4. <h6><?php echo $CLICSHOPPING_ChatGpt->getDef('tab7_recommendations'); ?></h6>
  5. <?php
  6. foreach ($healthReport['recommendations'] as $rec){
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  7. ?>
  8. <div class="recommendation-item">
  9. <strong>[<?php echo strtoupper($rec['priority']); ?>]</strong>
  10. <?php echo htmlspecialchars($rec['message']); ?>
  11. </div>
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_COUNTRIES_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Configuration\Countries\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_COUNTRIES_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Configuration\Countries\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Countries->getConfigModules();
  2. $default_module = 'CT';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Countries->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCountriesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Countries->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Countries->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Countries->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Countries->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Countries->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Countries->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Countries->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Countries->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Countries_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. </div>
  3. <div class="mt-1"></div>
  4. <div class="row">
  5. <?php
  6. foreach ($address_formats_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <div class="col-md-3">
  9. <div class="card">
  10. <div class="card-body">
  11. <h4 class="card-title">
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. </div>
  3. <div class="mt-1"></div>
  4. <div class="row">
  5. <?php
  6. foreach ($address_formats_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <div class="col-md-3">
  9. <div class="card">
  10. <div class="card-body">
  11. <h4 class="card-title">
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcurrencies->execute();
  2. $currencies = $Qcurrencies->fetchAll();
  3. foreach ($currencies as $c) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. /**
  5. *
  6. */
  7. $this->currencies[$c['code']] = [
  8. 'id' => (int)$c['id'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qcurrencies->execute();
  2. $Qcurrencies->setCache('currencies');
  3. $currencies = $Qcurrencies->fetchAll();
  4. foreach ($currencies as $c) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $this->currencies[$c['code']] = [
  6. 'id' => (int)$c['id'],
  7. 'title' => $c['title'],
  8. 'symbol_left' => $c['symbol_left'],
  9. 'symbol_right' => $c['symbol_right'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Currency->getConfigModules();
  2. $default_module = 'CR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Currency->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCurrencyToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Currency->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Currency->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Currency->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Currency->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Currency->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Currency->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Currency->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Currency->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Currency_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cInfo = new ObjectInfo($Qcurrency->toArray());
  2. $currency_select = json_decode(file_get_contents(CLICSHOPPING::BASE_DIR . 'External/CommonCurrencies.json'), true);
  3. $currency_select_array = array(array('id' => '', 'text' => $CLICSHOPPING_Currency->getDef('text_info_common_currency')));
  4. foreach ($currency_select as $cs) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (!isset($CLICSHOPPING_Currency->currency[$cs['code']])) {
  6. $currency_select_array[] = array('id' => $cs['code'], 'text' => '[' . $cs['code'] . '] ' . $cs['title']);
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Langues->getConfigModules();
  2. $default_module = 'LG';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Langues->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appLanguesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Langues->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Langues->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Langues->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Langues->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Langues->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Langues->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Langues->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Langues->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Langues_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $lInfo = new ObjectInfo($Qlanguages->toArray());
  2. $icons = [];
  3. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'Shop') . 'sources/third_party/flag-icon-css/flags/4x3/*.svg') as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $code = basename($file, '.svg');
  5. $icons[] = ['id' => $code,
  6. 'text' => $code
  7. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ];
  2. }
  3. $directories = [];
  4. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'Shop') . 'sources/languages/*', GLOB_ONLYDIR) as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $code = basename($dir);
  6. $directories[] = ['id' => $code,
  7. 'text' => $code
  8. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $directories[] = ['id' => $code,
  2. 'text' => $code
  3. ];
  4. }
  5. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'ClicShoppingAdmin') . 'Core/languages/*', GLOB_ONLYDIR) as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $code = basename($dir);
  7. if (array_search($code, array_column($directories, 'id')) === false) {
  8. $directories[] = ['id' => $code,
  9. 'text' => $code
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Langues = Registry::get('Langues');
  2. $icons = [];
  3. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'Shop') . 'sources/third_party/flag-icon-css/flags/4x3/*.svg') as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $code = basename($file, '.svg');
  5. $icons[] = [
  6. 'id' => $code,
  7. 'text' => $code
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ];
  2. }
  3. $directories = [];
  4. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'Shop') . 'sources/languages/*', GLOB_ONLYDIR) as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $code = basename($dir);
  6. $directories[] = ['id' => $code,
  7. 'text' => $code
  8. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $directories[] = ['id' => $code,
  2. 'text' => $code
  3. ];
  4. }
  5. foreach (glob(CLICSHOPPING::getConfig('dir_root', 'ClicShoppingAdmin') . 'Core/languages/*', GLOB_ONLYDIR) as $dir) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $code = basename($dir);
  7. if (array_search($code, array_column($directories, 'id')) === false) {
  8. $directories[] = ['id' => $code,
  9. 'text' => $code
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Modules->getConfigModules();
  2. $default_module = 'MO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Modules->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Db = Registry::get('Db');
  2. if (isset($_GET['Update'])) {
  3. $set = $_GET['set'] ?? '';
  4. foreach ($_POST['configuration'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ((\is_array($value)) && (!empty($value))) {
  6. $key = HTML::sanitize($key);
  7. $value = HTML::sanitize($value);
  8. $pages = '';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appModulesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Modules->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Modules->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Modules->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Modules->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Modules->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Modules->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Modules->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Modules->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Modules_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_OrdersStatus->getConfigModules();
  2. $default_module = 'OU';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_OrdersStatus->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appOrdersStatusToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_OrdersStatus->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_OrdersStatus->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_OrdersStatus->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_OrdersStatus->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_OrdersStatus->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_OrdersStatus->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_OrdersStatus->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_OrdersStatus->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_OrdersStatus_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_OrdersStatusInvoice->getConfigModules();
  2. $default_module = 'OI';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_OrdersStatusInvoice->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appOrdersStatusInvoiceToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_OrdersStatusInvoice->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_OrdersStatusInvoice->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_OrdersStatusInvoice->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_OrdersStatusInvoice->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_OrdersStatusInvoice->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_OrdersStatusInvoice->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_OrdersStatusInvoice->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_OrdersStatusInvoice->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_OrdersStatusInvoice_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ProductsLength->getConfigModules();
  2. $default_module = 'PL';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ProductsLength->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appProductsLengthToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsLength->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsLength->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ProductsLength->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsLength->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsLength->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsLength->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ProductsLength->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsLength->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_ProductsLength_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ProductsQuantityUnit->getConfigModules();
  2. $default_module = 'PQ';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ProductsQuantityUnit->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appProductsQuantityUnitToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsQuantityUnit->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsQuantityUnit->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ProductsQuantityUnit->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsQuantityUnit->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ProductsQuantityUnit->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ProductsQuantityUnit->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ProductsQuantityUnit->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ProductsQuantityUnit->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_ProductsQuantityUnit_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_SETTINGS_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Configuration\Settings\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_SETTINGS_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Configuration\Settings\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Settings->getConfigModules();
  2. $default_module = 'ST';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Settings->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return void
  2. */
  3. public function execute()
  4. {
  5. if (isset($_POST['configuration'])) {
  6. foreach ($_POST['configuration'] as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $configuration_value = $value;
  8. }
  9. } else {
  10. $configuration_value = $_POST['configuration_value'] ?? '';
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSettingsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Settings->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Settings->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Settings->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Settings->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Settings->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Settings->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Settings->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Settings->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Settings_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TaxClass->getConfigModules();
  2. $default_module = 'TC';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TaxClass->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appTaxClassToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxClass->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxClass->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_TaxClass->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxClass->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxClass->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxClass->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_TaxClass->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxClass->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TaxClass_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TaxGeoZones->getConfigModules();
  2. $default_module = 'TG';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TaxGeoZones->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appTaxGeoZonesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxGeoZones->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxGeoZones->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_TaxGeoZones->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxGeoZones->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxGeoZones->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxGeoZones->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_TaxGeoZones->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxGeoZones->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TaxGeoZones_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TaxRates->getConfigModules();
  2. $default_module = 'TR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TaxRates->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appTaxRatesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxRates->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxRates->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_TaxRates->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxRates->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_TaxRates->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TaxRates->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_TaxRates->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TaxRates->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TaxRates_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TemplateEmail->getConfigModules();
  2. $default_module = 'TE';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TemplateEmail->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appTemplateEmailToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_TemplateEmail->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TemplateEmail->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_TemplateEmail->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TemplateEmail->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_TemplateEmail->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_TemplateEmail->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_TemplateEmail->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_TemplateEmail->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TemplateEmail_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Weight->getConfigModules();
  2. $default_module = 'WE';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Weight->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appWeightToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Weight->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Weight->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Weight->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Weight->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Weight->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Weight->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Weight->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Weight->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Weight_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Zones->getConfigModules();
  2. $default_module = 'ZN';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Zones->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function execute()
  2. {
  3. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qzones = $this->app->db->prepare('select zone_status
  7. from :table_zones
  8. where zone_id = :zone_id
  9. ');
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appZonesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Zones->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Zones->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Zones->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Zones->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Zones->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Zones->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Zones->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Zones->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Zones_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Customers->getConfigModules();
  2. $default_module = 'CS';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Customers->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected']) && isset($_GET['DeleteAll'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $CLICSHOPPING_Customers->db->delete('address_book', ['customers_id' => $id]);
  6. $CLICSHOPPING_Customers->db->delete('customers', ['customers_id' => $id]);
  7. $CLICSHOPPING_Customers->db->delete('customers_info', ['customers_info_id' => $id]);
  8. $CLICSHOPPING_Customers->db->delete('customers_basket', ['customers_id' => $id]);
  9. $CLICSHOPPING_Customers->db->delete('customers_basket_attributes', ['customers_id' => $id]);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCustomersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Customers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Customers->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Customers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Customers->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Customers->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Customers->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Customers->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Customers->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Customers_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. private function cronJob(): void
  3. {
  4. $results = $this->getExpires();
  5. foreach ($results as $result) {
    Argument of an invalid type array|bool supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $cron_id_gdpr = Cron::getCronCode('gdpr');
  7. if (isset($_GET['cronId'])) {
  8. $cron_id = HTML::sanitize($_GET['cronId']);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Gdpr->getConfigModules();
  2. $default_module = 'GD';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Gdpr->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. {
  2. $CLICSHOPPING_Gdpr = Registry::get('Gdpr');
  3. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. GdprAdmin::deleteCustomersData($id);
  7. }
  8. }
  9. $CLICSHOPPING_Gdpr->redirect('Customers', 'page=' . $page);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appGdprToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Gdpr->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Gdpr->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Gdpr->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Gdpr->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Gdpr->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Gdpr->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Gdpr->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Gdpr->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Gdpr_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Groups->getConfigModules();
  2. $default_module = 'GR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Groups->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Module de paiement autorise
  2. if (isset($_POST['payment_unallowed'])) {
  3. $group_payment_unallowed = '';
  4. foreach ($_POST['payment_unallowed'] as $key => $val) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (isset($val)) {
  6. $group_payment_unallowed .= $val . ',';
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Module de livraison autorise
  2. if (isset($_POST['shipping_unallowed'])) {
  3. $group_shipping_unallowed = '';
  4. foreach ($_POST['shipping_unallowed'] as $key => $val) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (isset($val)) {
  6. $group_shipping_unallowed .= $val . ',';
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Module de paiement autorise
  2. if (isset($_POST['payment_unallowed'])) {
  3. $group_payment_unallowed = '';
  4. foreach ($_POST['payment_unallowed'] as $key => $val) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (isset($val)) {
  6. $group_payment_unallowed .= $val . ',';
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Module de livraison autorise
  2. if (isset($_POST['shipping_unallowed'])) {
  3. $group_shipping_unallowed = '';
  4. foreach ($_POST['shipping_unallowed'] as $key => $val) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (isset($val)) {
  6. $group_shipping_unallowed .= $val . ',';
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appGroupsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Groups->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Groups->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Groups->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Groups->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Groups->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Groups->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Groups->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Groups->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Groups_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Members->getConfigModules();
  2. $default_module = 'ME';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Members->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appMembersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Members->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Members->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Members->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Members->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Members->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Members->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Members->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Members->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Members_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qreviews->execute();
  2. $reviews_array = $Qreviews->fetchAll();
  3. $total = 0;
  4. foreach ($reviews_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $customer_tag_array = explode(',', $value['customers_tag']);
  6. $total += count($customer_tag_array);
  7. }
  8. return $total;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function execute()
  3. {
  4. if (isset($_GET['DeleteAll'])) {
  5. if (isset($_POST['selected'])) {
  6. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->deleteCustomer($id);
  8. }
  9. } else {
  10. $id = HTML::sanitize($_POST['id']);
  11. $this->deleteCustomer($id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return void
  2. */
  3. public function execute()
  4. {
  5. if (isset($_POST['selected'])) {
  6. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->removeReviews($id);
  8. $this->removeReviewsSentiment($id);
  9. }
  10. } elseif (isset($_POST['products_id'])) {
  11. $id = HTML::sanitize($_POST['products_id']);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Reviews->getConfigModules();
  2. $default_module = 'RV';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Reviews->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $reviews_id = HTML::sanitize($id);
  6. $CLICSHOPPING_Reviews->db->delete('reviews', ['reviews_id' => (int)$reviews_id]);
  7. $CLICSHOPPING_Reviews->db->delete('reviews_description', ['reviews_id' => (int)$reviews_id]);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $reviews_id = HTML::sanitize($id);
  6. $CLICSHOPPING_Reviews->db->delete('reviews', ['reviews_id' => (int)$reviews_id]);
  7. }
  8. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qid = $CLICSHOPPING_Reviews->db->get('reviews_sentiment', 'id', ['reviews_id' => (int)$id]);
  6. $CLICSHOPPING_Reviews->db->delete('reviews_sentiment', ['reviews_id' => (int)$id]);
  7. $CLICSHOPPING_Reviews->db->delete('reviews_sentiment_description', ['id' => (int)$Qid->valueInt('id')]);
  8. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appReviewsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Reviews->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Reviews->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Reviews->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Reviews->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Reviews->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Reviews->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Reviews->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Reviews->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Reviews_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $CLICSHOPPING_BannerManager->db->delete('banners', ['banners_id' => (int)$id]);
  6. $CLICSHOPPING_BannerManager->db->delete('banners_history', ['banners_id' => (int)$id]);
  7. $CLICSHOPPING_Hooks->call('BannerManager', 'RemoveBanner');
  8. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_BannerManager->getConfigModules();
  2. $default_module = 'BM';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_BannerManager->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appBannerManagerToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_BannerManager->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_BannerManager->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_BannerManager->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_BannerManager->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_BannerManager->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_BannerManager->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_BannerManager->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_BannerManager->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_BannerManager_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Favorites->getConfigModules();
  2. $default_module = 'FA';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Favorites->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qdelete = $CLICSHOPPING_Favorites->db->prepare('delete
  6. from :table_products_favorites
  7. where products_favorites_id = :products_favorites_id
  8. ');
  9. $Qdelete->bindInt(':products_favorites_id', (int)$id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appFavoritesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Favorites->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Favorites->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Favorites->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Favorites->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Favorites->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Favorites->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Favorites->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Favorites->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Favorites_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Featured->getConfigModules();
  2. $default_module = 'FE';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Featured->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Featured = Registry::get('Featured');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qdelete = $CLICSHOPPING_Featured->db->prepare('delete
  6. from :table_products_featured
  7. where products_featured_id = :products_featured_id
  8. ');
  9. $Qdelete->bindInt(':products_featured_id', (int)$id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appFeaturedToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Featured->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Featured->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Featured->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Featured->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Featured->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Featured->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Featured->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Featured->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Featured_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Recommendations->getConfigModules();
  2. $default_module = 'PR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Recommendations->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Hooks = Registry::get('Hooks');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'], $_GET['DeleteAll'], $_GET['Recommendations'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $CLICSHOPPING_Recommendations->db->delete('customers_basket', ['products_id' => (int)$id]);
  6. $CLICSHOPPING_Hooks->call('Recommendations', 'RemoveRecommendations');
  7. }
  8. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appRecommendationsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Recommendations->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Recommendations->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Recommendations->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Recommendations->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Recommendations->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Recommendations->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Recommendations->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Recommendations->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Recommendations_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </thead>
  2. <tbody>
  3. <?php
  4. $mostRecommendedProducts = $CLICSHOPPING_RecommendationsAdmin->getMostRecommendedProducts($limit, $customers_group_id, $date);
  5. foreach ($mostRecommendedProducts as $product) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $productId = $product['products_id'];
  7. $productName = $CLICSHOPPING_ProductsAdmin->getProductsName($productId, $CLICSHOPPING_Language->getId());
  8. $recommendationCount = $product['recommendation_count'];
  9. $score = $product['score'];
  10. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </thead>
  2. <tbody>
  3. <?php
  4. $rejectedProducts = $CLICSHOPPING_RecommendationsAdmin->getRejectedProducts($limit, $customers_group_id, $date);
  5. foreach ($rejectedProducts as $product) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $productId = $product['products_id'];
  7. $productName = $CLICSHOPPING_ProductsAdmin->getProductsName($productId, $CLICSHOPPING_Language->getId());
  8. $rejectionCount = $product['rejection_count'];
  9. $rejectionScore = $product['score'];
  10. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_SEO->getConfigModules();
  2. $default_module = 'SE';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_SEO->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSEOToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_SEO->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SEO->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_SEO->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SEO->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_SEO->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SEO->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_SEO->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SEO->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_SEO_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Specials->getConfigModules();
  2. $default_module = 'SP';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Specials->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Specials = Registry::get('Specials');
  2. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  3. if (isset($_POST['selected'])) {
  4. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qdelete = $CLICSHOPPING_Specials->db->prepare('delete
  6. from :table_specials
  7. where specials_id = :specials_id
  8. ');
  9. $Qdelete->bindInt(':specials_id', (int)$id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSpecialsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Specials->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Specials->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Specials->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Specials->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Specials->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Specials->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Specials->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Specials->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Specials_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_SubTotal->getConfigModules();
  2. $default_module = 'ST';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_SubTotal->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_SubTotal_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Total->getConfigModules();
  2. $default_module = 'TO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Total->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Total_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TotalShipping->getConfigModules();
  2. $default_module = 'SH';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TotalShipping->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TotalShipping_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Si l'ordre d'affichage du shipping < sort order on additionne les frais d'envoi au sous total
  2. if (defined('CLICSHOPPING_APP_ORDER_TOTAL_SHIPPING_SH_SORT_ORDER') && CLICSHOPPING_APP_ORDER_TOTAL_SHIPPING_SH_SORT_ORDER < CLICSHOPPING_APP_ORDER_TOTAL_TAX_TX_SORT_ORDER) $subtotal += $CLICSHOPPING_Order->info['shipping_cost'];
  3. $hst_total = $subtotal * ($Qtax->valueDecimal('tax_rate') / 100);
  4. foreach ($CLICSHOPPING_Order->info['tax_groups'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($value > 0) {
  6. $this->output[] = [
  7. 'title' => $Qtax->value('tax_description') . ' : ',
  8. 'text' => $CLICSHOPPING_Currencies->format($hst_total, true, $CLICSHOPPING_Order->info['currency'], $CLICSHOPPING_Order->info['currency_value']), 'value' => $hst_total
  9. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. } else {
  2. // **********************************
  3. // normal tax
  4. // ************************************
  5. foreach ($CLICSHOPPING_Order->info['tax_groups'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if ($value > 0) {
  7. $this->output[] = [
  8. 'title' => $key,
  9. 'text' => $CLICSHOPPING_Currencies->format($value, true, $CLICSHOPPING_Order->info['currency'], $CLICSHOPPING_Order->info['currency_value']),
  10. 'value' => $value
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_TotalTax->getConfigModules();
  2. $default_module = 'TX';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_TotalTax->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_TotalTax_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. if ($products[$i]['attributes']) {
  3. $subindex = 0;
  4. foreach ($products[$i]['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qattributes = $CLICSHOPPING_ProductsAttributes->getProductsAttributesInfo($products[$i]['id'], $option, $value, $this->lang->getId());
  6. $this->products[$index]['attributes'][$subindex] = ['option' => $Qattributes->value('products_options_name'),
  7. 'value' => $Qattributes->value('products_options_values_name'),
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_ORDERS_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Orders\Orders\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_ORDERS_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Orders\Orders\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Orders->getConfigModules();
  2. $default_module = 'OD';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Orders->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appOrdersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Orders->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Orders->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Orders->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Orders->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Orders->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Orders->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Orders->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Orders->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Orders_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </table>
  2. <div class="mt-1"></div>
  3. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  4. <?php
  5. foreach ($order->totals as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo ' <tr>' . "\n" .
  7. ' <td class="text-end"><strong>' . $value['title'] . '</strong></td>' . "\n" .
  8. ' <td class="text-end"><strong>' . strip_tags($value['text']) . '</strong></td>' . "\n" .
  9. ' </tr>' . "\n";
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ReturnOrders->getConfigModules();
  2. $default_module = 'RO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ReturnOrders->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appReturnOrdersToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ReturnOrders->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ReturnOrders->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ReturnOrders->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ReturnOrders->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ReturnOrders->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ReturnOrders->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ReturnOrders->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ReturnOrders->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_ReturnOrders_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_COD->getConfigModules();
  2. $default_module = 'CO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_COD->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_COD_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_MoneyOrder->getConfigModules();
  2. $default_module = 'MO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_MoneyOrder->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_MoneyOrder_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ];
  2. $i = 0;
  3. if (\count($CLICSHOPPING_Order->products) < 7) {
  4. foreach ($CLICSHOPPING_Order->products as $product) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $i++;
  6. $metadata['product_' . $i . '_name'] = $product['name'];
  7. $metadata['product_' . $i . '_model'] = $product['model'];
  8. $metadata['product_' . $i . '_id'] = $product['id'];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Stripe->getConfigModules();
  2. $default_module = 'ST';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Stripe->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Stripe_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_StatsProductsNotification->getConfigModules();
  2. $default_module = 'PN';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_StatsProductsNotification->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appStatsProductsNotificationToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_StatsProductsNotification->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_StatsProductsNotification->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_StatsProductsNotification->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_StatsProductsNotification->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_StatsProductsNotification->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_StatsProductsNotification->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_StatsProductsNotification->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_StatsProductsNotification->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_StatsProductsNotification_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. for ($i = 0, $n = \count($CLICSHOPPING_Order->products); $i < $n; $i++) {
  2. $number_of_items += $CLICSHOPPING_Order->products[$i]['qty'];
  3. if (isset($CLICSHOPPING_Order->products[$i]['attributes'])) {
  4. foreach ($CLICSHOPPING_Order->products[$i]['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $CLICSHOPPING_Db->prepare('select pa.products_id
  6. from :table_products_attributes pa,
  7. :table_products_attributes_download pad
  8. where pa.products_id = :products_id
  9. and pa.options_values_id = :options_values_id
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Item->getConfigModules();
  2. $default_module = 'IT';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Item->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Item_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_TABLE_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Shipping\Table\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_TABLE_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Shipping\Table\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. for ($i = 0, $n = \count($CLICSHOPPING_Order->products); $i < $n; $i++) {
  2. $order_total += $CLICSHOPPING_Currencies->calculatePrice($CLICSHOPPING_Order->products[$i]['final_price'], $CLICSHOPPING_Order->products[$i]['tax'], $CLICSHOPPING_Order->products[$i]['qty']);
  3. if (isset($CLICSHOPPING_Order->products[$i]['attributes'])) {
  4. foreach ($CLICSHOPPING_Order->products[$i]['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $Qcheck = $CLICSHOPPING_Db->prepare('select pa.products_id
  6. from :table_products_attributes pa,
  7. :table_products_attributes_download pad
  8. where pa.products_id = :products_id
  9. and pa.options_values_id = :options_values_id
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Table->getConfigModules();
  2. $default_module = 'TA';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Table->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Table_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ActionsRecorder->getConfigModules();
  2. $default_module = 'AR';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ActionsRecorder->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appActionsRecorderToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ActionsRecorder->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ActionsRecorder->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ActionsRecorder->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ActionsRecorder->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ActionsRecorder->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ActionsRecorder->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ActionsRecorder->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ActionsRecorder->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_ActionsRecorder_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. *
  2. * @return array An array containing all child category IDs, including both direct and indirect children.
  3. */
  4. public static function getChildren(string $category_id, array &$array = []): array
  5. {
  6. foreach (static::$data as $parent => $categories) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($parent == $category_id) {
  8. foreach ($categories as $id => $info) {
  9. $array[] = $id;
  10. self::getChildren($id, $array);
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public static function getChildren(string $category_id, array &$array = []): array
  3. {
  4. foreach (static::$data as $parent => $categories) {
  5. if ($parent == $category_id) {
  6. foreach ($categories as $id => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $array[] = $id;
  8. self::getChildren($id, $array);
  9. }
  10. }
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function install()
  3. {
  4. $cut_length = \strlen('CLICSHOPPING_APP_ADMINISTRATOR_MENU_' . $this->code . '_');
  5. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $p = mb_strtolower(substr($key, $cut_length));
  7. $class = 'ClicShopping\Apps\Tools\AdministratorMenu\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  8. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_ADMINISTRATOR_MENU_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Tools\AdministratorMenu\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_AdministratorMenu->getConfigModules();
  2. $default_module = 'AM';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_AdministratorMenu->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appAdministratorMenuToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_AdministratorMenu->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_AdministratorMenu->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_AdministratorMenu->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_AdministratorMenu->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_AdministratorMenu->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_AdministratorMenu->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_AdministratorMenu->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_AdministratorMenu->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_AdministratorMenu_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Apps->getConfigModules();
  2. $default_module = 'AP';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Apps->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appAppsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Apps->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Apps->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Apps->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Apps->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Apps->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Apps->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Apps->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Apps->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Apps_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Backup->getConfigModules();
  2. $default_module = 'BC';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Backup->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appBackupToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Backup->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Backup->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Backup->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Backup->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Backup->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Backup->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Backup->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Backup->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_Backup_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Cronjob->getConfigModules();
  2. $default_module = 'CJ';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Cronjob->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appCronjobToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Cronjob->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Cronjob->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Cronjob->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Cronjob->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Cronjob->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Cronjob->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Cronjob->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Cronjob->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_Cronjob_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_DataBaseTables->getConfigModules();
  2. $default_module = 'DT';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_DataBaseTables->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appDataBaseTablesToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_DataBaseTables->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_DataBaseTables->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_DataBaseTables->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_DataBaseTables->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_DataBaseTables->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_DataBaseTables->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_DataBaseTables->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_DataBaseTables->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_DataBaseTables_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. HTML::checkboxField('masterblaster')
  2. ];
  3. $table_data = [];
  4. foreach ($_POST['id'] as $table) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $current_table = null;
  6. $Qaction = $CLICSHOPPING_DataBaseTables->db->query($action . ' table ' . $table);
  7. while ($Qaction->fetch()) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. );
  2. }
  3. $table_data = [];
  4. foreach ($_POST['id'] as $table) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $result = 'OK';
  6. $queries = [];
  7. $Qcols = $CLICSHOPPING_DataBaseTables->db->query('SHOW FULL COLUMNS FROM ' . $table);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_DefineLanguage->getConfigModules();
  2. $default_module = 'DL';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_DefineLanguage->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->app->db->delete(':table_languages_definitions', $where_array);
  2. if (\is_array($definition_values)) {
  3. foreach ($definition_values as $definition_key => $language_definition) {
  4. foreach ($language_definition as $language_id => $definition_value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $sql_data_array = [
  6. 'content_group' => $content_group,
  7. 'definition_key' => $definition_key,
  8. 'languages_id' => $language_id,
  9. 'definition_value' => $definition_value
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appDefineLanguageToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_DefineLanguage->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_DefineLanguage->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_DefineLanguage->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_DefineLanguage->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_DefineLanguage->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_DefineLanguage->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_DefineLanguage->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_DefineLanguage->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_DefineLanguage_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_EditDesign->getConfigModules();
  2. $default_module = 'ED';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_EditDesign->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appEditDesignToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_EditDesign->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EditDesign->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_EditDesign->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EditDesign->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_EditDesign->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EditDesign->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_EditDesign->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EditDesign->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_EditDesign_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_EditLogError->getConfigModules();
  2. $default_module = 'EL';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_EditLogError->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_EditLogError = Registry::get('EditLogError');
  2. $CLICSHOPPING_MessageStack = Registry::get('MessageStack');
  3. $files = [];
  4. foreach (glob(ErrorHandler::getDirectory() . 'errors-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $key = basename($f, '.txt');
  6. if (preg_match('/^errors-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  7. $files[$key] = [
  8. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $result = true;
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'errors-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^errors-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $result = true;
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'phpmail_error-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^phpmail_error-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_EditLogError = Registry::get('EditLogError');
  2. $CLICSHOPPING_MessageStack = Registry::get('MessageStack');
  3. $files = [];
  4. foreach (glob(ErrorHandler::getDirectory() . 'phpmail_error-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $key = basename($f, '.txt');
  6. if (preg_match('/^phpmail_error-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  7. $files[$key] = [
  8. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appEditLogErrorToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_EditLogError->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EditLogError->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_EditLogError->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EditLogError->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_EditLogError->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_EditLogError->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_EditLogError->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_EditLogError->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_EditLogError_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Page = Registry::get('Site')->getPage();
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'errors-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^errors-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Page = Registry::get('Site')->getPage();
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'phpmail_error-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^phpmail_error-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Page = Registry::get('Site')->getPage();
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'errors-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^errors-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Page = Registry::get('Site')->getPage();
  2. $files = [];
  3. foreach (glob(ErrorHandler::getDirectory() . 'phpmail_error-*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $key = basename($f, '.txt');
  5. if (preg_match('/^phpmail_error-([0-9]{4})([0-9]{2})([0-9]{2})$/', $key, $matches)) {
  6. $files[$key] = [
  7. 'path' => $f,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. $this->logger->warning("MCP status: Recommendations found. Starting decision process.");
  3. // 2. Reasoning and Decision: Iterate over recommendations and take actions
  4. foreach ($recommendations as $rec) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $this->logger->info("Recommendation found: " . $rec['message'] . " (Priority: " . $rec['priority'] . ")");
  6. $this->takeActionAndLog($rec);
  7. }
  8. // 3. Cleanup: Delete old alerts
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. private function exportToCsv(array $data): string
  3. {
  4. $output = "timestamp,latency,error_rate,requests,uptime\n";
  5. foreach ($data['history'] as $point) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $output .= sprintf("%d,%.2f,%.2f,%d,%.2f\n",
  7. $point['timestamp'],
  8. $point['latency'],
  9. $point['error_rate'],
  10. $point['requests'],
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ');
  2. $Qcategories->bindInt(':language_id', (int)$this->lang->getId());
  3. $Qcategories->execute();
  4. $categories_array = $Qcategories->fetchAll();
  5. foreach ($categories_array as $cat) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $catLower = strtolower($cat['categories_name'] ?? '');
  7. if (strpos($translated, $catLower) !== false) {
  8. $intent['entities']['category'] = $catLower;
  9. $matchWeight += 0.8;
  10. $totalWeight += 1;
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $stopwords = [
  2. 'the', 'and', 'for', 'with', 'your', 'our', 'you', 'are', 'not', 'can', 'how', 'what', 'why', 'which', 'have', 'has', 'had', 'from', 'this', 'that', 'these', 'those', 'a', 'an', 'to', 'of', 'in', 'on', 'by', 'at', 'it', 'is', 'as', 'or', 'be', 'do', 'does', 'did', 'me', 'my', 'we', 'us', 'they', 'them', 'their', 'there', 'here', 'about', 'please', 'show', 'find', 'search', 'look', 'list', 'between', 'under', 'over', 'more', 'than', 'less', 'cheaper', 'above', 'below'
  3. ];
  4. $tokens = preg_split('/[^a-z0-9]+/i', $translated, -1, PREG_SPLIT_NO_EMPTY);
  5. foreach ($tokens as $tok) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $tokLower = strtolower($tok);
  7. if (strlen($tokLower) > 2 && !in_array($tokLower, $stopwords, true)) {
  8. $keywords[] = $tokLower;
  9. }
  10. }
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Display applied filters and detected intent
  2. if (!empty($intent['filters'])) {
  3. $response .= "**Applied Filters:** ";
  4. $filters = [];
  5. foreach ($intent['filters'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $filters[] = "$key: $value";
  7. }
  8. $response .= implode(", ", $filters) . "\n";
  9. }
  10. if (!empty($intent['type'])) {
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. if (!empty($intent['type'])) {
  3. $response .= "**Detected Intent:** " . $intent['type'] . "\n\n";
  4. }
  5. foreach ($results['products'] as $i => $p) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $response .= "**" . ($i + 1) . ". " . ($p['products_name'] ?? '') . "**\n";
  7. $response .= "💰 Price: " . ($p['products_price'] ?? 'N/A') . "€\n";
  8. $response .= "📦 Stock: " . ($p['products_quantity'] ?? 'N/A') . " units\n";
  9. $ean = $p['products_ean'] ?? '';
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ]);
  2. return false;
  3. }
  4. foreach ($Qips as $allowedIp) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $ip = $allowedIp['ip'];
  6. if ($ip === '127.0.0.1' || $ip === 'localhost') {
  7. if (in_array($clientIp, ['127.0.0.1', '::1'])) {
  8. self::logSecurityEvent('Localhost access granted', [
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function install()
  2. {
  3. $cut_length = \strlen('CLICSHOPPING_APP_MCP_' . $this->code . '_');
  4. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower(substr($key, $cut_length));
  6. $class = 'ClicShopping\Apps\Tools\MCP\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  7. $cfg = new $class($this->code);
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_MCP_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Tools\MCP\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_MCP->getConfigModules();
  2. $default_module = 'MC';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_MCP->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appMCPToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_MCP->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_MCP->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_MCP->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_MCP->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_MCP->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_MCP->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_MCP->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_MCP->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_MCP_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <td class="text-end"><?php echo $CLICSHOPPING_Mcp->getDef('text_action'); ?></td>
  2. </tr>
  3. </thead>
  4. <tbody>
  5. <?php
  6. foreach ($result as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <tr>
  9. <td><?php echo $value['ip']; ?></td>
  10. <td><?php echo $value['comment']; ?></td>
  11. <td class="text-end">
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <td class="text-end"><?php echo $CLICSHOPPING_Mcp->getDef('text_action'); ?></td>
  2. </tr>
  3. </thead>
  4. <tbody>
  5. <?php
  6. foreach ($result_array as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <tr>
  9. <td><?php echo $value['session_id']; ?></td>
  10. <td><?php echo $value['ip']; ?></td>
  11. <td><?php echo $value['date_added']; ?></td>
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Display applied filters and detected intent
  2. if (!empty($intent['filters'])) {
  3. $response .= "**Applied Filters:** ";
  4. $filters = [];
  5. foreach ($intent['filters'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $filters[] = "$key: $value";
  7. }
  8. $response .= implode(", ", $filters) . "\n";
  9. }
  10. if (!empty($intent['type'])) {
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. if (!empty($intent['type'])) {
  3. $response .= "**Detected Intent:** " . $intent['type'] . "\n\n";
  4. }
  5. foreach ($results['products'] as $i => $p) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $response .= "**" . ($i + 1) . ". " . ($p['products_name'] ?? '') . "**\n";
  7. $response .= "💰 Price: " . ($p['products_price'] ?? 'N/A') . "€\n";
  8. $response .= "📦 Stock: " . ($p['products_quantity'] ?? 'N/A') . " units\n";
  9. $ean = $p['products_ean'] ?? '';
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Other table search inside the DB
  2. try {
  3. $tables = DoctrineOrm::getEmbeddingTables();
  4. foreach ($tables as $tableName) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (!in_array($tableName, $knownTables)) {
  6. try {
  7. $vectorStore = new MariaDBVectorStore($embeddingGenerator, $tableName);
  8. $embeddingTables[$tableName] = $vectorStore;
  9. } catch (\Exception $e) {
  • gyakutsuki

    not interesting
  1. }
  2. // USe similaritySearch signature
  3. $results = $vectorStore->similaritySearch($prompt, 2, 0.5, $filter);
  4. foreach ($results as $doc) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $entityInfo = '';
  6. if (isset($doc->metadata['entity_type']) && isset($doc->metadata['entity_id'])) {
  7. $entityInfo = " ({$doc->metadata['entity_type']} #{$doc->metadata['entity_id']})";
  8. }
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ModulesHooks->getConfigModules();
  2. $default_module = 'MH';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ModulesHooks->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appModulesHooksToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ModulesHooks->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ModulesHooks->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ModulesHooks->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ModulesHooks->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ModulesHooks->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ModulesHooks->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ModulesHooks->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ModulesHooks->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_ModulesHooks_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_SecDirPermissions->getConfigModules();
  2. $default_module = 'SP';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_SecDirPermissions->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSecDirPermissionsToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_SecDirPermissions->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SecDirPermissions->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_SecDirPermissions->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SecDirPermissions->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_SecDirPermissions->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SecDirPermissions->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_SecDirPermissions->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SecDirPermissions->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_SecDirPermissions_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. class="text-center"><?php echo $CLICSHOPPING_SecDirPermissions->getDef('table_heading_recommended'); ?></th>
  2. </tr>
  3. <thead>
  4. <tbody>
  5. <?php
  6. foreach (getOpenDir(CLICSHOPPING::getConfig('dir_root', 'Shop')) as $file) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($file['is_dir']) {
  8. ?>
  9. <tr>
  10. <th
  11. scope="row"><?php echo substr($file['name'], \strlen(CLICSHOPPING::getConfig('dir_root', 'Shop'))); ?></th>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ');
  2. $Qrestriction->execute();
  3. $restriction = $Qrestriction->fetchAll();
  4. foreach ($restriction as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (trim($value['0']) === static::getRemoteAddress()) {
  6. $allowed_ip = true;
  7. break;
  8. }
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ');
  2. $Qrestriction->execute();
  3. $restriction = $Qrestriction->fetchAll();
  4. foreach ($restriction as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (trim($value['0']) === static::getRemoteAddress()) {
  6. $allowed_ip = true;
  7. break;
  8. }
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function install()
  3. {
  4. $cut_length = \strlen('CLICSHOPPING_APP_SECURITY_CHECK_' . $this->code . '_');
  5. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $p = mb_strtolower(substr($key, $cut_length));
  7. $class = 'ClicShopping\Apps\Tools\SecurityCheck\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  8. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $cut = 'CLICSHOPPING_APP_SECURITY_CHECK_' . $this->code . '_';
  2. $cut_length = \strlen($cut);
  3. foreach ($this->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $p = mb_strtolower(substr($key, $cut_length));
  5. $class = 'ClicShopping\Apps\Tools\SecurityCheck\Module\ClicShoppingAdmin\Config\\' . $this->code . '\Params\\' . $p;
  6. $cfg = new $class($this->code);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_SecurityCheck->getConfigModules();
  2. $default_module = 'SC';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_SecurityCheck->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function execute()
  2. {
  3. $page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
  4. if (isset($_POST['selected'])) {
  5. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qselect = $this->app->db->prepare('select ip_restriction
  7. from :table_ip_restriction
  8. where id = :id
  9. ');
  10. $Qselect->bindInt(':id', $id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appSecurityCheckToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_SecurityCheck->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SecurityCheck->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_SecurityCheck->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SecurityCheck->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_SecurityCheck->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_SecurityCheck->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_SecurityCheck->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_SecurityCheck->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_SecurityCheck_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_ServiceAPP->getConfigModules();
  2. $default_module = 'SV';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_ServiceAPP->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appServiceAPPToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_ServiceAPP->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ServiceAPP->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_ServiceAPP->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ServiceAPP->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_ServiceAPP->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_ServiceAPP->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_ServiceAPP->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_ServiceAPP->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_ServiceAPP_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. sort($result['file']);
  3. $i = 0;
  4. foreach ($result['file'] as &$module) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $class = substr($module['files_name'], 0, strrpos($module['files_name'], '.'));
  6. $class1[] = $class;
  7. if (class_exists($class)) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. sort($result['file']);
  3. $i = 0;
  4. foreach ($result['file'] as &$module) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $class = substr($module['files_name'], 0, strrpos($module['files_name'], '.'));
  6. $class1[] = $class;
  7. if (class_exists($class)) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_Upgrade->getConfigModules();
  2. $default_module = 'UP';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_Upgrade->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appUpgradeToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_Upgrade->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Upgrade->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_Upgrade->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Upgrade->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_Upgrade->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_Upgrade->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_Upgrade->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_Upgrade->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="adminformTitle">
  3. <div class="card-block">
  4. <p class="card-text">
  5. <?php
  6. foreach ($CLICSHOPPING_Upgrade_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo '<div>' . $cfg . '</div>';
  8. echo '<div class="mt-1"></div>';
  9. }
  10. ?>
  11. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="col-md-12">
  2. <div class="row">
  3. <?php
  4. $i = 0;
  5. foreach ($result_files as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $CLICSHOPPING_Marketplace->getFilesInformations($value['file_id']);
  7. $Qfilesinformation = $CLICSHOPPING_Upgrade->db->prepare('select file_id,
  8. file_name,
  9. file_version,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (is_file($json_file)) {
  2. $get_json_file = file_get_contents($json_file, true);
  3. $result = json_decode($get_json_file);
  4. foreach ($result as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $text = '';
  6. if (!\is_array($value)) {
  7. $text = $value;
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->total += Tax::addTax($products_price, $products_tax) * $qty;
  2. $this->weight += ($qty * $products_weight);
  3. // attributes price
  4. if (isset($this->contents[$products_id]['attributes'])) {
  5. foreach ($this->contents[$products_id]['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qattribute = $this->db->get('products_attributes', [
  7. 'options_values_price',
  8. 'price_prefix'
  9. ], [
  10. 'products_id' => $prid,
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function execute()
  3. {
  4. if (isset($_GET['DeleteAll'])) {
  5. if (isset($_POST['selected'])) {
  6. foreach ($_POST['selected'] as $id) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->deleteCustomer($id);
  8. }
  9. } else {
  10. $id = HTML::sanitize($_POST['id']);
  11. $this->deleteCustomer($id);
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $modules = $CLICSHOPPING_WhosOnline->getConfigModules();
  2. $default_module = 'WO';
  3. foreach ($modules as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. if ($CLICSHOPPING_WhosOnline->getConfigModuleInfo($m, 'is_installed') === true) {
  5. $default_module = $m;
  6. break;
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->init();
  2. $current_module = $this->getCurrentModule();
  3. $m = $this->getConfigModule($current_module);
  4. foreach ($m->getParameters() as $key) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $p = mb_strtolower($key);
  6. if (isset($_POST[$p])) {
  7. $this->app->saveCfgParam($key, $_POST[$p]);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <ul class="nav nav-tabs flex-column flex-sm-row" role="tablist" id="appWhosOnlineToolbar">
  4. <li class="nav-item">
  5. <?php
  6. foreach ($CLICSHOPPING_WhosOnline->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_WhosOnline->getConfigModuleInfo($m, 'is_installed') === true) {
  8. echo '<li class="nav-link active" data-module="' . $m . '"><a href="' . $CLICSHOPPING_WhosOnline->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_WhosOnline->getConfigModuleInfo($m, 'short_title') . '</a></li>';
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <li class="nav-item dropdown">
  2. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="true"
  3. aria-expanded="false">Install</a>
  4. <div class="dropdown-menu">
  5. <?php
  6. foreach ($CLICSHOPPING_WhosOnline->getConfigModules() as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if ($CLICSHOPPING_WhosOnline->getConfigModuleInfo($m, 'is_installed') === false) {
  8. echo '<a class="dropdown-item" href="' . $CLICSHOPPING_WhosOnline->link('Configure&module=' . $m) . '">' . $CLICSHOPPING_WhosOnline->getConfigModuleInfo($m, 'title') . '</a>';
  9. }
  10. }
  11. ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="adminformTitle">
  2. <div class="card-block">
  3. <p class="card-text">
  4. <?php
  5. foreach ($CLICSHOPPING_WhosOnline_Config->getInputParameters() as $cfg) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<div>' . $cfg . '</div>';
  7. echo '<div class="mt-1"></div>';
  8. }
  9. ?>
  10. </p>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. public function getToolSchemas(): array
  3. {
  4. $schemas = [];
  5. foreach ($this->tools as $class) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by clicshopping
  6. /** @var ActionToolsInterface $toolInstance */
  7. $toolInstance = new $class();
  8. $schemas[] = [
  9. 'name' => $toolInstance->getName(),
  10. 'description' => $toolInstance->getDescription(),
  • gyakutsuki

    not interesting
  1. if (isset($filter)) {
  2. $modules = $CLICSHOPPING_Type->filter($modules, $filter);
  3. }
  4. foreach ($modules as $key => $data) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $tempResults[] = $CLICSHOPPING_Type->getInfo($vendor->getFilename() . '\\' . $app->getFilename(), $key, $data);
  6. }
  7. $result = array_merge(...$tempResults);
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (is_file(self::BASE_DIR . 'Custom/Conf/global.php')) {
  2. self::loadConfigFile(self::BASE_DIR . 'Custom/Conf/global.php', 'global');
  3. }
  4. foreach (glob(self::BASE_DIR . 'Sites/*', GLOB_ONLYDIR) as $s) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $s = basename($s);
  6. if (self::siteExists($s, false) && is_file(self::BASE_DIR . 'Sites/' . $s . '/site_conf.php')) {
  7. self::loadConfigFile(self::BASE_DIR . 'Sites/' . $s . '/site_conf.php', $s);
  8. if (is_file(self::BASE_DIR . 'Custom/Sites/' . $s . '/site_conf.php')) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public static function clearAll(): void
  2. {
  3. static::clearMemoryCache();
  4. if (FileSystem::isWritable(static::getPath())) {
  5. foreach (glob(static::getPath() . '*.cache', GLOB_NOSORT) as $c) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. unlink($c);
  7. }
  8. }
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $path = static::getPath();
  2. $files = glob($path . '*.cache', GLOB_NOSORT);
  3. $totalSize = 0;
  4. $totalFiles = count($files);
  5. foreach ($files as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $totalSize += filesize($file);
  7. }
  8. return [
  9. 'total_files' => $totalFiles,
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public static function purgeExpired(int $maxAgeMinutes): int
  2. {
  3. $purged = 0;
  4. $cutoffTime = time() - ($maxAgeMinutes * 60);
  5. foreach (glob(static::getPath() . '*.cache', GLOB_NOSORT) as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (filemtime($file) < $cutoffTime) {
  7. unlink($file);
  8. $purged++;
  9. }
  10. }
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. 'name' => $table
  2. ];
  3. $is_index = $is_foreign = $is_property = false;
  4. foreach (file($file) as $row) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $row = trim($row);
  6. if (!empty($row)) {
  7. // Check section delimiters first, before comment check
  8. if ($row == '--') {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. {
  2. $sql = 'CREATE TABLE ' . (isset($prefix) ? $prefix : '') . $schema['name'] . ' (' . "\n";
  3. $rows = [];
  4. foreach ($schema['col'] as $name => $fields) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $row = ' ' . $name . ' ' . $fields['type'];
  6. if (isset($fields['length'])) {
  7. $row .= '(' . $fields['length'] . ')';
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $rows[] = $row;
  2. }
  3. if (isset($schema['index'])) {
  4. foreach ($schema['index'] as $name => $fields) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($name == 'primary') {
  6. $name = 'PRIMARY KEY';
  7. } else {
  8. $name = 'KEY ' . $name;
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $rows[] = $row;
  2. }
  3. }
  4. if (isset($schema['foreign'])) {
  5. foreach ($schema['foreign'] as $name => $fields) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $row = ' FOREIGN KEY ' . $name . ' (' . implode(', ', $fields['col']) . ') REFERENCES ' . (isset($prefix) && (!isset($fields['prefix']) || ($fields['prefix'] != 'false')) ? $prefix : '') . $fields['ref_table'] . '(' . implode(', ', $fields['ref_col']) . ')';
  7. if (isset($fields['on_update'])) {
  8. $row .= ' ON UPDATE ' . mb_strtoupper($fields['on_update']);
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. $result = array();
  3. foreach (DateTime::getTimeZones() as $zone => $zones_array) {
  4. foreach ($zones_array as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $result[] = [
  6. 'id' => $key,
  7. 'text' => $value,
  8. 'group' => $zone
  9. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $calls = $this->hooks[$this->site][$group][$hook][$action];
  2. }
  3. if (isset($this->watches[$this->site][$group][$hook][$action])) {
  4. // Filtrer les watches selon le contexte si spécifié
  5. foreach ($this->watches[$this->site][$group][$hook][$action] as $watchEntry) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. //Cjekcif it's a structure with context or simple code
  7. if (is_array($watchEntry) && isset($watchEntry['code'])) {
  8. // Structure avec contexte
  9. if ($context !== null) {
  10. // Si le watch a un contexte défini, il doit correspondre
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. }
  3. $result = [];
  4. foreach ($calls as $code) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $bait = null;
  6. if (is_string($code)) {
  7. $class = Apps::getModuleClass($code, 'Hooks');
  8. $obj = new $class();
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. 'User-Agent' => 'ClicShopping-HttpClient/1.0',
  2. 'Connection' => 'close'
  3. ];
  4. if (!empty($parameters['header'])) {
  5. foreach ($parameters['header'] as $header) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (strpos($header, ':') !== false) {
  7. [$name, $value] = explode(':', $header, 2);
  8. $headers[trim($name)] = trim($value);
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public function getDefinitionsFromFile($filename)
  2. {
  3. $defs = [];
  4. if (is_file($filename)) {
  5. foreach (file($filename) as $line) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $line = trim($line);
  7. if (!empty($line) && (substr($line, 0, 1) != '#')) {
  8. $delimiter = strpos($line, '=');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. });
  3. if (isset($_SESSION['MessageStack_Data']) && is_array($_SESSION['MessageStack_Data'])) {
  4. foreach ($_SESSION['MessageStack_Data'] as $group => $messages) {
  5. foreach ($messages as $message) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $this->add($message['text'], $message['type'], $group);
  7. }
  8. }
  9. unset($_SESSION['MessageStack_Data']);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. }
  2. Registry::get('Hooks')->watch('Session', 'StartAfter', 'execute', function () {
  3. if (isset($_SESSION['MessageStack_Data']) && !empty($_SESSION['MessageStack_Data'])) {
  4. foreach ($_SESSION['MessageStack_Data'] as $group => $messages) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. foreach ($messages as $message) {
  6. $this->add($message['text'], $message['type'], $group);
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. Registry::get('Hooks')->watch('Session', 'StartAfter', 'execute', function () {
  2. if (isset($_SESSION['MessageStack_Data']) && !empty($_SESSION['MessageStack_Data'])) {
  3. foreach ($_SESSION['MessageStack_Data'] as $group => $messages) {
  4. foreach ($messages as $message) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $this->add($message['text'], $message['type'], $group);
  6. }
  7. }
  8. unset($_SESSION['MessageStack_Data']);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. {
  2. public function getInfo($app, $key, $data)
  3. {
  4. $result = [];
  5. foreach ($data as $code => $class) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $class = $this->ns . $app . '\\' . $class;
  7. if (is_subclass_of($class, 'ClicShopping\OM\Modules\\' . $this->code . 'Interface')) {
  8. $result[$key . DIRECTORY_SEPARATOR . $app . '\\' . $code] = $class;
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @param int $maxlifetime The maximum lifetime (in seconds) for session files before they are considered expired.
  2. * @return bool Returns true upon completion of cleanup.
  3. */
  4. public function gc(int $maxlifetime): bool
  5. {
  6. foreach (glob($this->path . '/sess_*', GLOB_NOSORT) as $file) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if (filemtime($file) + $maxlifetime < time()) {
  8. unlink($file);
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. *
  2. * @return void
  3. */
  4. protected static function _write(\XMLWriter $xml, $data, $parent = null, bool $add_to_parent_element = false)
  5. {
  6. foreach ($data as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if (is_array($value)) {
  8. if (is_int($key)) {
  9. if ($add_to_parent_element === false) {
  10. $add_to_parent_element = true;
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $name = (!empty($key) ? 'configuration[' . $key . ']' : 'configuration_value');
  2. $countries_array = [];
  3. foreach ($CLICSHOPPING_Address->getCountries() as $country) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $countries_array[] = ['id' => $country['countries_id'],
  5. 'text' => $country['countries_name']
  6. ];
  7. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $name = (!empty($key) ? 'configuration[' . $key . ']' : 'configuration_value');
  2. $zones_array = [];
  3. foreach ($CLICSHOPPING_Address->getZones() as $zone) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $zones_array[] = ['id' => $zone['id'],
  5. 'text' => $zone['name'],
  6. 'group' => $zone['country_name']
  7. ];
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $select_array = $CLICSHOPPING_Template->getListCatalogFilesNotIncluded();
  2. sort($select_array);
  3. $values_array = explode(';', $values);
  4. $output = '';
  5. foreach ($select_array as $file) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $output .= HTML::checkboxField('ht_datepicker_jquery_file[]', $file, \in_array($file, $values_array)) . '&nbsp;' . HTML::outputProtected($file) . '<br />';
  7. }
  8. if (!empty($output)) {
  9. $output = '<br />' . substr($output, 0, -6);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. } elseif (defined('USE_MEMCACHED') && USE_MEMCACHED == 'True' && isset($memcached)) {
  2. $memcached->set($cache_key, $config_data, $cache_ttl);
  3. }
  4. } else {
  5. // Utiliser les données du cache Memcached
  6. foreach ($cached_config as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. define($key, $value);
  8. }
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]', $this->PageSizes[$n][0], $this->PageSizes[$n][1]));
  2. $this->_out('/Resources 2 0 R');
  3. if (isset($this->PageLinks[$n])) {
  4. //Links
  5. $annots = '/Annots [';
  6. foreach ($this->PageLinks[$n] as $pl) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $rect = sprintf('%.2F %.2F %.2F %.2F', $pl[0], $pl[1], $pl[0] + $pl[2], $pl[1] - $pl[3]);
  8. $annots .= '<</Type /Annot /Subtype /Link /Rect [' . $rect . '] /Border [0 0 0] ';
  9. if (is_string($pl[4]))
  10. $annots .= '/A <</S /URI /URI ' . $this->_textstring($pl[4]) . '>>>>';
  11. else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. * @return void
  2. */
  3. public function _putfonts()
  4. {
  5. $nf = $this->n;
  6. foreach ($this->diffs as $diff) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. //Encodings
  8. $this->_newobj();
  9. $this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [' . $diff . ']>>');
  10. $this->_out('endobj');
  11. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. //Encodings
  2. $this->_newobj();
  3. $this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [' . $diff . ']>>');
  4. $this->_out('endobj');
  5. }
  6. foreach ($this->FontFiles as $file => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. //Font file embedding
  8. $this->_newobj();
  9. $this->FontFiles[$file]['n'] = $this->n;
  10. $font = '';
  11. $f = fopen($this->_getfontpath() . $file, 'rb', 1);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->_out('/Length2 ' . $info['length2'] . ' /Length3 0');
  2. $this->_out('>>');
  3. $this->_putstream($font);
  4. $this->_out('endobj');
  5. }
  6. foreach ($this->fonts as $k => $font) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. //Font objects
  8. $this->fonts[$k]['n'] = $this->n + 1;
  9. $type = $font['type'];
  10. $name = $font['name'];
  11. if ($type == 'core') {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->_out('endobj');
  2. //Descriptor
  3. $this->_newobj();
  4. $s = '<</Type /FontDescriptor /FontName /' . $name;
  5. foreach ($font['desc'] as $k => $v)
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $s .= ' /' . $k . ' ' . $v;
  7. $file = $font['file'];
  8. if ($file)
  9. $s .= ' /FontFile' . ($type == 'Type1' ? '' : '2') . ' ' . $this->FontFiles[$file]['n'] . ' 0 R';
  10. $this->_out($s . '>>');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function _putimages()
  3. {
  4. $filter = ($this->compress) ? '/Filter /FlateDecode ' : '';
  5. //while(list($file,$info)=each($this->images))
  6. foreach ($this->images as $file => $info) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->_newobj();
  8. $this->images[$file]['n'] = $this->n;
  9. $this->_out('<</Type /XObject');
  10. $this->_out('/Subtype /Image');
  11. $this->_out('/Width ' . $info['w']);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. *
  2. * @return void
  3. */
  4. public function _putxobjectdict()
  5. {
  6. foreach ($this->images as $image)
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R');
  8. }
  9. /**
  10. * Adds the resource dictionary to the PDF output.
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. */
  2. public function _putresourcedict()
  3. {
  4. $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
  5. $this->_out('/Font <<');
  6. foreach ($this->fonts as $font)
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R');
  8. $this->_out('>>');
  9. $this->_out('/XObject <<');
  10. $this->_putxobjectdict();
  11. $this->_out('>>');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. foreach ($this->modules as $value) {
  2. if (str_contains($value, '\\')) {
  3. $obj = Registry::get('Shipping_' . str_replace('\\', '_', $value));
  4. if ($obj->enabled) {
  5. foreach ($obj->quotes['methods'] as $method) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (isset($method['cost']) && !is_null($method['cost'])) {
  7. return [
  8. 'id' => $obj->quotes['id'] . '_' . $method['id'],
  9. 'title' => $obj->quotes['module'] . (isset($method['title']) && !empty($method['title']) ? ' (' . $method['title'] . ')' : ''),
  10. 'info' => $obj->quotes['info'] . (isset($method['info']) && !empty($method['info']) ? ' (' . $method['info'] . ')' : ''),
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. } elseif (defined('USE_MEMCACHED') && USE_MEMCACHED == 'True' && isset($memcached)) {
  2. $memcached->set($cache_key, $config_data, $cache_ttl);
  3. }
  4. } else {
  5. // Utiliser les données du cache
  6. foreach ($cached_config as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. define($key, $value);
  8. }
  9. }
  10. // set the session name and save path
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. public static function resolveRoute(array $route, array $routes)
  2. {
  3. $result = [];
  4. foreach ($routes as $vendor_app => $paths) {
  5. foreach ($paths as $path => $page) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $path_array = explode('&', $path);
  7. if (count($path_array) <= count($route)) {
  8. if ($path_array == array_slice($route, 0, count($path_array))) {
  9. $result[] = [
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. 'customers_basket_date_added' => date('Ymd')
  2. ]
  3. );
  4. if (isset($data['attributes'])) {
  5. foreach ($data['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $this->db->save('customers_basket_attributes', [
  7. 'customers_id' => (int)$this->customer->getID(),
  8. 'products_id' => $item_id,
  9. 'products_options_id' => (int)$option,
  10. 'products_options_value_id' => (int)$value
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->total += $this->tax->addTax($products_price, $products_tax) * $qty;
  2. }
  3. // attributes price
  4. if (isset($data['attributes'])) {
  5. foreach ($data['attributes'] as $option => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $Qattributes = $this->db->prepare('select options_values_price,
  7. price_prefix
  8. from :table_products_attributes
  9. where products_id = :products_id
  10. and options_id = :options_id
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $this->content_type = false;
  2. if ((\defined('DOWNLOAD_ENABLED') && DOWNLOAD_ENABLED == 'true') && ($this->getCountContents() > 0)) {
  3. foreach ($this->contents as $item_id => $data) {
  4. if (isset($data['attributes'])) {
  5. foreach ($data['attributes'] as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $check = $this->productsAttributes->getCheckProductsDownload($item_id, $value);
  7. if ($check > 0) {
  8. switch ($this->content_type) {
  9. case 'physical':
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (is_dir($source_folder)) {
  2. $files_get_output = $this->getSpecificFiles($source_folder, $file_get_output);
  3. $files_get_call = $this->getSpecificFiles($source_folder, $files_get_call);
  4. foreach ($files_get_output as $value) {
    Argument of an invalid type array|null supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if (!empty($value['name'])) {
  6. echo $CLICSHOPPING_Hooks->output($hook_call, $value['name'], null, 'display');
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (!empty($value['name'])) {
  2. echo $CLICSHOPPING_Hooks->output($hook_call, $value['name'], null, 'display');
  3. }
  4. }
  5. foreach ($files_get_call as $value) {
    Argument of an invalid type array|null supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (!empty($value['name'])) {
  7. $CLICSHOPPING_Hooks->call($hook_call, $value['name']);
  8. }
  9. }
  10. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. //--------------------------------------------------------------
  2. // level 2
  3. if (isset($menus['sub_menu'])) {
  4. $output .= '<ul>';
  5. foreach ($menus['sub_menu'] as $second_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $image = '';
  7. if ($menu_sub[$second_level]['link'] != '') {
  8. $output .= '<li>' . HTML::link(CLICSHOPPING::link($menu_sub[$second_level]['link']), $image . ' ' . $menu_sub[$second_level]['label']) . '</li>';
  9. } else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. //--------------------------------------------------------------
  2. // level 3
  3. if (isset($menu_sub[$second_level]['sub_menu'])) {
  4. $output .= '<ul>';
  5. foreach ($menu_sub[$second_level]['sub_menu'] as $third_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $image = '';
  7. if (!is_null($menu_sub[$third_level]['link'])) {
  8. $output .= '<li>' . HTML::link(CLICSHOPPING::link($menu_sub[$third_level]['link']), $image . ' ' . $menu_sub[$third_level]['label']) . '</li>';
  9. } else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. //--------------------------------------------------------------
  2. // level 4
  3. if (isset($menu_sub[$third_level]['sub_menu'])) {
  4. // $output .= '<ul>';
  5. foreach ($menu_sub[$third_level]['sub_menu'] as $fourth_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $image = '';
  7. if (!is_null($menu_sub[$fourth_level]['link'])) {
  8. $output .= '<li>' . HTML::link(CLICSHOPPING::link($menu_sub[$fourth_level]['link']), $image . ' ' . $menu_sub[$fourth_level]['label']) . '</li>';
  9. } else {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // level 2
  2. if (isset($menus['sub_menu'])) {
  3. $output .= '<ul class="flex-column pl-1 nav" id="submenu2sub1" aria-expanded="false">';
  4. $n = 1;
  5. foreach ($menus['sub_menu'] as $second_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. ++$n;
  7. $image = '';
  8. if ($menu_sub[$second_level]['link'] != '') {
  9. $output .= '<li class="nav-item p-1 small m-1">' . HTML::link(CLICSHOPPING::link($menu_sub[$second_level]['link']), $image . ' ' . $menu_sub[$second_level]['label'], 'class="nav-link"') . '</li>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // level 3
  2. if (isset($menu_sub[$second_level]['sub_menu'])) {
  3. $output .= '<ul class="flex-column p-2 nav" id="submenu3sub1" aria-expanded="false"">';
  4. $z = 1;
  5. foreach ($menu_sub[$second_level]['sub_menu'] as $third_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $z = $z + 1;
  7. $image = '';
  8. if (!is_null($menu_sub[$third_level]['link'])) {
  9. $output .= '<li class="nav-item p-1 small m-1">' . HTML::link(CLICSHOPPING::link($menu_sub[$third_level]['link']), $image . ' ' . $menu_sub[$third_level]['label'], ' class="nav-link"') . '</li>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // level 4
  2. if (isset($menu_sub[$third_level]['sub_menu'])) {
  3. $output .= '<ul class="flex-column pl-2 nav" id="submenu4sub1" aria-expanded="false">';
  4. $x = 1;
  5. foreach ($menu_sub[$third_level]['sub_menu'] as $fourth_level) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $x = $x + 1;
  7. $image = '';
  8. if (!is_null($menu_sub[$fourth_level]['link'])) {
  9. $output .= '<li class="nav-item p-1 small m-1">' . HTML::link(CLICSHOPPING::link($menu_sub[$fourth_level]['link']), $image . ' ' . $menu_sub[$fourth_level]['label'], 'nav-link') . '</li>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qapi->execute();
  2. $categories_data = [];
  3. foreach ($Qapi->fetchAll() as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $categories_data[] = [
  5. 'categories_id' => $row['categories_id'],
  6. 'parent_id' => $row['parent_id'],
  7. 'language_id' => $row['language_id'],
  8. 'categories_name' => $row['categories_name'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $customer_data = [];
  2. $result = $Qapi->fetchAll();
  3. foreach ($result as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $customer_data[] = [
  5. 'customers_id' => $value['customers_id'],
  6. 'customers_company' => $value['customers_company'],
  7. 'customers_gender' => $value['customers_gender'],
  8. 'customers_firstname' => Hash::displayDecryptedDataText($value['customers_firstname']),
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qapi->execute();
  2. $manufacturers_data = [];
  3. foreach ($Qapi->fetchAll() as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $manufacturers_data[] = [
  5. 'manufacturers_id' => $row['manufacturers_id'],
  6. 'languages_id' => $row['languages_id'],
  7. 'manufacturers_name' => $row['manufacturers_name'],
  8. 'date_added' => $row['date_added'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $customer_data = [];
  2. $result = $Qapi->fetchAll();
  3. foreach ($result as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $customer_data[] = [
  5. 'orders_id' => $value['orders_id'],
  6. 'customers_id' => $value['customers_id'],
  7. 'customers_company' => $value['customers_company'],
  8. 'customers_siret' => $value['customers_siret'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qapi->execute();
  2. $product_data = [];
  3. foreach ($Qapi->fetchAll() as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $product_data[] = [
  5. 'products_id' => $row['products_id'],
  6. 'language_id' => $row['language_id'],
  7. 'products_name' => $row['products_name'],
  8. 'products_description' => $row['products_description'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qapi->execute();
  2. $products = [];
  3. foreach ($Qapi->fetchAll() as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $product_id = $row['products_id'];
  5. $language_code = $CLICSHOPPING_Language->getLanguageCodeById($row['language_id']);
  6. if (!isset($products[$product_id])) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $Qapi->execute();
  2. $suppliers_data = [];
  3. foreach ($Qapi->fetchAll() as $row) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  4. $suppliers_data[] = [
  5. 'suppliers_id' => $row['suppliers_id'],
  6. 'languages_id' => $row['languages_id'],
  7. 'suppliers_name' => $row['suppliers_name'],
  8. 'date_added' => $row['date_added'],
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
in install/rpc.php, line 128
  1. );
  2. $CLICSHOPPING_Db->setTablePrefix('');
  3. $CLICSHOPPING_Db->exec('SET FOREIGN_KEY_CHECKS = 0');
  4. foreach (glob(CLICSHOPPING::BASE_DIR . 'Schema/MariaDb/*.txt') as $f) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $schema = $CLICSHOPPING_Db->getSchemaFromFile($f);
  6. $sql = $CLICSHOPPING_Db->getSqlFromSchema($schema, $_POST['prefix']);
  7. $CLICSHOPPING_Db->exec('DROP TABLE IF EXISTS ' . $_POST['prefix'] . basename($f, '.txt'));
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. throw new \RuntimeException(sprintf('Directory "%s" was not created', $concurrentDirectory));
  2. }
  3. }
  4. }
  5. foreach (glob(Cache::getPath() . '*.cache') as $c) {
    Argument of an invalid type list<string>|false supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. unlink($c);
  7. }
  8. $dir_fs_document_root = $_POST['DIR_FS_DOCUMENT_ROOT'];
  9. if ((substr($dir_fs_document_root, -1) != '\\') && (substr($dir_fs_document_root, -1) != '/')) {
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (!isset($_POST['DB_SKIP_IMPORT'])) {
  2. if (\is_array($modules)) {
  3. foreach ($modules as $m) {
  4. $m_installed = [];
  5. foreach ($m['modules'] as $module) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping - e-commerce Solution B2B B2C
  6. $file = $module['file'];
  7. $class = $module['class'] ?? basename($file, '.php');
  8. $code = $module['code'] ?? $file;
  9. include_once($m['dir'] . $file);
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $mo->install();
  2. $m_installed[] = $code;
  3. if (isset($module['params'])) {
  4. foreach ($module['params'] as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $CLICSHOPPING_Db->save('configuration', ['configuration_value' => $value], ['configuration_key' => $key]);
  6. }
  7. }
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Obtenir tous les fichiers CSS de façon sécurisée
  2. $files_array = get_files_secure($root_dir);
  3. // Créer les chemins relatifs
  4. $files_css_replace = [];
  5. foreach ($files_array as $file) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $relative = str_replace($root_dir . DIRECTORY_SEPARATOR, '', $file);
  7. $relative = str_replace(DIRECTORY_SEPARATOR, '/', $relative);
  8. $files_css_replace[] = $relative;
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <strong><?php echo CLICSHOPPING::getDef('module_account_customers_history_heading_description'); ?></strong></div>
  2. <div class="mt-1"></div>
  3. <div>
  4. <?php
  5. if ($ordersTotalRow > 0) {
  6. foreach ($Qorders->fetchAll() as $order) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. if (!empty($order['delivery_name'])) {
  8. $order_type = CLICSHOPPING::getDef('module_account_customers_history_order_shipped_to');
  9. $order_name = $order['delivery_name'];
  10. } else {
  11. $order_type = CLICSHOPPING::getDef('module_account_customers_history_order_billed_to');
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="mt-1"></div>
  2. <div class="card-text">
  3. <div class="row">
  4. <?php
  5. foreach ($Qstatuse as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $customer_support = HistoryInfo::getHistoryInfoSupportCustomer($value['orders_status_support_id']);
  7. echo '<div class="mt-1"></div>';
  8. echo '<div class="col-md-12">';
  9. echo '<span class="col-md-4 text-muted"><i class="bi bi-arrow-right-square-fill" aria-hidden="true">&nbsp;&nbsp;&nbsp;</i>' . DateTime::toShort($value['date_added']) . '</span> ';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. </div>
  2. <div class="mt-1"></div>
  3. <div class="hr"></div>
  4. <div class="mt-1"></div>
  5. <?php
  6. foreach ($historyCheck as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <div class="col-md-12">
  9. <div class="card">
  10. <div class="card-header">
  11. <div class="row">
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <?php
  2. /*
  3. * Status
  4. */
  5. foreach ($HistoryCheckInfo as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. ?>
  7. <div class="col-md-12">
  8. <div class="card">
  9. <div class="card-header">
  10. <div class="row">
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. if (\count($best_sellers) >= (defined('MODULE_BOXES_BEST_SELLERS_MIN_DISPLAY') ? (int)MODULE_BOXES_BEST_SELLERS_MIN_DISPLAY : 0) && \count($best_sellers) <= (defined('MODULE_BOXES_BEST_SELLERS_MAX_DISPLAY') ? (int)MODULE_BOXES_BEST_SELLERS_MAX_DISPLAY : 0)) {
  2. $position = 1;
  3. $bestsellers_list = '<ol class="olBestSellers">';
  4. foreach ($best_sellers as $b) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. $products_name_url = $CLICSHOPPING_ProductsFunctionTemplate->getProductsUrlRewrited()->getProductNameUrl($b['products_id']);
  6. $bestsellers_list .= '<li class="BestSellerLi">' . HTML::link($products_name_url, null . ' <span itemprop="itemListElement">' . $b['products_name'] . '</span>') . '</li>';
  7. $position++;
  8. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. // Display a list
  2. if (defined('MODULE_BOXES_MANUFACTURERS_MANUFACTURERS_LIST') && MODULE_BOXES_MANUFACTURERS_MANUFACTURERS_LIST == 'list') {
  3. if (\count($manufacturers) <= (defined('MODULE_BOXES_MANUFACTURERS_MAX_MANUFACTURERS_LIST') ? (int)MODULE_BOXES_MANUFACTURERS_MAX_MANUFACTURERS_LIST : 0)) {
  4. $manufacturers_list = '<ul style="list-style: none; margin: 0; padding: 0;">';
  5. foreach ($manufacturers as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $manufacturer_url = $CLICSHOPPING_Manufacturers->getManufacturerUrlRewrited()->getManufacturerUrl((int)$m['id']);
  7. $manufacturers_name = ((\strlen($m['name']) > (defined('MODULE_BOXES_MANUFACTURERS_MAX_DISPLAY_MANUFACTURER_NAME_LEN') ? (int)MODULE_BOXES_MANUFACTURERS_MAX_DISPLAY_MANUFACTURER_NAME_LEN : 0)) ? substr($m['name'], 0, defined('MAX_DISPLAY_MANUFACTURER_NAME_LEN') ? MAX_DISPLAY_MANUFACTURER_NAME_LEN : 0) . '..' : $m['name']);
  8. if (isset($_GET['manufacturersId']) && ($_GET['manufacturersId'] == $m['id'])) {
  9. $manufacturers_name = '<strong>' . $manufacturers_name . '</strong>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $manufacturers_array[] = ['id' => '',
  2. 'text' => CLICSHOPPING::getDef('pull_down_default')
  3. ];
  4. }
  5. foreach ($manufacturers as $m) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $manufacturers_name = ((\strlen($m['name']) > (defined('MODULE_BOXES_MANUFACTURERS_MAX_DISPLAY_MANUFACTURER_NAME_LEN') ? (int)MODULE_BOXES_MANUFACTURERS_MAX_DISPLAY_MANUFACTURER_NAME_LEN : 0)) ? substr($m['name'], 0, defined('MAX_DISPLAY_MANFACTURER_NAME_LEN') ? MAX_DISPLAY_MANFACTURER_NAME_LEN : 0) . '..' : $m['name']);
  7. $manufacturers_array[] = ['id' => $m['id'],
  8. 'text' => $manufacturers_name
  9. ];
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $data .= '</div>';
  2. } else {
  3. // load the selected shipping module
  4. $radio_buttons = 0;
  5. foreach ($quotes as $n => $quote) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. if (isset($quote['methods'])) {
  7. for ($j = 0, $n2 = \count($quote['methods']); $j < $n2; $j++) {
  8. $data .= '<tr>' . "\n";
  9. $data .= '<tr>';
  10. $data .= '<td>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Template = Registry::get('Template');
  2. if (isset($this->_data[$parent_id])) {
  3. $result = '';
  4. foreach ($this->_data[$parent_id] as $category_id => $category) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  5. if ($this->breadcrumb_usage === true) {
  6. $category_link = $this->buildBreadcrumb($category_id);
  7. } else {
  8. $category_link = $category_id;
  9. }
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. echo '</tr>';
  2. echo '</thead>';
  3. echo '<tbody>';
  4. $products = $CLICSHOPPING_ShoppingCart->get_products();
  5. foreach ($products as $v) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<tr>';
  7. echo '<td class="multiTemplateDefault-cart-qty cart-qty">' . HTML::outputProtected($v['quantity']) . '</td>';
  8. echo '<td class="multiTemplateDefault-cart-product cart-product">' . HTML::outputProtected($v['name']) . '</td>';
  9. echo '<td class="multiTemplateDefault-cart-total cart-total text-end">' . $CLICSHOPPING_Currencies->displayPrice($v['final_price'], $CLICSHOPPING_Tax->getTaxRate($v['tax_class_id']), $v['quantity']) . '</td>';
  10. echo '</tr>';
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. echo '</tr>';
  2. echo '</thead>';
  3. echo '<tbody>';
  4. $products = $CLICSHOPPING_ShoppingCart->get_products();
  5. foreach ($products as $v) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo '<tr>';
  7. echo '<td class="multiTemplateDefault-cart-qty cart-qty">' . HTML::outputProtected($v['quantity']) . '</td>';
  8. echo '<td class="multiTemplateDefault-cart-product cart-product">' . HTML::outputProtected($v['name']) . '</td>';
  9. echo '<td class="multiTemplateDefault-cart-total cart-total text-end">' . $CLICSHOPPING_Currencies->displayPrice($v['final_price'], $CLICSHOPPING_Tax->getTaxRate($v['tax_class_id']), $v['quantity']) . '</td>';
  10. echo '</tr>';
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div>
  2. <?php
  3. $pi_counter = 0;
  4. $pi_html = [];
  5. foreach ($pi as $image) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. $pi_counter++;
  7. if (!empty($image['htmlcontent'])) {
  8. if ($this->getVideo($image['htmlcontent']) === true) {
  9. $pi_html[] = '<li class="image-additional"><a class="thumbnail popup-youtube" href="' . $image['htmlcontent'] . '"><img src="' . CLICSHOPPING::link($CLICSHOPPING_Template->getDirectoryTemplateImages() . $image['image']) . '" width="' . $thumbail_width . '" height="' . $thumbail_height . '" title="' . $products_name . '" alt="' . $products_name . '" id="piGalImg_' . $pi_counter . '"></a></li>';
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <h4><?php echo CLICSHOPPING::getDef('text_product_options'); ?></h4>
  2. </div>
  3. <div>
  4. <div class="col-md-6">
  5. <?php
  6. foreach ($products_options_name_array as $key => $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. ?>
  8. <div>
  9. <label class="col-md-3"><?php echo $key . ':'; ?></label>
  10. <div class="col-md-9">
  11. <?php echo HTML::selectMenu('id[' . $value . ']', $products_options_array[$value], $selected_attribute[$value]); ?>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. <div class="row">
  2. <span class="col-md-11 productsReviewInfoContentCustomerTag">
  3. <?php
  4. echo CLICSHOPPING::getDef('modules_products_reviews_info_content_text_customers_tag');
  5. foreach ($customer_tag as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  6. echo ' <span class="badge text-bg-primary">' . $value . '</span> ';
  7. }
  8. ?>
  9. </span>
  10. </div>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting
  1. ?>
  2. <div class="row">
  3. <span class="col-md-10 productsReviewsListingContentTag">
  4. <?php
  5. echo CLICSHOPPING::getDef('modules_products_reviews_listing_content_text_sentiment') . ' ';
  6. foreach ($customer_tag as $value) {
    Argument of an invalid type mixed supplied for foreach, only iterables are supported.
    Last edited by ClicShopping
  7. echo ' <span class="badge text-bg-primary">' . $value . '</span> ';
  8. }
  9. ?>
  10. </span>
  11. </div>
  • gyakutsuki

    no interesting
  • gyakutsuki

    no relevant
  • gyakutsuki

    not relevant
  • gyakutsuki

    No relevant
  • gyakutsuki

    not interesting

Your project should not contain unused code 145

More information: https://insight.symfony.com/what-we-analyse/php.unused_local_variable_or_private_member

  1. * - Simplify configuration for administrators
  2. *
  3. * Only CALCULATOR_ENABLED should be in global config for admin control.
  4. */
  5. private const MAX_HISTORY_SIZE = 100; // Maximum calculation history entries
  6. private const STRICT_VALIDATION = true; // Enable strict expression validation
    Constant ClicShopping\AI\Infrastructure\Metrics\CalculatorTool::STRICT_VALIDATION is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private const MAX_EXECUTION_TIME = 5; // Max calculation time (seconds)
  8. private const CACHE_TTL = 3600; // Cache TTL (1 hour)
  9. // Variables définies par l'utilisateur
  10. private array $variables = [];
  • gyakutsuki

    not interesting
  1. *
  2. * Only CALCULATOR_ENABLED should be in global config for admin control.
  3. */
  4. private const MAX_HISTORY_SIZE = 100; // Maximum calculation history entries
  5. private const STRICT_VALIDATION = true; // Enable strict expression validation
  6. private const MAX_EXECUTION_TIME = 5; // Max calculation time (seconds)
    Constant ClicShopping\AI\Infrastructure\Metrics\CalculatorTool::MAX_EXECUTION_TIME is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private const CACHE_TTL = 3600; // Cache TTL (1 hour)
  8. // Variables définies par l'utilisateur
  9. private array $variables = [];
  • gyakutsuki

    not interesting
  1. private float $similarityThreshold = 0.7; // Threshold for semantic search
  2. // Statistics
  3. private array $stats = [];
  4. private ?int $lastEntityId = null;
    Property ClicShopping\AI\Agents\Memory\ConversationMemory::$lastEntityId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. private ?string $lastEntityType = null;
  6. private mixed $db;
  7. // 🆕 Refactored components
  8. private ShortTermMemoryManager $shortTermManager;
  • gyakutsuki

    not interesting
  1. // Statistics
  2. private array $stats = [];
  3. private ?int $lastEntityId = null;
  4. private ?string $lastEntityType = null;
    Property ClicShopping\AI\Agents\Memory\ConversationMemory::$lastEntityType is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. private mixed $db;
  6. // 🆕 Refactored components
  7. private ShortTermMemoryManager $shortTermManager;
  8. private LongTermMemoryManager $longTermManager;
  • gyakutsuki

    not interesting
  1. // Statistics
  2. private array $stats = [];
  3. private ?int $lastEntityId = null;
  4. private ?string $lastEntityType = null;
  5. private mixed $db;
    Property ClicShopping\AI\Agents\Memory\ConversationMemory::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // 🆕 Refactored components
  7. private ShortTermMemoryManager $shortTermManager;
  8. private LongTermMemoryManager $longTermManager;
  9. private ContextResolver $contextResolver;
  • gyakutsuki

    not interesting
  1. private bool $debug;
  2. private string $userId;
  3. private int $languageId;
  4. // Configuration de rétention (en secondes)
  5. private const TTL_WORKING_MEMORY = 300; // 5 minutes
    Constant ClicShopping\AI\Agents\Memory\MemoryRetentionService::TTL_WORKING_MEMORY is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private const TTL_SHORT_TERM = 3600; // 1 heure
  7. private const TTL_LONG_TERM = 2592000; // 30 jours avant suppression
  8. public function __construct(
  9. string $userId = 'system',
  • gyakutsuki

    not interesting
  1. private int $languageId;
  2. // Configuration de rétention (en secondes)
  3. private const TTL_WORKING_MEMORY = 300; // 5 minutes
  4. private const TTL_SHORT_TERM = 3600; // 1 heure
  5. private const TTL_LONG_TERM = 2592000; // 30 jours avant suppression
    Constant ClicShopping\AI\Agents\Memory\MemoryRetentionService::TTL_LONG_TERM is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. public function __construct(
  7. string $userId = 'system',
  8. ?int $languageId = null
  9. ) {
  • gyakutsuki

    not interesting
  1. private AmbiguousQueryDetector $ambiguityDetector;
  2. private PromptBuilder $promptBuilder;
  3. private AmbiguityHandler $ambiguityHandler;
  4. private AnalyticsErrorHandler $errorHandler;
  5. private mixed $app;
  6. private mixed $lang;
    Property ClicShopping\AI\Agents\Orchestrator\AnalyticsAgent::$lang is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. // Cache properties
  8. private array $tableSchemaCache = [];
  9. private array $promptCache = [];
  10. private array $columnIndex = [];
  • gyakutsuki

    not interesting
  1. private AnalyticsErrorHandler $errorHandler;
  2. private mixed $app;
  3. private mixed $lang;
  4. // Cache properties
  5. private array $tableSchemaCache = [];
    Property ClicShopping\AI\Agents\Orchestrator\AnalyticsAgent::$tableSchemaCache is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private array $promptCache = [];
  7. private array $columnIndex = [];
  8. private mixed $conversationMemory = null;
  9. private string $Usecache;
  • gyakutsuki

    not interesting
  1. private mixed $app;
  2. private mixed $lang;
  3. // Cache properties
  4. private array $tableSchemaCache = [];
  5. private array $promptCache = [];
    Property ClicShopping\AI\Agents\Orchestrator\AnalyticsAgent::$promptCache is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private array $columnIndex = [];
  7. private mixed $conversationMemory = null;
  8. private string $Usecache;
  9. /**
  • gyakutsuki

    not interesting
  1. private mixed $lang;
  2. // Cache properties
  3. private array $tableSchemaCache = [];
  4. private array $promptCache = [];
  5. private array $columnIndex = [];
    Property ClicShopping\AI\Agents\Orchestrator\AnalyticsAgent::$columnIndex is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $conversationMemory = null;
  7. private string $Usecache;
  8. /**
  9. * Constructor for AnalyticsAgent
  • gyakutsuki

    not interesting
  1. // Cache properties
  2. private array $tableSchemaCache = [];
  3. private array $promptCache = [];
  4. private array $columnIndex = [];
  5. private mixed $conversationMemory = null;
  6. private string $Usecache;
    Property ClicShopping\AI\Agents\Orchestrator\AnalyticsAgent::$Usecache is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor for AnalyticsAgent
  9. * Initializes database connection, language settings, and AI chat interface
  10. * Sets up schema caching, table relationships, and security components
  • gyakutsuki

    not interesting
  1. private Cache $cache;
  2. private bool $debug;
  3. private string $userId;
  4. private int $languageId;
  5. private mixed $language;
  6. private mixed $chat;
    Property ClicShopping\AI\Agents\Orchestrator\CorrectionAgent::$chat is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. // Stratégies de correction
  8. private array $correctionStrategies = [];
  9. // Statistiques d'apprentissage
  • gyakutsuki

    not interesting
  1. 'learned_patterns' => 0,
  2. 'correction_accuracy' => 0.0,
  3. ];
  4. // Configuration
  5. private int $maxCorrectionAttempts = 3;
    Property ClicShopping\AI\Agents\Orchestrator\CorrectionAgent::$maxCorrectionAttempts is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private float $confidenceThreshold = 0.7;
  7. private int $maxSimilarCases = 5;
  8. private mixed $db;
  9. private ?array $entityTypeConfig = null;
  • gyakutsuki

    not interesting
  1. // Configuration
  2. private int $maxCorrectionAttempts = 3;
  3. private float $confidenceThreshold = 0.7;
  4. private int $maxSimilarCases = 5;
  5. private mixed $db;
    Property ClicShopping\AI\Agents\Orchestrator\CorrectionAgent::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private ?array $entityTypeConfig = null;
  7. /**
  8. * Constructor
  9. *
  • gyakutsuki

    not interesting
  1. private int $maxCorrectionAttempts = 3;
  2. private float $confidenceThreshold = 0.7;
  3. private int $maxSimilarCases = 5;
  4. private mixed $db;
  5. private ?array $entityTypeConfig = null;
    Property ClicShopping\AI\Agents\Orchestrator\CorrectionAgent::$entityTypeConfig is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. /**
  7. * Constructor
  8. *
  9. * @param string $userId Identifiant de l'utilisateur
  • gyakutsuki

    not interesting
  1. class OrchestratorAgent
  2. {
  3. // Removed duplicate/unused properties (keep single source of truth)
  4. private ?MetricsCollector $collector = null;
  5. private SecurityLogger $securityLogger;
  6. private RateLimit $rateLimit;
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$rateLimit is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $userId;
  8. private bool $debug;
  9. private int $languageId;
  10. private int $entityId;
  11. private $db;
  • gyakutsuki

    not interesting
  1. private RateLimit $rateLimit;
  2. private string $userId;
  3. private bool $debug;
  4. private int $languageId;
  5. private int $entityId;
  6. private $db;
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $prefix;
  8. // Agents disponibles
  9. private ?MultiDBRAGManager $ragManager = null;
  • gyakutsuki

    not interesting
  1. private int $entityId;
  2. private $db;
  3. private string $prefix;
  4. // Agents disponibles
  5. private ?MultiDBRAGManager $ragManager = null;
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$ragManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // Statistiques d'exécution
  7. private array $executionStats = [];
  8. // Mémoire conversationnelle et de travail
  • gyakutsuki

    not interesting
  1. private ValidationAgent $validationAgent;
  2. private ReasoningAgent $reasoningAgent;
  3. // Monitoring / alerting / response processing
  4. private MonitoringAgent $monitoring;
  5. private AlertManager $alertManager;
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$alertManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private LlmResponseProcessor $responseProcessor; // LLM formatter
  7. private ?ResponseProcessorComponent $responseProcessorComponent = null;
  8. // Sub-orchestrator components
  9. private IntentAnalyzer $intentAnalyzer;
  • gyakutsuki

    not interesting
  1. private ?QueryAnalyzer $queryAnalyzer = null;
  2. private ?ErrorHandlerComponent $errorHandler = null;
  3. private ?MemoryManagerComponent $memoryManager = null;
  4. // Diagnostics
  5. private array $recentErrors = [];
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$recentErrors is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private int $maxErrors = 50;
  7. /**
  8. * Constructor
  9. *
  • gyakutsuki

    not interesting
  1. private ?ErrorHandlerComponent $errorHandler = null;
  2. private ?MemoryManagerComponent $memoryManager = null;
  3. // Diagnostics
  4. private array $recentErrors = [];
  5. private int $maxErrors = 50;
    Property ClicShopping\AI\Agents\Orchestrator\OrchestratorAgent::$maxErrors is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. /**
  7. * Constructor
  8. *
  9. * @param string $userId Identifiant de l'utilisateur
  • gyakutsuki

    not interesting
  1. */
  2. #[AllowDynamicProperties]
  3. class ReasoningAgent
  4. {
  5. private SecurityLogger $securityLogger;
  6. private mixed $chat;
    Property ClicShopping\AI\Agents\Orchestrator\ReasoningAgent::$chat is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. private ?ReasoningAgentStats $persistentStats = null;
  9. // Configuration
  10. private string $reasoningMode = 'chain_of_thought'; // chain_of_thought, tree_of_thought, self_consistency
  • gyakutsuki

    not interesting
  1. * Cache entries expire after 1 hour (TRANSLATION_CACHE_TTL).
  2. *
  3. * @param string $query Query to translate
  4. * @return string Translated query in English
  5. */
  6. private function translateToEnglishCached(string $query): string
    Method ClicShopping\AI\Agents\Orchestrator\SubHybridQueryProcessor\QuerySplitter::translateToEnglishCached() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. // Generate cache key
  9. $cacheKey = md5($query);
  10. // Check if translation is cached and not expired
  • gyakutsuki

    not interesting
  1. */
  2. #[AllowDynamicProperties]
  3. class ValidationAgent
  4. {
  5. private SecurityLogger $securityLogger;
  6. private DbSecurity $dbSecurity;
    Property ClicShopping\AI\Agents\Orchestrator\ValidationAgent::$dbSecurity is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private mixed $db;
  8. private bool $debug;
  9. private array $schemaCache = [];
  10. // Configuration
  • gyakutsuki

    not interesting
  1. private mixed $db;
  2. private bool $debug;
  3. private array $schemaCache = [];
  4. // Configuration
  5. private int $maxExecutionTimeMs = 5000; // 5 secondes max
    Property ClicShopping\AI\Agents\Orchestrator\ValidationAgent::$maxExecutionTimeMs is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private int $maxRowsWarning = 10000;
  7. private float $securityScoreThreshold = 0.4; // Lowered from 0.7 to reduce false positives
  8. // Statistiques
  9. private array $stats = [
  • gyakutsuki

    not interesting
  1. private string $status = 'pending'; // pending, in_progress, completed, failed
  2. private array $stepResults = [];
  3. private ?string $finalResult = null;
  4. private float $executionTime = 0.0;
  5. private ?AnalyticsAgent $analyticsAgent = null;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$analyticsAgent is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private ?MultiDBRAGManager $ragManager = null;
  7. private bool $debug;
  8. private string $userId;
  9. private int $languageId;
  • gyakutsuki

    not interesting
  1. private array $stepResults = [];
  2. private ?string $finalResult = null;
  3. private float $executionTime = 0.0;
  4. private ?AnalyticsAgent $analyticsAgent = null;
  5. private ?MultiDBRAGManager $ragManager = null;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$ragManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private bool $debug;
  7. private string $userId;
  8. private int $languageId;
  9. // Configuration
  • gyakutsuki

    not interesting
  1. private ?string $finalResult = null;
  2. private float $executionTime = 0.0;
  3. private ?AnalyticsAgent $analyticsAgent = null;
  4. private ?MultiDBRAGManager $ragManager = null;
  5. private bool $debug;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$debug is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private string $userId;
  7. private int $languageId;
  8. // Configuration
  9. private int $maxRetries = 2;
  • gyakutsuki

    not interesting
  1. private float $executionTime = 0.0;
  2. private ?AnalyticsAgent $analyticsAgent = null;
  3. private ?MultiDBRAGManager $ragManager = null;
  4. private bool $debug;
  5. private string $userId;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$userId is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private int $languageId;
  7. // Configuration
  8. private int $maxRetries = 2;
  9. private bool $enableParallelExecution = false; // Pour future implémentation
  • gyakutsuki

    not interesting
  1. private ?AnalyticsAgent $analyticsAgent = null;
  2. private ?MultiDBRAGManager $ragManager = null;
  3. private bool $debug;
  4. private string $userId;
  5. private int $languageId;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$languageId is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // Configuration
  7. private int $maxRetries = 2;
  8. private bool $enableParallelExecution = false; // Pour future implémentation
  • gyakutsuki

    not interesting
  1. private bool $debug;
  2. private string $userId;
  3. private int $languageId;
  4. // Configuration
  5. private int $maxRetries = 2;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$maxRetries is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private bool $enableParallelExecution = false; // Pour future implémentation
  7. private ?CalculatorTool $calculatorTool = null;
  8. private ?WebSearchTool $webSearchTool = null; // 🆕 Outil de recherche web
  • gyakutsuki

    not interesting
  1. private string $userId;
  2. private int $languageId;
  3. // Configuration
  4. private int $maxRetries = 2;
  5. private bool $enableParallelExecution = false; // Pour future implémentation
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$enableParallelExecution is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private ?CalculatorTool $calculatorTool = null;
  7. private ?WebSearchTool $webSearchTool = null; // 🆕 Outil de recherche web
  • gyakutsuki

    not interesting
  1. // Configuration
  2. private int $maxRetries = 2;
  3. private bool $enableParallelExecution = false; // Pour future implémentation
  4. private ?CalculatorTool $calculatorTool = null;
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$calculatorTool is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. private ?WebSearchTool $webSearchTool = null; // 🆕 Outil de recherche web
  6. /**
  7. * Constructor
  • gyakutsuki

    not interesting
  1. // Configuration
  2. private int $maxRetries = 2;
  3. private bool $enableParallelExecution = false; // Pour future implémentation
  4. private ?CalculatorTool $calculatorTool = null;
  5. private ?WebSearchTool $webSearchTool = null; // 🆕 Outil de recherche web
    Property ClicShopping\AI\Agents\Planning\ExecutionPlan::$webSearchTool is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. /**
  7. * Constructor
  8. *
  • gyakutsuki

    not interesting
  1. #[AllowDynamicProperties]
  2. class PlanExecutor
  3. {
  4. private SecurityLogger $securityLogger;
  5. private TaskPlanner $planner;
  6. private ?AnalyticsAgent $analyticsAgent = null;
    Property ClicShopping\AI\Agents\Planning\PlanExecutor::$analyticsAgent is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private ?MultiDBRAGManager $ragManager = null;
  8. private bool $debug;
  9. private string $userId;
  10. private int $languageId;
  • gyakutsuki

    not interesting
  1. class PlanExecutor
  2. {
  3. private SecurityLogger $securityLogger;
  4. private TaskPlanner $planner;
  5. private ?AnalyticsAgent $analyticsAgent = null;
  6. private ?MultiDBRAGManager $ragManager = null;
    Property ClicShopping\AI\Agents\Planning\PlanExecutor::$ragManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. private string $userId;
  9. private int $languageId;
  10. // Configuration
  • gyakutsuki

    not interesting
  1. private string $userId;
  2. private int $languageId;
  3. // Configuration
  4. private int $maxRetries = 2;
  5. private bool $enableParallelExecution = false; // Pour future implémentation
    Property ClicShopping\AI\Agents\Planning\PlanExecutor::$enableParallelExecution is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private ?CalculatorTool $calculatorTool = null;
  7. private mixed $webSearchTool;
  8. private mixed $cacheManager;
  9. private mixed $collector;
  • gyakutsuki

    not interesting
  1. private int $maxRetries = 2;
  2. private bool $enableParallelExecution = false; // Pour future implémentation
  3. private ?CalculatorTool $calculatorTool = null;
  4. private mixed $webSearchTool;
  5. private mixed $cacheManager;
    Property ClicShopping\AI\Agents\Planning\PlanExecutor::$cacheManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $collector;
  7. // 🆕 Refactored components
  8. private StepExecutor $stepExecutor;
  9. private AnalyticsExecutor $analyticsExecutor;
  • gyakutsuki

    not interesting
  1. // 🆕 Refactored components
  2. private StepExecutor $stepExecutor;
  3. private AnalyticsExecutor $analyticsExecutor;
  4. private SemanticExecutor $semanticExecutor;
  5. private ToolExecutor $toolExecutor;
    Property ClicShopping\AI\Agents\Planning\PlanExecutor::$toolExecutor is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private ResultSynthesizer $resultSynthesizer;
  7. /**
  8. * Constructor
  9. *
  • gyakutsuki

    not interesting
  1. class TaskPlanner
  2. {
  3. private SecurityLogger $securityLogger;
  4. private mixed $chat;
  5. private bool $debug;
  6. private int $languageId;
    Property ClicShopping\AI\Agents\Planning\TaskPlanner::$languageId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private MetricsCollector $collector;
  8. // SubTaskPlanners spécialisés
  9. private array $subTaskPlanners = [];
  • gyakutsuki

    not interesting
  1. #[AllowDynamicProperties]
  2. class LLMFallbackHandler
  3. {
  4. private SecurityLogger $logger;
  5. private bool $debug;
  6. private string $userId;
    Property ClicShopping\AI\Handler\Fallback\LLMFallbackHandler::$userId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private int $languageId;
  8. /**
  9. * Constructor
  10. *
  • gyakutsuki

    not interesting
  1. class LLMFallbackHandler
  2. {
  3. private SecurityLogger $logger;
  4. private bool $debug;
  5. private string $userId;
  6. private int $languageId;
    Property ClicShopping\AI\Handler\Fallback\LLMFallbackHandler::$languageId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor
  9. *
  10. * @param string $userId User ID
  • gyakutsuki

    not interesting
  1. */
  2. class WebSearchHandler
  3. {
  4. private SecurityLogger $logger;
  5. private ?WebSearchTool $webSearchTool;
  6. private mixed $db;
    Property ClicShopping\AI\Handler\Fallback\WebSearchHandler::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private int $languageId;
  8. private string $userId;
  9. private bool $debug;
  10. /**
  • gyakutsuki

    not interesting
  1. class WebSearchHandler
  2. {
  3. private SecurityLogger $logger;
  4. private ?WebSearchTool $webSearchTool;
  5. private mixed $db;
  6. private int $languageId;
    Property ClicShopping\AI\Handler\Fallback\WebSearchHandler::$languageId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $userId;
  8. private bool $debug;
  9. /**
  10. * Constructor
  • gyakutsuki

    not interesting
  1. {
  2. private SecurityLogger $logger;
  3. private ?WebSearchTool $webSearchTool;
  4. private mixed $db;
  5. private int $languageId;
  6. private string $userId;
    Property ClicShopping\AI\Handler\Fallback\WebSearchHandler::$userId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. /**
  9. * Constructor
  10. *
  • gyakutsuki

    not interesting
  1. *
  2. * PURE LLM MODE: Returns default suggestions
  3. *
  4. * @return array List of suggested questions
  5. */
  6. private function generateVagueSuggestions(): array
    Method ClicShopping\AI\Helper\ClarificationHelper::generateVagueSuggestions() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. // PURE LLM MODE: Return default suggestions
  9. return [
  10. "Rechercher un produit",
  11. "Voir les commandes",
  • gyakutsuki

    not interesting
  1. *
  2. * @package ClicShopping\AI\Helper\Intent
  3. */
  4. class SemanticProcessor
  5. {
  6. private SecurityLogger $logger;
    Property ClicShopping\AI\Helper\Intent\SemanticProcessor::$logger is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. /**
  9. * Cached pattern bypass check result
  10. *
  • gyakutsuki

    not interesting
  1. * Requirements: 8.3
  2. */
  3. class SecurityStatistics
  4. {
  5. private $db;
  6. private string $prefix;
    Property ClicShopping\AI\Infrastructure\Metrics\SecurityStatistics::$prefix is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor
  9. */
  10. public function __construct()
  • gyakutsuki

    not interesting
  1. class DocumentationGenerator
  2. {
  3. private string $projectName = 'ClicShopping AI';
  4. private string $projectVersion = '1.0.0';
  5. private array $analyzedClasses = [];
  6. private mixed $monitoring;
    Property ClicShopping\AI\Infrastructure\Monitoring\DocumentationGenerator::$monitoring is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private mixed $collector;
  8. private mixed $alertManager;
  9. private mixed $aggregator;
  • gyakutsuki

    not interesting
  1. {
  2. private string $projectName = 'ClicShopping AI';
  3. private string $projectVersion = '1.0.0';
  4. private array $analyzedClasses = [];
  5. private mixed $monitoring;
  6. private mixed $collector;
    Property ClicShopping\AI\Infrastructure\Monitoring\DocumentationGenerator::$collector is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private mixed $alertManager;
  8. private mixed $aggregator;
  9. /**
  • gyakutsuki

    not interesting
  1. private string $projectVersion = '1.0.0';
  2. private array $analyzedClasses = [];
  3. private mixed $monitoring;
  4. private mixed $collector;
  5. private mixed $alertManager;
    Property ClicShopping\AI\Infrastructure\Monitoring\DocumentationGenerator::$alertManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $aggregator;
  7. /**
  8. * Constructor
  9. */
  • gyakutsuki

    not interesting
  1. private mixed $monitoring;
  2. private mixed $collector;
  3. private mixed $alertManager;
  4. private mixed $aggregator;
    Property ClicShopping\AI\Infrastructure\Monitoring\DocumentationGenerator::$aggregator is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. /**
  6. * Constructor
  7. */
  8. public function __construct(string $projectName = 'ClicShopping AI', string $version = '1.0.0')
  9. {
  • gyakutsuki

    not interesting
  1. // Historique métriques (dernières 24h)
  2. private array $metricsHistory = [];
  3. // Configuration
  4. private int $historyRetention = 86400; // 24h
  5. private int $snapshotInterval = 300; // 5 minutes
    Property ClicShopping\AI\Infrastructure\Monitoring\MonitoringAgent::$snapshotInterval is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private int $alertCooldown = 1800; // 30 minutes
  7. /**
  8. * Constructor
  9. */
  • gyakutsuki

    not interesting
  1. private mixed $securityLogger;
  2. private bool $debug = false;
  3. private static array $tableStatsCache = [];
  4. private mixed $resultFormatter;
  5. private int $userId;
    Property ClicShopping\AI\Rag\MultiDBRAGManager::$userId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $metadata;
  7. // Reranking properties (Task 2.14.3 - LLPhant reranking integration)
  8. private ?LLMReranker $reranker = null;
  9. private bool $useReranking = false;
  • gyakutsuki

    not interesting
  1. */
  2. private function createEmbeddingGenerator(): EmbeddingGeneratorInterface
  3. {
  4. return new class(Gpt::class) implements EmbeddingGeneratorInterface
  5. {
  6. private $gptClass;
    Property LLPhant\Embeddings\EmbeddingGenerator\EmbeddingGeneratorInterface@anonymous/Core/ClicShopping/AI/Rag/MultiDBRAGManager.php:308::$gptClass is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. /**
  8. * Constructor for the embedding generator
  9. *
  10. * @param string $gptClass Class name of the Gpt instance
  • gyakutsuki

    not interesting
  1. * Analyse le contenu réel d'une table pour comprendre ce qu'elle contient
  2. *
  3. * @param string $tableName Nom de la table à analyser
  4. * @return array Statistiques et échantillons de contenu
  5. */
  6. private function analyzeTableContent(string $tableName): array
    Method ClicShopping\AI\Rag\MultiDBRAGManager::analyzeTableContent() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. // Utiliser le cache si disponible
  9. if (isset(self::$tableStatsCache[$tableName])) {
  10. return self::$tableStatsCache[$tableName];
  11. }
  • gyakutsuki

    not interesting
  1. *
  2. * @param string $prompt La requête utilisateur originale.
  3. * @param array $context Le contexte structuré (array) retourné par MemoryRetentionService.
  4. * @return string Le prompt final formaté pour le LLM.
  5. */
  6. private function buildPromptWithContext(string $userQuery, array $context): string
    Method ClicShopping\AI\Rag\MultiDBRAGManager::buildPromptWithContext() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. if (empty(array_filter($context, fn($v) => !empty($v)))) {
  9. return $userQuery;
  10. }
  • gyakutsuki

    not interesting
  1. * Requirements: 8.4
  2. */
  3. class SecurityAlerter
  4. {
  5. private $db;
  6. private string $prefix;
    Property ClicShopping\AI\Security\SecurityAlerter::$prefix is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $alertsEnabled;
  8. private string $alertEmail;
  9. private int $alertThreshold;
  10. private int $highThreatThreshold;
  11. private bool $failureAlertsEnabled;
  • gyakutsuki

    not interesting
  1. * 🔧 TASK 6.8: Added QueryPerformanceMonitor integration
  2. */
  3. class QueryExecutor
  4. {
  5. private SecurityLogger $securityLogger;
  6. private DbSecurity $dbSecurity;
    Property ClicShopping\AI\Tools\BIexecution\QueryExecutor::$dbSecurity is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. private int $queryTimeout;
  9. private ?QueryPerformanceMonitor $performanceMonitor;
  10. /**
  • gyakutsuki

    not interesting
  1. class QueryExecutor
  2. {
  3. private SecurityLogger $securityLogger;
  4. private DbSecurity $dbSecurity;
  5. private bool $debug;
  6. private int $queryTimeout;
    Property ClicShopping\AI\Tools\BIexecution\QueryExecutor::$queryTimeout is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private ?QueryPerformanceMonitor $performanceMonitor;
  8. /**
  9. * Constructor
  10. *
  • gyakutsuki

    not interesting
  1. * Used for debugging and performance analysis
  2. *
  3. * @param string $sql SQL query to explain
  4. * @return void
  5. */
  6. private function logExplainPlan(string $sql): void
    Method ClicShopping\AI\Tools\BIexecution\QueryExecutor::logExplainPlan() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. try {
  9. $stmt = $this->db->prepare('EXPLAIN ' . $sql);
  10. $stmt->execute();
  11. $plan = $stmt->fetchAll();
  • gyakutsuki

    not interesting
  1. * Implements comprehensive security measures for SQL processing
  2. */
  3. class SqlQueryProcessor
  4. {
  5. private SecurityLogger $securityLogger;
  6. private int $languageId;
    Property ClicShopping\AI\Tools\BIexecution\SqlQueryProcessor::$languageId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. private array $placeholderMap;
  9. private mixed $db;
  • gyakutsuki

    not interesting
  1. *
  2. * @param array $validation Validation result from InputValidator
  3. * @param string $query SQL query being validated
  4. * @return bool True if valid, false otherwise
  5. */
  6. private function isSqlSyntaxValid(array $validation, string $query): bool
    Method ClicShopping\AI\Tools\BIexecution\SqlQueryProcessor::isSqlSyntaxValid() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. if (!$validation['valid']) {
  9. $this->securityLogger->logSecurityEvent(
  10. "Rejected query due to invalid SQL syntax (parse failure)",
  11. 'warning',
  • gyakutsuki

    not interesting
  1. private $db;
  2. /**
  3. * @var string The name of the database table for performance history.
  4. */
  5. private string $tableName = 'mcp_performance_history';
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\MpcPerformanceHistoryStorage::$tableName is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var int The number of days to retain historical data.
  8. */
  9. private int $retentionDays = 90; // Keep data for 90 days by default
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Creates the performance history table if it does not exist.
  2. *
  3. * This private method is responsible for setting up the necessary database table
  4. * with appropriate columns and indexes for storing performance metrics.
  5. */
  6. private function createTableIfNotExists(): void
    Method ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\MpcPerformanceHistoryStorage::createTableIfNotExists() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $sql = "CREATE TABLE IF NOT EXISTS clic_mcp_performance_history (
  9. `id` int(11) NOT NULL AUTO_INCREMENT,
  10. `timestamp` int(11) NOT NULL,
  11. `request_rate` decimal(10,2) NOT NULL DEFAULT 0.00,
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Checks if the user is an administrator based on the context array.
  2. *
  3. * @param array $context The context containing user information.
  4. * @return bool True if the user is an admin, otherwise false.
  5. */
  6. private function isAdmin(array $context): bool
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\CustomersProducts\CustomersProducts::isAdmin() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. return isset($context['user_type']) && $context['user_type'] === 'admin';
  9. }
  10. /**
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:08:27 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param string $message The chat message.
  3. * @param mixed $context The chat context.
  4. * @return void
  5. */
  6. private function redirectToRagBI(string $message, mixed $context): void
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\CustomersProducts\CustomersProducts::redirectToRagBI() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. // Build the RAG BI URL
  9. $ragBiUrl = $this->app->getRagBIEndpoint();
  10. // Prepare data for RAG BI
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:08:47 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. /**
  2. * Handle GET request
  3. */
  4. private function handleGetRequest(array $statusCheck)
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\RagBI\RagBI::handleGetRequest() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  5. {
  6. if ($statusCheck['get'] == 0) {
  7. return $this->sendErrorResponse('Category fetch not allowed');
  8. }
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:22:02 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. }
  2. /**
  3. * Handle PUT request
  4. */
  5. private function handlePutRequest(array $statusCheck)
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\RagBI\RagBI::handlePutRequest() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. {
  7. if (!$statusCheck['update'] == 0) {
  8. return $this->sendErrorResponse('Update not allowed');
  9. }
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. /**
  2. * Handle DELETE request
  3. */
  4. private function handleDeleteRequest(array $statusCheck)
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\RagBI\RagBI::handleDeleteRequest() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  5. {
  6. if ($statusCheck['delete'] == 0) {
  7. return $this->sendErrorResponse('Category deletion not allowed');
  8. }
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. }
  2. /**
  3. * Handle POST request
  4. */
  5. private function handlePostRequest(array $statusCheck)
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\RagBI\RagBI::handlePostRequest() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. {
  7. if (isset($_GET['update']) && $statusCheck['update'] == 0) {
  8. return $this->sendErrorResponse('Category update not allowed');
  9. }
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param string $string The column name to be selected from the database.
  3. * @param string $token The session token used for identifying the API session.
  4. * @return int The integer value associated with the specified column.
  5. */
  6. private function statusCheck(string $string, string $token): int
    Method ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\RagBI\RagBI::statusCheck() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $QstatusCheck = $this->db->prepare( // Correction: use $this->db instead of $this->Db
  9. 'select a.' . $string . '
  10. from :table_mcp a,
  11. :table_mcp_session ase
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. #[AllowDynamicProperties]
  2. class ContextResolver
  3. {
  4. private SecurityLogger $logger;
  5. private bool $debug;
  6. private int $languageId;
    Property ClicShopping\AI\Agents\Memory\SubConversationMemory\ContextResolver::$languageId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private int $maxContextWindow = 5; // Max messages to analyze for context
  8. private EntityTypeRegistry $entityRegistry;
  9. private ?EntityTracker $entityTracker = null; // TASK 4.4.2.7: Injected dependency
  10. /**
  • gyakutsuki

    not interesting
  1. {
  2. private MariaDBVectorStore $vectorStore;
  3. private EmbeddingGeneratorInterface $embeddingGenerator;
  4. private SecurityLogger $logger;
  5. private bool $debug;
  6. private float $similarityThreshold;
    Property ClicShopping\AI\Agents\Memory\SubConversationMemory\LongTermMemoryManager::$similarityThreshold is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private int $maxChunkSize = 2000; // Max characters per chunk (reduced chunking to avoid perceived duplicates)
  8. /**
  9. * Constructor
  10. *
  • gyakutsuki

    not interesting
  1. class ResultInterpreter
  2. {
  3. private mixed $chat;
  4. private Cache $cache;
  5. private SecurityLogger $securityLogger;
  6. private mixed $app;
    Property ClicShopping\AI\Agents\Orchestrator\SubAnalyticsAgent\ResultInterpreter::$app is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private mixed $language;
  8. private int $maxRowsForInterpretation;
  9. private bool $enablePromptCache;
  10. private bool $debug;
  11. private array $promptCache = [];
  • gyakutsuki

    not interesting
  1. class ResultSynthesizer extends BaseQueryProcessor
  2. {
  3. /**
  4. * @var PromptValidator Validator for LLM prompts
  5. */
  6. private PromptValidator $promptValidator;
    Property ClicShopping\AI\Agents\Orchestrator\SubHybridQueryProcessor\ResultSynthesizer::$promptValidator is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor
  9. *
  10. * @param bool $debug Enable debug logging
  • gyakutsuki

    not interesting
  1. */
  2. #[AllowDynamicProperties]
  3. class IntentAnalyzer
  4. {
  5. private SecurityLogger $logger;
  6. private ?ConversationMemory $conversationMemory;
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$conversationMemory is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. private mixed $language;
  9. private EntityExtractor $entityExtractor;
  • gyakutsuki

    not interesting
  1. {
  2. private SecurityLogger $logger;
  3. private ?ConversationMemory $conversationMemory;
  4. private bool $debug;
  5. private mixed $language;
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$language is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private EntityExtractor $entityExtractor;
  7. // Cache support
  8. private bool $cacheEnabled = true;
  9. private int $cacheTTL = 5; // 5 minutes
  • gyakutsuki

    not interesting
  1. // Context retrieval
  2. private ?ContextRetriever $contextRetriever = null;
  3. // Async operations
  4. private ?AsyncOperationManager $asyncManager = null;
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$asyncManager is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. // Performance monitoring
  6. private ?PerformanceMonitor $performanceMonitor = null;
  7. // 🔧 PHASE 9: New SubIntentAnalyzer components (deprecated - kept for backward compatibility)
  • gyakutsuki

    not interesting
  1. // Performance monitoring
  2. private ?PerformanceMonitor $performanceMonitor = null;
  3. // 🔧 PHASE 9: New SubIntentAnalyzer components (deprecated - kept for backward compatibility)
  4. private TranslationService $translationService;
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$translationService is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. private IntentAnalyzerFactory $intentFactory;
  6. // 🔧 PHASE 14: Unified analyzer for language + intent detection (ALWAYS used)
  7. private ?UnifiedQueryAnalyzer $unifiedAnalyzer = null;
  8. private bool $useUnifiedAnalyzer = true; // Always true - required for analytics
  • gyakutsuki

    not interesting
  1. // Performance monitoring
  2. private ?PerformanceMonitor $performanceMonitor = null;
  3. // 🔧 PHASE 9: New SubIntentAnalyzer components (deprecated - kept for backward compatibility)
  4. private TranslationService $translationService;
  5. private IntentAnalyzerFactory $intentFactory;
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$intentFactory is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // 🔧 PHASE 14: Unified analyzer for language + intent detection (ALWAYS used)
  7. private ?UnifiedQueryAnalyzer $unifiedAnalyzer = null;
  8. private bool $useUnifiedAnalyzer = true; // Always true - required for analytics
  9. private bool $useHybridMode = false; // Deprecated - Pure LLM mode only
  • gyakutsuki

    not interesting
  1. private TranslationService $translationService;
  2. private IntentAnalyzerFactory $intentFactory;
  3. // 🔧 PHASE 14: Unified analyzer for language + intent detection (ALWAYS used)
  4. private ?UnifiedQueryAnalyzer $unifiedAnalyzer = null;
  5. private bool $useUnifiedAnalyzer = true; // Always true - required for analytics
    Property ClicShopping\AI\Agents\Orchestrator\SubOrchestrator\IntentAnalyzer::$useUnifiedAnalyzer is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private bool $useHybridMode = false; // Deprecated - Pure LLM mode only
  7. /**
  8. * Constructor
  9. *
  • gyakutsuki

    not interesting
  1. #[AllowDynamicProperties]
  2. class StepExecutor
  3. {
  4. private SecurityLogger $logger;
  5. private bool $debug;
  6. private int $maxIterations;
    Property ClicShopping\AI\Agents\Planning\SubPlanExecutor\StepExecutor::$maxIterations is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor
  9. *
  10. * @param bool $debug Enable debug logging
  • gyakutsuki

    not interesting
  1. * 🔧 MIGRATED TO DOCTRINEORM: December 6, 2025
  2. * All database queries now use DoctrineOrm instead of PDO
  3. */
  4. class Dashboard
  5. {
  6. private $db; // Kept for backward compatibility but not used
    Property ClicShopping\AI\Dashboard\Dashboard::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private $statsCollector;
  8. private ?MonitoringAgent $monitoringAgent = null;
  9. private string $prefix;
  10. public function __construct()
  • gyakutsuki

    not interesting
  1. class Dashboard
  2. {
  3. private $db; // Kept for backward compatibility but not used
  4. private $statsCollector;
  5. private ?MonitoringAgent $monitoringAgent = null;
  6. private string $prefix;
    Property ClicShopping\AI\Dashboard\Dashboard::$prefix is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. public function __construct()
  8. {
  9. $this->db = Registry::get('Db'); // Kept for backward compatibility
  10. $this->prefix = CLICSHOPPING::getConfig('db_table_prefix');
  • gyakutsuki

    not interesting
  1. * 🔧 MIGRATED TO DOCTRINEORM: December 6, 2025
  2. * All database queries now use DoctrineOrm instead of PDO
  3. */
  4. class DashboardStatsCollector
  5. {
  6. private $db; // Kept for backward compatibility but not used
    Property ClicShopping\AI\Dashboard\DashboardStatsCollector::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $prefix;
  8. public function __construct()
  9. {
  10. $this->db = Registry::get('Db'); // Kept for backward compatibility
  • gyakutsuki

    not interesting
  1. /**
  2. * Initializes and returns an OpenAIChat instance configured with specified parameters.
  3. *
  4. * @return mixed An instance of the OpenAIChat class configured for GPT functionality.
  5. */
  6. private static function chat(): mixed // Not use currently
    Static method ClicShopping\AI\Domain\Embedding\NewVector::chat() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $api_key = self::getApiKey();
  9. $parameters = ['model' => CLICSHOPPING_APP_CHATGPT_RA_EMBEDDING_MODEL];
  10. $config = new OpenAIConfig();
  • gyakutsuki

    not interesting
  1. {
  2. /**
  3. * Temporal period keywords (English-only)
  4. * These are the aggregation periods that can be combined
  5. */
  6. private static array $temporalPeriods = [
    Static property ClicShopping\AI\Domain\Patterns\Analytics\MultiTemporalPostFilter::$temporalPeriods is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. 'month', 'months', 'monthly',
  8. 'quarter', 'quarters', 'quarterly',
  9. 'semester', 'semesters', 'half-year', 'half year',
  10. 'year', 'years', 'yearly', 'annual', 'annually',
  11. 'week', 'weeks', 'weekly',
  • gyakutsuki

    not interesting
  1. {
  2. private mixed $db;
  3. private mixed $correctionAgent;
  4. private mixed $queryExecutor;
  5. private array $correctionLog = [];
  6. private bool $debug;
    Property ClicShopping\AI\Handler\Error\AnalyticsErrorHandler::$debug is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor
  9. *
  10. * @param mixed $db Database connection
  • gyakutsuki

    not interesting
  1. */
  2. abstract class AbstractFormatter
  3. {
  4. protected bool $debug;
  5. protected bool $displaySql;
  6. private mixed $language;
    Property ClicShopping\AI\Helper\Formatter\SubResultFormatters\AbstractFormatter::$language is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. public function __construct(bool $debug = false, bool $displaySql = false)
  8. {
  9. $this->debug = $debug;
  10. $this->displaySql = $displaySql;
  • gyakutsuki

    not interesting
  1. *
  2. * @package ClicShopping\AI\Helper\Intent
  3. */
  4. class AnalyticsProcessor
  5. {
  6. private SecurityLogger $logger;
    Property ClicShopping\AI\Helper\Intent\AnalyticsProcessor::$logger is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private bool $debug;
  8. /**
  9. * Cached pattern bypass check result
  10. *
  • gyakutsuki

    not interesting
  1. // Backend storage
  2. private string $backend = 'database'; // 'database', 'file', 'memcached', 'redis'
  3. private ?CacheStorage $dbStorage = null;
  4. private ?CacheFileStorage $fileStorage = null;
  5. private ?RagCache $ragCache = null;
    Property ClicShopping\AI\Infrastructure\Cache\QueryCache::$ragCache is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // Sub-components
  7. private CacheCleanup $cleanup;
  8. private CacheStatistics $statistics;
  9. private mixed $db = null;
  • gyakutsuki

    not interesting
  1. private ?CacheStorage $dbStorage = null;
  2. private ?CacheFileStorage $fileStorage = null;
  3. private ?RagCache $ragCache = null;
  4. // Sub-components
  5. private CacheCleanup $cleanup;
    Property ClicShopping\AI\Infrastructure\Cache\QueryCache::$cleanup is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private CacheStatistics $statistics;
  7. private mixed $db = null;
  8. public function __construct()
  9. {
  10. // Activer le cache par défaut sauf si explicitement désactivé
  • gyakutsuki

    not interesting
  1. private ?CacheFileStorage $fileStorage = null;
  2. private ?RagCache $ragCache = null;
  3. // Sub-components
  4. private CacheCleanup $cleanup;
  5. private CacheStatistics $statistics;
    Property ClicShopping\AI\Infrastructure\Cache\QueryCache::$statistics is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $db = null;
  7. public function __construct()
  8. {
  9. // Activer le cache par défaut sauf si explicitement désactivé
  10. $this->enabled = !defined('CLICSHOPPING_APP_CHATGPT_RA_CACHE_RAG_MANAGER') || CLICSHOPPING_APP_CHATGPT_RA_CACHE_RAG_MANAGER === 'True';
  • gyakutsuki

    not interesting
  1. /**
  2. * Incrémente le compteur de hits
  3. *
  4. * @param string $cacheKey Clé de cache
  5. */
  6. private function incrementHitCount(string $cacheKey): void
    Method ClicShopping\AI\Infrastructure\Cache\QueryCache::incrementHitCount() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. try {
  9. $this->db->query("
  10. UPDATE :table_rag_query_cache
  11. SET hit_count = hit_count + 1
  • gyakutsuki

    not interesting
  1. * 🔧 MIGRATED TO DOCTRINEORM: December 6, 2025
  2. * All database queries now use DoctrineOrm instead of PDO
  3. */
  4. class StatisticsTracker
  5. {
  6. private $db;
    Property ClicShopping\AI\Infrastructure\Metrics\StatisticsTracker::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $prefix;
  8. private $startTime;
  9. private $interactionId;
  10. private $userId;
  11. private $sessionId;
  • gyakutsuki

    not interesting
  1. // Slow operation threshold (milliseconds)
  2. private float $slowOperationThreshold = 100.0;
  3. // Metrics aggregation
  4. private array $metrics = [];
    Property ClicShopping\AI\Infrastructure\Monitoring\PerformanceMonitor::$metrics is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. /**
  6. * Constructor
  7. *
  8. * @param bool $debug Enable debug logging
  • gyakutsuki

    not interesting
  1. #[AllowDynamicProperties]
  2. class DoctrineOrm
  3. {
  4. private static $debug = false;
  5. private static $prefixDb;
  6. private static ?SecurityLogger $logger = null;
    Static property ClicShopping\AI\Infrastructure\Orm\DoctrineOrm::$logger is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private static ?array $cachedFields = null;
  8. private static ?array $cachedFieldsByTable = null;
  9. public function __construct()
  10. {
  • gyakutsuki

    not interesting
  1. * This function is used to log errors related to database operations.
  2. *
  3. * @param string $message The error message to log
  4. * @return void
  5. */
  6. private static function logError(string $message): void
    Static method ClicShopping\AI\Infrastructure\Orm\DoctrineOrm::logError() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. if (self::$debug == 'True') {
  9. error_log($message);
  10. }
  11. }
  • gyakutsuki

    not interesting
  1. ];
  2. /**
  3. * Valid response types
  4. */
  5. private const VALID_RESPONSE_TYPES = [
    Constant ClicShopping\AI\Infrastructure\Response\ResponseNormalizer::VALID_RESPONSE_TYPES is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. 'analytics_response',
  7. 'analytics_results',
  8. 'analytics',
  9. 'semantic_results',
  10. 'semantic',
  • gyakutsuki

    not interesting
  1. * 🔧 MIGRATED TO DOCTRINEORM: December 6, 2025
  2. * All database queries now use DoctrineOrm instead of PDO
  3. */
  4. class ReferentialIntegrityManager
  5. {
  6. private $db; // Kept for backward compatibility but not used
    Property ClicShopping\AI\Infrastructure\Storage\ReferentialIntegrityManager::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. private string $prefix;
  8. public function __construct()
  9. {
  10. $this->db = Registry::get('Db'); // Kept for backward compatibility
  • gyakutsuki

    not interesting
  1. private mixed $securityLogger;
  2. private bool $debug = false;
  3. private static array $tableStatsCache = [];
  4. private mixed $resultFormatter;
  5. private int $userId;
    Property ClicShopping\AI\Rag\MultiDBRAGManager::$userId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private mixed $metadata;
  7. // Reranking properties (Task 2.14.3 - LLPhant reranking integration)
  8. private ?LLMReranker $reranker = null;
  9. private bool $useReranking = false;
  • gyakutsuki

    not interesting
  1. */
  2. private function createEmbeddingGenerator(): EmbeddingGeneratorInterface
  3. {
  4. return new class(Gpt::class) implements EmbeddingGeneratorInterface
  5. {
  6. private $gptClass;
    Property LLPhant\Embeddings\EmbeddingGenerator\EmbeddingGeneratorInterface@anonymous/Core/ClicShopping/AI/Rag/MultiDBRAGManager_old.php:308::$gptClass is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. /**
  8. * Constructor for the embedding generator
  9. *
  10. * @param string $gptClass Class name of the Gpt instance
  • gyakutsuki

    not interesting
  1. * Analyse le contenu réel d'une table pour comprendre ce qu'elle contient
  2. *
  3. * @param string $tableName Nom de la table à analyser
  4. * @return array Statistiques et échantillons de contenu
  5. */
  6. private function analyzeTableContent(string $tableName): array
    Method ClicShopping\AI\Rag\MultiDBRAGManager::analyzeTableContent() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. // Utiliser le cache si disponible
  9. if (isset(self::$tableStatsCache[$tableName])) {
  10. return self::$tableStatsCache[$tableName];
  11. }
  • gyakutsuki

    not interesting
  1. *
  2. * @param string $prompt La requête utilisateur originale.
  3. * @param array $context Le contexte structuré (array) retourné par MemoryRetentionService.
  4. * @return string Le prompt final formaté pour le LLM.
  5. */
  6. private function buildPromptWithContext(string $userQuery, array $context): string
    Method ClicShopping\AI\Rag\MultiDBRAGManager::buildPromptWithContext() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  7. {
  8. if (empty(array_filter($context, fn($v) => !empty($v)))) {
  9. return $userQuery;
  10. }
  • gyakutsuki

    not interesting
  1. ];
  2. /**
  3. * Optional taxonomy fields
  4. */
  5. private const OPTIONAL_FIELDS = [
    Constant ClicShopping\AI\Rag\TaxonomyExtractor::OPTIONAL_FIELDS is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. 'sujet_produit',
  7. 'sujet_usage',
  8. 'type_objectif',
  9. 'sujet_objectif',
  10. 'articles'
  • gyakutsuki

    not interesting
  1. */
  2. #[AllowDynamicProperties]
  3. class LlmGuardrails
  4. {
  5. private const CONFIDENCE_THRESHOLD = 0.75;
  6. private const HALLUCINATION_THRESHOLD = 0.8; // a implementer
    Constant ClicShopping\AI\Security\LlmGuardrails::HALLUCINATION_THRESHOLD is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. private const MAX_RESPONSE_LENGTH = 8192;
  8. private const MIN_CONFIDENCE_SCORE = 0.6; // a implementer
  9. protected static ?SecurityLogger $securityLogger = null;
  10. private static mixed $language = null;
  • gyakutsuki

    not interesting
  1. private const HALLUCINATION_THRESHOLD = 0.8; // a implementer
  2. private const MAX_RESPONSE_LENGTH = 8192;
  3. private const MIN_CONFIDENCE_SCORE = 0.6; // a implementer
  4. protected static ?SecurityLogger $securityLogger = null;
  5. private static mixed $language = null;
    Static property ClicShopping\AI\Security\LlmGuardrails::$language is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private static bool $debug = false;
  7. // Pondérations configurables pour le calcul du score global
  8. private const WEIGHTS = [
  9. 'structural' => 0.2,
  • gyakutsuki

    not interesting
  1. * Returns a float score between 0.0 and 1.0 based on the number of citations.
  2. *
  3. * @param string $result The AI-generated response to validate.
  4. * @return float Attribution score (0.0 to 1.0).
  5. */
  6. private static function validateAttribution(string $result): float
    Static method ClicShopping\AI\Security\LlmGuardrails::validateAttribution() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $citations = substr_count($result, 'source:') + substr_count($result, '(voir') + preg_match_all('/\[.*?\]/', $result);
  9. if ($citations === 0) {
  10. return 0.0;
  • gyakutsuki

    not interesting
  1. class SecurityLogger
  2. {
  3. private $logFile;
  4. private $maxLogSize;
  5. private $logRotations;
  6. private $logLevel;
    Property ClicShopping\AI\Security\SecurityLogger::$logLevel is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. private $db;
  8. // Performance optimization: Cache log level numeric values
  9. private static $levelCache = [
  10. 'debug' => 0,
  • gyakutsuki

    not interesting
  1. private static ?SecurityLogger $logger = null;
  2. private static mixed $language = null;
  3. private static bool $debug = false;
  4. // Threat score threshold for blocking (configurable)
  5. private const DEFAULT_THREAT_THRESHOLD = 0.7;
    Constant ClicShopping\AI\Security\SemanticSecurityAnalyzer::DEFAULT_THREAT_THRESHOLD is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. // LLM timeout for security analysis (ms)
  7. private const LLM_TIMEOUT = 5000;
  8. // Cache namespace for security analysis
  • gyakutsuki

    not interesting
  1. // Threat score threshold for blocking (configurable)
  2. private const DEFAULT_THREAT_THRESHOLD = 0.7;
  3. // LLM timeout for security analysis (ms)
  4. private const LLM_TIMEOUT = 5000;
    Constant ClicShopping\AI\Security\SemanticSecurityAnalyzer::LLM_TIMEOUT is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. // Cache namespace for security analysis
  6. // This creates cache files in: Work/Cache/Rag/Security/
  7. private const CACHE_NAMESPACE = 'Rag/Security';
  • gyakutsuki

    not interesting
  1. use ClicShopping\OM\Registry;
  2. use ClicShopping\Apps\Configuration\Api\Classes\Shop\ApiSecurity;
  3. class Login
  4. {
  5. private mixed $lang;
    Property ClicShopping\Apps\Configuration\Api\Classes\Shop\Login::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. private string $username;
  7. private string $key;
  8. private ?string $ip;
  9. private mixed $authentification;
  10. /**
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * @param Order $order The order object to populate.
  2. * @param array $sessionData The session data.
  3. * @param array $customerData Customer data.
  4. * @param array $paymentData Payment data.
  5. */
  6. private function setupOrderInfo(Order $order, array $sessionData, array $customerData, array $paymentData): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupOrderInfo() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $order->info = [
  9. 'order_status' => 1, // Pending
  10. 'order_status_invoice' => 1,
  11. 'currency' => $sessionData['currency'] ?? 'EUR',
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:04:57 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Sets up order products (deprecated/unused in favor of insertOrderProducts).
  2. *
  3. * @param Order $order The order object to populate.
  4. * @param array $items The array of product items.
  5. */
  6. private function setupOrderProducts(Order $order, array $items): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupOrderProducts() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $order->products = [];
  9. foreach ($items as $item) {
  10. $order->products[] = [
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:11:18 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Sets up customer information (deprecated/unused).
  2. *
  3. * @param Order $order The order object to populate.
  4. * @param array $customerData Customer data.
  5. */
  6. private function setupCustomerInfo(Order $order, array $customerData): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupCustomerInfo() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $order->customer = [
  9. 'id' => $customerData['id'] ?? 0,
  10. 'firstname' => $customerData['firstname'] ?? 'GPT',
  11. 'lastname' => $customerData['lastname'] ?? 'Customer',
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:11:24 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param Order $order The order object to populate.
  3. * @param array $sessionData The session data.
  4. * @param array $customerData Customer data.
  5. */
  6. private function setupAddresses(Order $order, array $sessionData, array $customerData): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupAddresses() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $shippingAddress = $sessionData['shipping_address'] ?? [];
  9. $billingAddress = $sessionData['billing_address'] ?? [];
  10. $order->billing = [
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:11:28 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Sets up payment information (deprecated/unused).
  2. *
  3. * @param Order $order The order object to populate.
  4. * @param array $paymentData Payment data.
  5. */
  6. private function setupPaymentInfo(Order $order, array $paymentData): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupPaymentInfo() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $order->info['payment_method'] = $paymentData['method'] ?? 'gpt_payment';
  9. $order->info['cc_type'] = $paymentData['cc_type'] ?? '';
  10. $order->info['cc_owner'] = $paymentData['cc_owner'] ?? '';
  11. $order->info['cc_number'] = $paymentData['cc_number'] ?? '';
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Sets up order totals (deprecated/unused in favor of insertOrderTotals).
  2. *
  3. * @param Order $order The order object to populate.
  4. * @param array $sessionData The session data.
  5. */
  6. private function setupOrderTotals(Order $order, array $sessionData): void
    Method ClicShopping\Apps\Configuration\ChatGpt\Classes\Shop\Retails\GptOrderManager::setupOrderTotals() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $order->totals = [
  9. [
  10. 'title' => 'Sub-Total:',
  11. 'text' => number_format($sessionData['subtotal'] ?? 0, 2) . ' EUR',
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. $CLICSHOPPING_Db->delete('administrator_menu', ['app_code' => 'app_configuration_orders_status_invoice']);
  2. }
  3. }
  4. private static function removeProductsOrdersStatusInvoiceDb()
    Static method ClicShopping\Apps\Configuration\OrdersStatusInvoice\Sites\ClicShoppingAdmin\Pages\Home\Actions\Configure\Delete::removeProductsOrdersStatusInvoiceDb() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  5. {
  6. /*
  7. $CLICSHOPPING_Db = Registry::get('Db');
  8. $Qcheck = $CLICSHOPPING_Db->query('show tables like ":table_orders_status_invoice"');
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:07:14 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. use ClicShopping\Apps\Configuration\TemplateEmail\Classes\ClicShoppingAdmin\TemplateEmailAdmin;
  2. class Update extends \ClicShopping\OM\PagesActionsAbstract
  3. {
  4. public mixed $app;
  5. private mixed $lang;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\Update::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. private mixed $db;
  7. protected int $oID;
  8. protected int $status;
  9. protected int $statusInvoice;
  10. protected string $comments;
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. use ClicShopping\OM\Registry;
  2. class UpdateCustomerAddress extends \ClicShopping\OM\PagesActionsAbstract
  3. {
  4. public mixed $app;
  5. private mixed $lang;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\UpdateCustomerAddress::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. private mixed $db;
  7. public function __construct()
  8. {
  9. $this->app = Registry::get('Orders');
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. */
  2. public mixed $app;
  3. /**
  4. * @var bool|\lang|null
  5. */
  6. private mixed $lang;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\UpdateOrder::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. /**
  8. * @var bool|\db|null
  9. */
  10. private mixed $db;
  11. /**
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. */
  2. private $products_id;
  3. /**
  4. * @var int
  5. */
  6. private $old_quantity;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\UpdateOrder::$old_quantity is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. public function __construct()
  8. {
  9. $this->app = Registry::get('Orders');
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. use ClicShopping\OM\Registry;
  2. class UpdatePaymentAddress extends \ClicShopping\OM\PagesActionsAbstract
  3. {
  4. public mixed $app;
  5. private mixed $lang;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\UpdatePaymentAddress::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. private mixed $db;
  7. public function __construct()
  8. {
  9. $this->app = Registry::get('Orders');
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. use ClicShopping\OM\Registry;
  2. class UpdateShippingAddress extends \ClicShopping\OM\PagesActionsAbstract
  3. {
  4. public mixed $app;
  5. private mixed $lang;
    Property ClicShopping\Apps\Orders\Orders\Sites\ClicShoppingAdmin\Pages\Home\Actions\Orders\UpdateShippingAddress::$lang is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. private mixed $db;
  7. public function __construct()
  8. {
  9. $this->app = Registry::get('Orders');
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. class Cron
  2. {
  3. /**
  4. * @var mixed|null
  5. */
  6. private $Cronjob;
    Property ClicShopping\Apps\Tools\Cronjob\Classes\ClicShoppingAdmin\Cron::$Cronjob is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. public function __construct()
  8. {
  9. // $this->Cronjob = Registry::get('Cronjob');
  10. }
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * This is a helper method to aggregate the statuses. An error in any check results in an overall 'error'.
  2. *
  3. * @param array $checks An array of check results, each with a 'status' key.
  4. * @return string The overall status: 'error', 'warning', or 'healthy'.
  5. */
  6. private function determineOverallStatus(array $checks): string
    Method ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpHealth::determineOverallStatus() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. if (in_array('error', array_column($checks, 'status'))) {
  9. return 'error';
  10. }
  11. if (in_array('warning', array_column($checks, 'status'))) {
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. private array $alertThresholds;
  2. /**
  3. * @var array The configuration settings for the monitor.
  4. */
  5. private array $config;
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpMockMonitor::$config is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var MpcPerformanceHistoryStorage The storage component for historical performance data.
  8. */
  9. private MpcPerformanceHistoryStorage $historyStorage;
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. private McpHealth $health;
  2. /**
  3. * @var LoggerInterface The logger instance for logging analysis results and errors.
  4. */
  5. private LoggerInterface $logger;
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpPerformanceAnalyzer::$logger is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var array An array to store the performance history.
  8. */
  9. private array $performanceHistory = [];
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. private array $config;
  2. /**
  3. * @var LoggerInterface The logger instance for logging protocol-related events.
  4. */
  5. private LoggerInterface $logger;
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpProtocol::$logger is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var TransportInterface The transport layer implementation (e.g., SSE, WebSocket).
  8. */
  9. private TransportInterface $transport;
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. private TransportInterface $transport;
  2. /**
  3. * @var int A counter for generating unique request IDs.
  4. */
  5. private int $requestId = 0;
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpProtocol::$requestId is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var array A map of pending requests to their resolvers.
  8. */
  9. private array $pendingRequests = [];
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. private int $requestId = 0;
  2. /**
  3. * @var array A map of pending requests to their resolvers.
  4. */
  5. private array $pendingRequests = [];
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\McpProtocol::$pendingRequests is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * @var array An associative array to store protocol-level statistics.
  8. */
  9. private array $stats = [
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. ];
  2. /**
  3. * @var callable|null A callback function to handle incoming messages asynchronously.
  4. */
  5. private $messageCallback = null;
    Property ClicShopping\Apps\Tools\MCP\Classes\ClicShoppingAdmin\Transport\StdioTransport::$messageCallback is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  6. /**
  7. * StdioTransport constructor.
  8. *
  9. * Initializes the transport with configuration and an optional logger, and validates
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Contrôle strict des accès aux données sensibles pour les analyses
  2. */
  3. #[AllowDynamicProperties]
  4. class RagBIPermissions
  5. {
  6. private mixed $db;
    Property ClicShopping\Apps\Tools\MCP\Classes\Shop\EndPoint\RagBIPermissions::$db is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. private mixed $mcpPermissions;
  8. // Tables autorisées pour RAG-BI (lecture seule)
  9. private const ALLOWED_TABLES = [
  10. 'clic_products',
  • gyakutsuki

    Ignored on Mon, 03 Nov 2025 14:21:53 GMT
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. use ClicShopping\Apps\Tools\MCP\Classes\Shop\Security\Message;
  2. class MCPAuth {
  3. private $validMcpKeys;
  4. private $accessLevels;
  5. private $mcpConfigs;
    Property ClicShopping\Apps\Tools\MCP\Sites\Shop\Pages\Auth\MCPAuth::$mcpConfigs is never read, only written.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. private $allowedOrigins;
  7. public function __construct() {
  8. // Load MCP configurations from database
  9. $this->loadMcpConfigurations();
  • gyakutsuki

    not interesting
  1. class WhosOnlineShop
  2. {
  3. protected $contents;
  4. protected $total;
  5. protected $weight;
  6. private mixed $db;
    Property ClicShopping\Apps\Tools\WhosOnline\Classes\Shop\WhosOnlineShop::$db is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. public function __construct()
  8. {
  9. }
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:50:23 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. */
  2. class Hash
  3. {
  4. private static $key; // 32 caractères pour AES-256
  5. private static $cipher = 'aes-256-cbc'; // Algorithme de chiffremen
  6. private const EMAIL_PREFIX = 'ENC::'; // Préfixe pour identifier un email chiffré
    Constant ClicShopping\OM\Hash::EMAIL_PREFIX is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. /**
  8. * Hash constructor.
  9. * @access public
  10. *
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:50:18 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param int $id The category ID to update
  3. * @param array $data The category data to update
  4. * @return array An array containing the result of the update operation
  5. */
  6. private static function updateCategory(int $id, array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutCategories::updateCategory() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $CLICSHOPPING_Db = Registry::get('Db');
  9. try {
  10. $CLICSHOPPING_Db->beginTransaction();
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:53 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Validates the category data before updating.
  2. *
  3. * @param array $data The category data to validate
  4. * @return array An array containing validation result and errors if any
  5. */
  6. private static function validateCategoryData(array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutCategories::validateCategoryData() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $errors = [];
  9. // Validate required fields if provided
  10. if (isset($data['categories_name']) && empty(trim($data['categories_name']))) {
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:49 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param int $id The manufacturer ID to update
  3. * @param array $data The manufacturer data to update
  4. * @return array An array containing the result of the update operation
  5. */
  6. private static function updateManufacturer(int $id, array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutManufacturer::updateManufacturer() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $CLICSHOPPING_Db = Registry::get('Db');
  9. try {
  10. $CLICSHOPPING_Db->beginTransaction();
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:44 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Validates the manufacturer data before updating.
  2. *
  3. * @param array $data The manufacturer data to validate
  4. * @return array An array containing validation result and errors if any
  5. */
  6. private static function validateManufacturerData(array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutManufacturer::validateManufacturerData() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $errors = [];
  9. // Validate required fields if provided
  10. if (isset($data['manufacturers_name']) && empty(trim($data['manufacturers_name']))) {
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:27 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. *
  2. * @param int $id The supplier ID to update
  3. * @param array $data The supplier data to update
  4. * @return array An array containing the result of the update operation
  5. */
  6. private static function updateSupplier(int $id, array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutSupplier::updateSupplier() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $CLICSHOPPING_Db = Registry::get('Db');
  9. try {
  10. $CLICSHOPPING_Db->beginTransaction();
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:21 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting
  1. * Validates the supplier data before updating.
  2. *
  3. * @param array $data The supplier data to validate
  4. * @return array An array containing validation result and errors if any
  5. */
  6. private static function validateSupplierData(array $data): array
    Static method ClicShopping\OM\Module\Hooks\Shop\Api\ApiPutSupplier::validateSupplierData() is unused.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  7. {
  8. $errors = [];
  9. // Validate email format if provided
  10. if (isset($data['suppliers_email_address']) && !empty($data['suppliers_email_address'])) {
  • gyakutsuki

    Ignored on Fri, 05 Sep 2025 19:48:16 GMT
  • gyakutsuki

    not insteresting
  • gyakutsuki

    no relevant
  • gyakutsuki

    ignore
  • gyakutsuki

    not interesting

Your project should not use function in loops conditions 5

More information: https://insight.symfony.com/what-we-analyse/php.for_loop_uses_test_function

  1. // Transformation 2: Remplacement de colonnes
  2. $origWords = explode(' ', $original);
  3. $corrWords = explode(' ', $corrected);
  4. for ($i = 0; $i < min(count($origWords), count($corrWords)); $i++) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. if (
  6. $origWords[$i] !== $corrWords[$i] &&
  7. preg_match('/^[a-z_]+$/i', $origWords[$i]) &&
  8. preg_match('/^[a-z_]+$/i', $corrWords[$i])
  9. ) {
  • gyakutsuki

    not interesting
  1. if (count($positions) !== count($terms)) {
  2. return 0.0;
  3. }
  4. for ($i = 1; $i < count($positions); $i++) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. if ($positions[$i] < $positions[$i - 1]) {
  6. return 0.3;
  7. }
  8. }
  • gyakutsuki

    not interesting
  1. // Évaluer la première clause
  2. $result = $this->evaluateClause($tokens[0], $variables);
  3. // Traiter les opérateurs et clauses suivants
  4. for ($i = 1; $i < count($tokens); $i += 2) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by ClicShopping
  5. if ($i + 1 >= count($tokens)) {
  6. throw new InvalidArgumentException('Invalid condition structure');
  7. }
  8. $operator = strtoupper(trim($tokens[$i]));
  • gyakutsuki

    Ignored on Thu, 18 Sep 2025 15:33:40 GMT
  • gyakutsuki

    not interesting
  1. $entities['numbers'] = array_merge($entities['numbers'], $matches[1]);
  2. }
  3. // Extract time ranges (ENGLISH ONLY)
  4. if (preg_match_all('/\b(last|past|previous)\s+(\d+)\s+(day|week|month|year)s?\b/i', $content, $matches)) {
  5. for ($i = 0; $i < count($matches[0]); $i++) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  6. $entities['time_ranges'][] = [
  7. 'quantity' => (int)($matches[2][$i] ?? 1),
  8. 'unit' => $matches[3][$i] ?? 'day',
  9. ];
  10. }
  • gyakutsuki

    not interesting
  1. $dotProduct = 0.0;
  2. $magnitude1 = 0.0;
  3. $magnitude2 = 0.0;
  4. for ($i = 0; $i < count($vector1); $i++) {
    This loop uses a function. To avoid the overhead of executing the function n times, you should precalculate it before the loop.
    Time to fix: about 15 minutes
    Read doc Open Issue Permalink Copy Prompt
    Last edited by clicshopping
  5. $dotProduct += $vector1[$i] * $vector2[$i];
  6. $magnitude1 += $vector1[$i] * $vector1[$i];
  7. $magnitude2 += $vector2[$i] * $vector2[$i];
  8. }
  • gyakutsuki

    not interesting

Your project should not contain PHP files defining multiple classes 2

More information: https://insight.symfony.com/what-we-analyse/php.file_contains_more_than_one_class

This file contains 2 classes. Keeping only one class per file is a standard in the PHP community, since it promotes interoperability and maintainability.
Time to fix: about 4 hours
Read doc Open Issue Permalink Copy Prompt
Last edited by ClicShopping
  • he_header_multi_template (defined at line 16)
  • explodeCategoryTree (defined at line 238)
  • gyakutsuki

    Ignored on Thu, 18 Sep 2025 15:32:21 GMT
This file contains 4 classes. Keeping only one class per file is a standard in the PHP community, since it promotes interoperability and maintainability.
Last edited by ClicShopping
  • McpException (defined at line 19)
  • McpConnectionException (defined at line 28)
  • McpProtocolException (defined at line 37)
  • McpConfigurationException (defined at line 46)
  • gyakutsuki

    Ignored on Mon, 29 Sep 2025 19:19:44 GMT

Interfaces names should end with "Interface" 2

More information: https://insight.symfony.com/what-we-analyse/php.interface_has_no_interface_suffix

  1. * ```php
  2. * $component->setParameter('classification_threshold', 5);
  3. * $threshold = $component->getParameter('classification_threshold');
  4. * ```
  5. */
  6. interface ConfigurableComponent
    Interface {{ name }} should be named {{ name }}Interface for better clarity.
    Last edited by clicshopping
  7. {
  8. /**
  9. * Returns the list of configurable parameters for this component
  10. *
  11. * @return array Array of parameter definitions, each containing:
  • gyakutsuki

    not interesting
  1. * DiagnosticProvider Interface
  2. *
  3. * Interface for components that provide diagnostic and health monitoring capabilities.
  4. * Allows components to report their health status, explain errors, and suggest improvements.
  5. */
  6. interface DiagnosticProvider
    Interface {{ name }} should be named {{ name }}Interface for better clarity.
    Last edited by clicshopping
  7. {
  8. /**
  9. * Get a comprehensive health report for the component
  10. *
  11. * Returns metrics like:
  • gyakutsuki

    not interesting