fjffk简å�•的咖啡店科开å�‘2方法2 环æ»�皆山也。其西å�—诸峰,林壑尤美,望之蔚然而深秀者,ç�…ç�Šä¹Ÿã€‚山行六七里,æ¸�闻水声潺潺,而泻出于两峰之间者,酿泉也 ??????????????????????????????? ??????????????/????????????????? ............/................... .........................../... ??????????????????????????????? >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>> ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  Â¥2" ÿÄ     ÿÄ J    ! 1AQ"aqÂ�2‘#BR‚¡Ã�Ñ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3Â�±ð#b¡ÿÚ   ? ¼QxJQaÃ�uò¸Zö Úü8,Ã�Úú "SSn<rçù–´âE—^ªBÖ9À\†¸Â�ÔÂ�Ã�T­ÃÛ5 ëd´³Ã�#Ã�;Þ38ϔÂ� ¶H£M:wÃŽ3…³…âpÔF&‚FK¸9„â4àGEõªfÂ�ÿ ‘ñ(ßw­pŽF|È¥ù®häðÃ�Ѷ¹‘[Ã’inÙW¶ùñYËœQ{›K"išÒ[Ú8žë\F¹@-?v"ÔUâ€�,ìöžkÿ {I‡£šÃ�?e rÂ�íV ?> ......................................... ............................................................................. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>/>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> dsdfpanel.php000064400000166045152665330400006374 0ustar00prefix('dashboard') ->name('dashboard.') ->group(static function () { Route::middleware('checkInstallation') ->get('/', [UserController::class, 'redirect']) ->name('index'); DeFi::routes(); // User Area Route::prefix('user') ->name('user.') ->group(callback: function () { Route::get('', [UserController::class, 'index'])->name('index'); Route::get('check/payment', [PaymentProcessController::class, 'checkSubscriptionStatusFromAjax'])->name('check.payment'); Route::get('check/update-available', [UserController::class, 'updateAvailable'])->name('check.update-available'); Route::post('mark-tour-seen', [UserController::class, 'markTourSeen'])->name('markTourSeen'); Route::group([ 'controller' => Google2FAController::class, 'prefix' => '2fa', 'as' => '2fa.', ], static function () { Route::get('activate', 'activate2FA')->name('activate'); Route::post('activate', 'assign2FA'); Route::get('deactivate', 'deactivate2FA')->name('deactivate'); }); // dash_notify_seen Route::post('/dash_notify_seen', [UserController::class, 'markDashNotifySeen'])->name('dash_notify_seen'); // premium support Route::get('premium-support', PremiumSupportController::class)->name('premium-support'); Route::controller(UserController::class) ->prefix('api-keys') ->name('apikeys.') ->group(function () { Route::get('/', 'apiKeysList')->name('index'); Route::post('/update', 'apiKeysSave')->name('update'); }); Route::group([ 'as' => 'integration.', 'prefix' => 'integration', 'controller' => IntegrationController::class, ], static function () { Route::get('share/{userIntegration}/workbook/{userOpenai}', 'workbook')->name('share.workbook'); Route::post('share/{userIntegration}/workbook/{userOpenai}', 'storeWorkbook'); Route::post('share/{userIntegration}/image/{userOpenai}', 'storeImage')->name('share.image'); }); Route::resource('integration', IntegrationController::class)->only(['index', 'edit', 'update']); // brand voice Route::get('brand', [BrandController::class, 'index'])->name('brand.index')->middleware(CheckTemplateTypeAndPlan::class); Route::resource('brand', BrandController::class)->except(['index', 'show', 'destroy']); Route::group([ 'as' => 'brand.', 'prefix' => 'brand', 'controller' => BrandController::class, ], static function () { Route::get('delete/{brand}', 'delete')->name('delete'); Route::get('get-products/{brand?}', 'getProducts')->name('brand.getProducts'); }); // teams Route::group([ 'as' => 'team.', 'prefix' => 'team', 'controller' => TeamController::class, ], static function () { Route::get('', 'index')->name('index'); Route::get('{team}/invitations', 'invitations')->name('invitations'); Route::post('{team}/invitation', 'storeInvitation')->name('invitation.store'); Route::get('{team}/member/{teamMember}/edit', 'teamMember')->name('member.edit'); Route::post('{team}/member/{teamMember}/update', 'teamMemberUpdate')->name('member.update'); Route::get('{team}/member/{teamMember}/delete', 'teamMemberDelete')->name('member.delete'); }); // user generator Route::group([ 'as' => 'generator.', 'prefix' => 'generator', 'controller' => GeneratorController::class, ], static function () { Route::get('{workbook_slug?}', [GeneratorController::class, 'index'])->name('index')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/option/{slug}', [GeneratorController::class, 'generatorOptions'])->name('options')->middleware(CheckTemplateTypeAndPlan::class); Route::post('/generate-stream', [GeneratorController::class, 'buildStreamedOutput'])->name('stream.generate')->middleware('surveyMiddleware'); Route::post('/reduce-tokens/{type}', [GeneratorController::class, 'reduceTokensWhenIntterruptStream'])->name('reduce-tokens'); }); // Openai generator Route::prefix('openai')->name('openai.') ->group(function () { Route::get('/', [UserController::class, 'openAIList'])->name('list')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/favorite-openai', [UserController::class, 'openAIFavoritesList'])->name('list.favorites'); Route::post('/favorite', [UserController::class, 'openAIFavorite']); Route::get('generator/realtime', [GeneratorController::class, 'realtime'])->name('realtime.chat'); Route::get('generator/check/status', [UserController::class, 'checkStatus'])->name('check.status'); // Generators Route::middleware([ CheckTemplateTypeAndPlan::class, ]) ->group(function () { Route::get('/generator/{slug}', [UserController::class, 'openAIGenerator'])->name('generator'); Route::get('/generator/{slug}/workbook', [UserController::class, 'openAIGeneratorWorkbook'])->name('generator.workbook'); }); Route::prefix('custom')->name('custom.')->group(function () { Route::get('/', [UserController::class, 'openAICustomList'])->name('list'); Route::get('/add-or-update/{id?}', [UserController::class, 'openAICustomAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [UserController::class, 'openAICustomDelete'])->name('delete'); Route::post('/save', [UserController::class, 'openAICustomAddOrUpdateSave']); }); // Generators Generate Route::post('/generate', [AIController::class, 'buildOutput'])->name('output'); Route::get('/generate', [AIController::class, 'streamedTextOutput']); Route::post('/getYoutubeCaptions', [AIController::class, 'getYoutubeCaptions']); Route::post('/check/videoprogress', [AIController::class, 'checkVideoProgress']); Route::get('/rewrite', [AIController::class, 'reWrite'])->name('rewriter')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/generate/lazyload', [AIController::class, 'lazyLoadImage'])->name('lazyloadimage'); Route::post('/image/generate', [AIController::class, 'chatImageOutput'])->name('chat.image'); // Fine Tune Route::post('/add-fine-tune', [AIFineTuneController::class, 'addFineTune']); Route::post('/delete-fine-tune', [AIFineTuneController::class, 'deleteFineTune']); // Low systems Route::post('/low/generate_save', [AIController::class, 'lowGenerateSave']); Route::post('message/title_save', [AIController::class, 'messageTitleSave']); Route::post('/generate-speech', [TTSController::class, 'generateSpeech']); Route::post('/update-writing', [AIController::class, 'updateWriting']); // Documents Route::prefix('documents')->name('documents.')->group(function () { Route::get('/all/{id?}', [UserController::class, 'documentsAll'])->name('all'); Route::get('/images', [UserController::class, 'documentsImages'])->name('images'); Route::get('/single/{slug}', [UserController::class, 'documentsSingle'])->name('single'); Route::get('/delete/{slug}', [UserController::class, 'documentsDelete'])->name('delete'); Route::get('/delete/image/{slug}', [UserController::class, 'documentsImageDelete'])->name('image.delete'); Route::post('/bulk-delete', [UserController::class, 'documentsBulkDelete'])->name('bulkDelete'); Route::post('/workbook-save', [UserController::class, 'openAIGeneratorWorkbookSave']); Route::post('/update-folder/{folder}', [UserController::class, 'updateFolder'])->name('update-folder'); Route::post('/update-file/{file}', [UserController::class, 'updateFile'])->name('update-file'); Route::post('/delete-folder/{folder}', [UserController::class, 'deleteFolder'])->name('delete-folder'); Route::post('/new-folder', [UserController::class, 'newFolder'])->name('new-folder'); Route::post('/move-to-folder', [UserController::class, 'moveToFolder'])->name('move-to-folder'); // make favorite Route::post('/favorite', [UserController::class, 'docsFavorite'])->name('favorite'); Route::post('/overview', [UserController::class, 'overview'])->name('overview'); }); Route::prefix('chat')->name('chat.')->group(function () { Route::get('/ai-chat-list', [AIChatController::class, 'openAIChatList'])->name('list')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/ai-chat/{slug?}', [AIChatController::class, 'openAIChat'])->name('chat')->middleware(CheckTemplateTypeAndPlan::class); Route::match(['get', 'post'], '/chat-send', [AIChatController::class, 'chatOutput']); Route::match(['get', 'post'], '/chatbot-send', [AIChatController::class, 'chatbotOutput']); Route::post('/open-chat-area-container', [AIChatController::class, 'openChatAreaContainer']); Route::post('/open-chatbot-area', [AIChatController::class, 'openChatBotArea'])->name('open-chatbot-area'); Route::post('/start-new-chat', [AIChatController::class, 'startNewChat']); Route::post('/start-new-doc-chat', [AIChatController::class, 'startNewDocChat']); Route::post('/start-new-chatbot', [AIChatController::class, 'startNewChatBot']); Route::post('/search', [AIChatController::class, 'search']); Route::post('/delete-chat', [AIChatController::class, 'deleteChat']); Route::post('/clear-chats', [AIChatController::class, 'clearChats']); Route::post('/rename-chat', [AIChatController::class, 'renameChat']); Route::post('/pin-conversation', [AIChatController::class, 'pinConversation']); Route::post('/transaudio', [AIChatController::class, 'transAudio']); Route::controller(PromptController::class)->group(static function () { Route::post('prompts', 'getAll')->name('prompts'); Route::post('add-prompt', 'addNew')->name('add-prompt'); Route::post('update-prompt', 'updateFav')->name('update-prompt'); Route::post('delete-prompt', 'deletePrompt')->name('delete-prompt'); }); // routes/web.php Route::get('/generate-pdf', [ExportChatController::class, 'generatePdf']); Route::get('/generate-word', [ExportChatController::class, 'generateWord']); Route::get('/generate-txt', [ExportChatController::class, 'generateTxt']); // Low systems Route::post('/low/chat_save', [AIChatController::class, 'lowChatSave']); }); Route::prefix('articlewizard')->name('articlewizard.')->group(function () { Route::get('/new', [AIArticleWizardController::class, 'newArticle'])->name('new')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/genarticle', [AIArticleWizardController::class, 'generateArticle'])->name('genarticle'); Route::post('/update', [AIArticleWizardController::class, 'updateArticle'])->name('update'); Route::post('/clear', [AIArticleWizardController::class, 'clearArticle'])->name('clear'); Route::post('/genkeywords', [AIArticleWizardController::class, 'generateKeywords'])->name('genkeywords'); Route::post('/gentitles', [AIArticleWizardController::class, 'generateTitles'])->name('gentitles'); Route::post('/genoutlines', [AIArticleWizardController::class, 'generateOutlines'])->name('genoutlines'); Route::post('/genimages', [AIArticleWizardController::class, 'generateImages'])->name('genimages'); Route::post('/remains', [AIArticleWizardController::class, 'userRemaining'])->name('remains'); Route::get('/', [AIArticleWizardController::class, 'index'])->name('index'); Route::get('/{article}', [AIArticleWizardController::class, 'show'])->name('show'); Route::get('/{article}/edit', [AIArticleWizardController::class, 'editArticle'])->name('edit'); Route::post('/startover', [AIArticleWizardController::class, 'startover'])->name('startover'); }); // Route::prefix('vision')->name('vision.')->group(function () { // Route::get('/ai-vision', [AIVisionController::class, 'openAIVision'])->name('vision'); // }); }); // user profile settings Route::prefix('settings')->name('settings.')->group(function () { Route::get('/', [UserController::class, 'userSettings'])->name('index'); Route::post('/save', [UserController::class, 'userSettingsSave']); Route::get('/delete-account', [UserController::class, 'deleteAccount'])->name('deleteAccount'); Route::post('/delete-account', [UserController::class, 'deleteAccountRequest'])->name('deleteAccount.send'); Route::get('openai/test', [SettingsController::class, 'openaiTest'])->name('openai.test'); Route::get('anthropic/test', [SettingsController::class, 'anthropicTest'])->name('anthropic.test'); Route::get('gemini/test', [SettingsController::class, 'geminiTest'])->name('gemini.test'); }); // Subscription and payment Route::prefix('payment') ->name('payment.') ->group(function () { Route::get('', PlanAndPricingController::class)->name('subscription'); Route::get('/prepaid/{planId}/{gatewayCode}', [PaymentProcessController::class, 'startPrepaidPaymentProcess'])->name('startPrepaidPaymentProcess'); Route::get('/subscribe/{planId}/{gatewayCode}', [PaymentProcessController::class, 'startSubscriptionProcess'])->name('startSubscriptionProcess'); Route::match(['get', 'post'], '/start/subscription/checkout/{gateway?}/{referral?}', [PaymentProcessController::class, 'startSubscriptionCheckoutProcess'])->name('subscription.checkout'); Route::match(['get', 'post'], '/start/prepaid/checkout/{gateway?}/{referral?}', [PaymentProcessController::class, 'startPrepaidCheckoutProcess'])->name('prepaid.checkout'); Route::get('/subscribe-cancel', [PaymentProcessController::class, 'cancelActiveSubscription'])->name('cancelActiveSubscription'); Route::post('/paypal/create-paypal-order', [PaymentProcessController::class, 'createPayPalOrder'])->name('prepaid.createPayPalOrder'); Route::post('iyzico/prepaid/callback', [PaymentProcessController::class, 'iyzicoPrepaidCallback'])->name('iyzico.prepaid.callback'); Route::post('iyzico/subscribe/callback', [PaymentProcessController::class, 'iyzicoSubscribeCallback'])->name('iyzico.subscribe.callback'); Route::get('iyzico/products', [PaymentProcessController::class, 'iyzicoProductsList'])->name('iyzico.products'); Route::get('succesful', [PaymentProcessController::class, 'successful'])->name('succesful'); Route::post('/user-subscribe-cancel/{id}', [PaymentProcessController::class, 'cancelActiveSubscriptionByAdmin'])->name('cancelActiveSubscriptionByAdmin'); Route::post('/assign-plan', [PaymentProcessController::class, 'assignPlanByAdmin'])->name('assignPlanByAdmin'); Route::post('/assign-token-plan', [PaymentProcessController::class, 'assignTokenByAdmin'])->name('assignTokenByAdmin'); Route::post('update-address', [UserController::class, 'userSettingsUpdate'])->name('updateAddressDetails'); }); // Orders invoice billing Route::prefix('orders')->name('orders.')->group(function () { Route::get('/invoices/export', [UserController::class, 'exportInvoices'])->name('invoices.export'); Route::get('/', [UserController::class, 'invoiceList'])->name('index'); Route::get('/order/{order_id}', [UserController::class, 'invoiceSingle'])->name('invoice'); Route::get('/export/{type}', [UserController::class, 'ordersExport'])->name('ordersExport'); Route::get('/list/{user_id?}', [UserController::class, 'userOrdersList'])->name('list'); }); // Affiliates Route::prefix('affiliates')->name('affiliates.')->group(function () { Route::get('/', [UserController::class, 'affiliatesList'])->name('index'); Route::post('/send-invitation', [UserController::class, 'affiliatesListSendInvitation']); Route::post('/send-request', [UserController::class, 'affiliatesListSendRequest']); Route::get('/users', [UserController::class, 'affiliatesUsers'])->name('users'); }); Route::resource('voice', ElevenlabVoiceController::class)->except('show', 'destroy'); Route::get('voice/{voice}', [ElevenlabVoiceController::class, 'delete'])->name('voice.destroy'); Route::group([ 'prefix' => 'ai-influencer', 'as' => 'ai-influencer.', ], function () { Route::get('', [AiInfluencerController::class, 'index'])->name('index'); Route::delete('delete-exported-video', [AiInfluencerController::class, 'deleteExportedVideo'])->name('delete-exported-video'); Route::post('upload-files', [AiInfluencerController::class, 'uploadFiles'])->name('upload-files'); }); }); // Admin Area Route::prefix('admin') ->middleware('admin') ->name('admin.') ->group(function () { Route::get('/', [AdminController::class, 'index'])->name('index'); Route::group([ 'as' => 'dashboard-widget.', 'prefix' => 'dashboard-widget', ], function () { Route::put('order', [AdminController::class, 'dashboardWidgetOrderUpdate'])->name('order'); Route::put('{widget}/status', [AdminController::class, 'updateDashboardWidgetStatus'])->name('status'); }); Route::resource('ai-assistant', AssistantController::class); Route::group([ 'as' => 'transfer', 'prefix' => 'transfer', 'controller' => CreditsTransferController::class, ], static function () { Route::post('users-credits', 'transferUsersEntityCredits')->name('users.credits'); Route::post('users-credits-engine', 'transferUsersEntityCreditsOfEngines')->name('users.credits.engine'); Route::post('plans-credits', 'transferPlansEntityCredits')->name('plans.credits'); Route::post('plans-credits-engine', 'transferPlansEntityCreditsOfEngines')->name('plans.credits.engine'); }); Route::group([ 'as' => 'chatbot.', 'prefix' => 'chatbot/{chatbot}', 'controller' => ChatbotTrainingController::class, ], function () { Route::post('text', 'text')->name('text'); Route::post('qa', 'qa')->name('qa'); Route::post('training', 'training')->name('training'); Route::get('web-sites', 'getWebSites')->name('web-sites'); Route::post('web-sites', 'postWebSites'); Route::post('upload-pdf', 'uploadPdf')->name('upload-pdf'); Route::delete('item/{id}', 'deleteItem')->name('item.delete'); }); Route::group([ 'as' => 'ai-chat-model.', 'prefix' => 'ai-chat-model', ], function () { Route::get('', [AiChatbotModelController::class, 'index'])->name('index'); Route::post('', [AiChatbotModelController::class, 'update'])->name('update'); }); Route::get('chatbot/setting', [ChatbotController::class, 'setting'])->name('chatbot.setting'); Route::post('chatbot/setting', [ChatbotController::class, 'putSetting']); Route::get('chatbot/external-settings', [ChatbotController::class, 'externalChatSettings'])->name('chatbot.external_settings'); Route::resource('chatbot', ChatbotController::class); // Marketplace Route::group([ 'as' => 'marketplace.', 'prefix' => 'marketplace', 'controller' => MarketPlaceController::class, ], function () { Route::get('cart/delete-coupon', [MarketPlaceController::class, 'deleteCoupon'])->name('cart.delete.coupon'); Route::post('cart/coupon', [MarketPlaceController::class, 'cartCoupon'])->name('cart.coupon'); Route::get('cart', [MarketPlaceController::class, 'cart'])->name('cart'); Route::get('cart', [MarketPlaceController::class, 'cart'])->name('cart'); Route::get( 'cart/{id}/add-delete', [MarketPlaceController::class, 'addDelete'] )->name('cart.add-delete'); Route::get('', 'index')->name('index'); Route::get('licensed-extensions', 'licensedExtension')->name('liextension'); Route::get('{slug}', 'extension')->name('extension'); Route::get('{slug}/buy', 'buyExtension')->name('buyextesion'); Route::get('extension/{token}/activate', 'extensionActivate')->name('activate'); }); // Themes Route::prefix('themes')->name('themes.')->group(function () { Route::get('', [ThemeController::class, 'index'])->name('index'); Route::get('activate/{slug}', [InstallationController::class, 'installTheme'])->name('activate'); Route::get('buy/{slug}', [ThemeController::class, 'buyTheme'])->name('buyTheme'); Route::get('{token}/activate', [ThemeController::class, 'themeActivate'])->name('paymentActivate'); }); // User Management Route::prefix('users')->name('users.')->group(function () { Route::get('/', [AdminController::class, 'users'])->name('index'); Route::get('/search', [AdminController::class, 'usersSearch'])->name('search'); Route::get('/add', [AdminController::class, 'usersAdd'])->name('create'); Route::post('/store', [AdminController::class, 'usersStore'])->name('store'); Route::get('edit/{user}', [AdminController::class, 'usersEdit'])->name('edit'); Route::get('/delete/{id}', [AdminController::class, 'usersDelete'])->name('delete'); Route::post('save', [AdminController::class, 'usersSave'])->name('update'); Route::get('permissions', [AdminController::class, 'userPermissions'])->name('permissions'); Route::post('permission-save', [AdminController::class, 'userPermissionSave']) ->name('permissionSave'); Route::get('/finance/{id}', [AdminController::class, 'usersFinance'])->name('finance'); Route::get('activity', [AdminController::class, 'usersActivity'])->name('activity'); Route::get('dashboard', [AdminController::class, 'usersDashboard'])->name('dashboard'); Route::get('export/{type}', [AdminController::class, 'userExport'])->name('userExport'); Route::get('deletion/requests', [AdminController::class, 'deletionRequests'])->name('deletion.reqs'); Route::post('deletion/requests/{id}', [AdminController::class, 'deletionRequest'])->name('deletion.req'); }); // Announcements Route::resource('announcements', AnnouncementController::class)->only([ 'index', 'store', ]); Route::post('announcements/re_notify', [AnnouncementController::class, 're_notify'])->name('announcements.re_notify'); Route::post('announcements/reset', [AnnouncementController::class, 'reset'])->name('announcements.reset'); // Adsense Route::prefix('adsense')->name('ads.')->group(function () { Route::get('/', [AdsController::class, 'index'])->name('index'); Route::get('/{id}/edit', [AdsController::class, 'edit'])->name('edit'); Route::put('/{id}', [AdsController::class, 'update'])->name('update'); // Route::post('/', [AdsController::class, 'store'])->name('store'); // Route::delete('/{ad}', [AdsController::class, 'destroy'])->name('destroy'); }); // Bank Transactions Route::prefix('bank')->name('bank.')->group(function () { Route::get('/transactions', [PaymentProcessController::class, 'bankTransactions'])->name('transactions.list'); Route::get('/delete/{id?}', [PaymentProcessController::class, 'bankDelete'])->name('transactions.delete'); Route::post('/save', [PaymentProcessController::class, 'bankUpdateSave'])->name('transactions.update'); }); // Openai management Route::prefix('openai')->name('openai.')->group(function () { Route::get('/', [AdminController::class, 'openAIList'])->name('list'); Route::post('/update-status', [AdminController::class, 'openAIListUpdateStatus']); Route::post('/update-package-status', [AdminController::class, 'openAIListUpdatePackageStatus']); Route::prefix('custom')->name('custom.')->group(function () { Route::get('/', [AdminController::class, 'openAICustomList'])->name('list'); Route::get('/add-or-update/{id?}', [AdminController::class, 'openAICustomAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [AdminController::class, 'openAICustomDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'openAICustomAddOrUpdateSave']); }); Route::prefix('categories')->name('categories.')->group(function () { Route::get('/', [AdminController::class, 'openAICategoriesList'])->name('list'); Route::get('/add-or-update/{id?}', [AdminController::class, 'openAICategoriesAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [AdminController::class, 'openAICategoriesDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'openAICategoriesAddOrUpdateSave']); }); Route::prefix('chat')->name('chat.')->group(function () { Route::get('/', [AdminController::class, 'openAIChatList'])->name('list'); Route::get('/add-or-update/{id?}', [AdminController::class, 'openAIChatAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [AdminController::class, 'openAIChatDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'openAIChatAddOrUpdateSave'])->name('save'); Route::post('/update-plan', [AdminController::class, 'updatePlan'])->name('updatePlan'); Route::post('/update-fav', [AdminController::class, 'updateChatFav'])->name('updateChatFav'); Route::get('/category', [AdminController::class, 'categoryList'])->name('category'); Route::get('/category/add-or-update/{id?}', [AdminController::class, 'addOrUpdateCategory'])->name('addOrUpdateCategory'); Route::post('/category/save', [AdminController::class, 'chatCategoriesAddOrUpdateSave']); Route::get('/category/delete/{id?}', [AdminController::class, 'chatCategoriesDelete'])->name('deleteCategory'); }); }); // Finance Route::prefix('finance')->name('finance.')->group(function () { Route::resource('plan', PlanController::class)->except( 'store', 'update', 'destroy', 'show' ); Route::get('plan/{plan}/delete', [PlanController::class, 'destroy'])->name('plan.destroy'); Route::resource('token-pack-plan', TokenPackPlanController::class)->only( 'create', 'edit' ); // Plans Route::get('free-feature', [AdminController::class, 'freeFeature'])->name('free.feature'); Route::post('free-feature', [AdminController::class, 'freeFeatureSave']); Route::prefix('plans')->name('plans.')->group(function () { Route::get('/', [AdminController::class, 'paymentPlans'])->name('index'); Route::get('/subscription/create-or-update/{id?}', [AdminController::class, 'paymentPlansSubscriptionNewOrEdit'])->name('SubscriptionNewOrEdit'); Route::get('/pre-paid/create-or-update/{id?}', [AdminController::class, 'paymentPlansPrepaidNewOrEdit'])->name('PlanNewOrEdit'); Route::get('/delete/{id}', [AdminController::class, 'paymentPlansDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'paymentPlansSave'])->name('save'); }); // Payment Gateways Route::prefix('paymentGatewaysadd')->name('paymentGateways.')->group(function () { Route::get('/', [GatewayController::class, 'paymentGateways'])->name('index'); Route::get('/settings/{code}', [GatewayController::class, 'gatewaySettings'])->name('settings'); Route::post('/settings/country-tax-enabled/{code}', [GatewayController::class, 'countryTaxEnabled'])->name('country.tax.enabled'); Route::post('/settings/save', [GatewayController::class, 'gatewaySettingsSave'])->name('settings.save'); Route::post('/settings/tax/save', [GatewayController::class, 'gatewaySettingsTaxSave'])->name('settings.tax.save'); Route::get('/settings/tax/delete/{id}', [GatewayController::class, 'gatewaySettingsTaxDelete'])->name('settings.tax.delete'); }); // Mobile Route::prefix('mobile')->name('mobile.')->group(function () { Route::match(['get', 'post'], '/', [MobilePaymentsController::class, 'mobilePlanIdSettings'])->name('index'); }); }); // Testimonials Route::prefix('testimonials')->name('testimonials.')->group(function () { Route::get('/', [AdminController::class, 'testimonials'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'testimonialsNewOrEdit'])->name('TestimonialsNewOrEdit'); Route::get('/delete/{id}', [AdminController::class, 'testimonialsDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'testimonialsSave']); }); // Clients Route::prefix('clients')->name('clients.')->group(function () { Route::get('/', [AdminController::class, 'clients'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'clientsNewOrEdit'])->name('ClientsNewOrEdit'); Route::get('/delete/{id}', [AdminController::class, 'clientsDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'clientsSave']); }); // How it Works Route::prefix('howitWorks')->name('howitWorks.')->group(function () { Route::get('/', [AdminController::class, 'howitWorks'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'howitWorksNewOrEdit'])->name('HowitWorksNewOrEdit'); Route::get('/delete/{id}', [AdminController::class, 'howitWorksDelete'])->name('delete'); Route::post('/save', [AdminController::class, 'howitWorksSave']); Route::post('/bottom-line', [AdminController::class, 'howitWorksBottomLineSave']); }); Route::group([ 'prefix' => 'config', 'as' => 'config.', ], function () { Route::post('smtp/test', [SmtpController::class, 'test'])->name('smtp.test'); Route::resource('more', MoreController::class)->only(['index', 'store']); Route::resource('seo', SeoController::class)->only(['index', 'store']); Route::resource('ai-tools', AiToolsController::class)->only(['index', 'store']); Route::resource('finance', FinanceController::class)->only(['index', 'store']); Route::resource('smtp', SmtpController::class)->only(['index', 'store']); Route::resource('login', LoginController::class)->only(['index', 'store']); Route::resource('gdpr', GdprController::class)->only(['index', 'store']); Route::resource('storage', StorageController::class)->only(['index', 'store']); Route::resource('branding', BrandingController::class)->only(['index', 'store']); Route::post('branding/favicon', [BrandingController::class, 'favicon'])->name('branding.favicon'); Route::resource('', GeneralController::class)->parameter('', 'id')->only(['index']); Route::resource('premium-advantages', PremiumAdvantagesController::class)->only(['index', 'store']); }); // Settings Route::prefix('settings')->name('settings.')->group(function () { Route::get('/general', [SettingsController::class, 'general'])->name('general'); Route::post('/general-save', [SettingsController::class, 'generalSave']); Route::get('searchapi', [SearchapiSettingController::class, 'index'])->name('searchapi'); Route::post('searchapi', [SearchapiSettingController::class, 'update']); Route::get('/openai', [SettingsController::class, 'openai'])->name('openai'); Route::get('/openai/test', [SettingsController::class, 'openaiTest'])->name('openai.test'); Route::post('/openai-save', [SettingsController::class, 'openaiSave']); Route::get('/x-ai', [SettingsController::class, 'xAI'])->name('x-ai'); Route::get('/x-ai/test', [SettingsController::class, 'xAiTest'])->name('x-ai.test'); Route::post('/x-ai-save', [SettingsController::class, 'xAiSave']); Route::get('anthropic', [SettingsController::class, 'anthropic'])->name('anthropic'); Route::get('anthropic/test', [SettingsController::class, 'anthropicTest'])->name('anthropic.test'); Route::post('anthropic', [SettingsController::class, 'anthropicSave']); Route::get('deepseek', [SettingsController::class, 'deepseek'])->name('deepseek'); Route::get('deepseek/test', [SettingsController::class, 'deepseekTest'])->name('deepseek.test'); Route::post('deepseek', [SettingsController::class, 'deepseekSave'])->name('deepseek.save'); Route::get('gemini', [SettingsController::class, 'gemini'])->name('gemini'); Route::get('gemini/test', [SettingsController::class, 'geminiTest'])->name('gemini.test'); Route::post('gemini', [SettingsController::class, 'geminiSave']); Route::get('/stablediffusion', [SettingsController::class, 'stablediffusion'])->name('stablediffusion'); Route::get('/stablediffusion/test', [SettingsController::class, 'stablediffusionTest'])->name('stablediffusion.test'); Route::post('/stablediffusion-save', [SettingsController::class, 'stablediffusionSave']); Route::get('/unsplashapi', [SettingsController::class, 'unsplashapi'])->name('unsplashapi'); Route::get('/unsplashapi/test', [SettingsController::class, 'unsplashapiTest'])->name('unsplashapi.test'); Route::post('/unsplashapi-save', [SettingsController::class, 'unsplashapiSave']); Route::get('/pexelsapi', [SettingsController::class, 'pexelsapi'])->name('pexelsapi'); Route::get('/pexelsapi/test', [SettingsController::class, 'pexelsapiTest'])->name('pexelsapi.test'); Route::post('/pexelsapi-save', [SettingsController::class, 'pexelsapiSave']); Route::get('/pixabayapi', [SettingsController::class, 'pixabayapi'])->name('pixabayapi'); Route::get('/pixabayapi/test', [SettingsController::class, 'pixabayapiTest'])->name('pixabayapi.test'); Route::post('/pixabayapi-save', [SettingsController::class, 'pixabayapiSave']); // thumbnail system Route::get('/thumbnail', [SettingsController::class, 'thumbnail'])->name('thumbnail'); Route::post('/thumbnail-save', [SettingsController::class, 'thumbnailSave'])->name('thumbnail.save'); Route::post('/thumbnail-purge', [SettingsController::class, 'thumbnailPurge'])->name('thumbnail.purge'); Route::get('/serperapi', [SettingsController::class, 'serperapi'])->name('serperapi'); Route::get('/serperapi/test', [SettingsController::class, 'serperapiTest'])->name('serperapi.test'); Route::post('/serperapi-save', [SettingsController::class, 'serperapiSave']); Route::get('/tts', [SettingsController::class, 'tts'])->name('tts'); Route::post('/tts-save', [SettingsController::class, 'ttsSave']); Route::get('/aimlapi', [SettingsController::class, 'aimlapi'])->name('aimlapi'); Route::post('/aimlapi-save', [SettingsController::class, 'aimlapiSave']); Route::get('/payment', [SettingsController::class, 'payment'])->name('payment'); Route::post('/payment-save', [SettingsController::class, 'paymentSave']); Route::post('/affiliate-status-save/{id}', [SettingsController::class, 'affiliateStatusSave']); Route::get('/privacy', [SettingsController::class, 'privacy'])->name('privacy'); Route::post('/privacy-save', [SettingsController::class, 'privacySave']); Route::post('/get-privacy-terms-content', [SettingsController::class, 'getPrivacyTermsContent']); Route::post('/get-meta-content', [SettingsController::class, 'getMetaContent']); }); // Affiliates Route::prefix('affiliates')->name('affiliates.')->group(function () { Route::get('/', [AdminController::class, 'affiliatesList'])->name('index'); Route::get('/sent/{id}', [AdminController::class, 'affiliatesListSent'])->name('sent'); }); // Coupons Route::prefix('coupons')->name('coupons.')->group(function () { Route::get('/', [AdminController::class, 'couponsList'])->name('index'); Route::get('/used/{id}', [AdminController::class, 'couponsListUsed'])->name('used'); Route::get('/delete/{id}', [AdminController::class, 'couponsDelete'])->name('delete'); Route::post('/edit/{id}', [AdminController::class, 'couponsEdit'])->name('edit'); Route::post('/add', [AdminController::class, 'couponsAdd'])->name('add'); }); // Frontend Route::prefix('frontend')->name('frontend.')->group(function () { Route::resource('curtain', CurtainController::class)->only(['index', 'edit', 'update']); Route::resource('channel-setting', ChannelSettingController::class)->only(['index', 'edit', 'update']); Route::resource('content-box', ContentBoxController::class)->only(['index', 'edit', 'update']); Route::get('/', [AdminController::class, 'frontendSettings'])->name('settings'); Route::post('/settings-save', [AdminController::class, 'frontendSettingsSave']); Route::get('/section-settings', [AdminController::class, 'frontendSectionSettings'])->name('sectionsettings'); Route::post('/section-settings-save', [AdminController::class, 'frontendSectionSettingsSave']); Route::get('/menu', [AdminController::class, 'menuSettings'])->name('menusettings'); Route::post('/menu-save', [AdminController::class, 'menuSettingsSave']); Route::get('/auth', [AdminController::class, 'authSettings'])->name('authsettings'); Route::post('/auth-save', [AdminController::class, 'authsettingsSave']); // Frequently Asked Questions (F.A.Q) Section faq Route::prefix('faq')->name('faq.')->group(function () { Route::get('/', [AdminController::class, 'frontendFaq'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'frontendFaqcreateOrUpdate'])->name('createOrUpdate'); Route::get('/action/delete/{id}', [AdminController::class, 'frontendFaqDelete'])->name('delete'); Route::post('/action/save', [AdminController::class, 'frontendFaqcreateOrUpdateSave']); }); // Tools Section Route::prefix('tools')->name('tools.')->group(function () { Route::get('/', [AdminController::class, 'frontendTools'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'frontendToolscreateOrUpdate'])->name('createOrUpdate'); Route::get('/action/delete/{id}', [AdminController::class, 'frontendToolsDelete'])->name('delete'); Route::post('/action/save', [AdminController::class, 'frontendToolscreateOrUpdateSave']); }); // Future of ai section Features Route::prefix('future')->name('future.')->group(function () { Route::get('/', [AdminController::class, 'frontendFuture'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'frontendFutureCreateOrUpdate'])->name('createOrUpdate'); Route::get('/action/delete/{id}', [AdminController::class, 'frontendFutureDelete'])->name('delete'); Route::post('/action/save', [AdminController::class, 'frontendFutureCreateOrUpdateSave']); }); // who is this script for? Route::prefix('whois')->name('whois.')->group(function () { Route::get('/', [AdminController::class, 'frontendWhois'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'frontendWhoisCreateOrUpdate'])->name('createOrUpdate'); Route::get('/action/delete/{id}', [AdminController::class, 'frontendWhoisDelete'])->name('delete'); Route::post('/action/save', [AdminController::class, 'frontendWhoisCreateOrUpdateSave']); }); // Generator List Route::prefix('generatorlist')->name('generatorlist.')->group(function () { Route::get('/', [AdminController::class, 'frontendGeneratorlist'])->name('index'); Route::get('/create-or-update/{id?}', [AdminController::class, 'frontendGeneratorlistCreateOrUpdate'])->name('createOrUpdate'); Route::get('/action/delete/{id}', [AdminController::class, 'frontendGeneratorlistDelete'])->name('delete'); Route::post('/action/save', [AdminController::class, 'frontendGeneratorlistCreateOrUpdateSave']); }); // socialmedia Route::get('/socialmedia', [AdminController::class, 'socialmedia'])->name('socialmedia'); Route::post('/socialmedia', [AdminController::class, 'socialmediaSave'])->name('socialmedia.save'); }); Route::resource('advertis', AdvertisController::class)->parameter('advertis', 'advertis'); // Update Route::view('update', 'panel.admin.update.index')->name('update.index'); // Healt Page Route::prefix('health') ->name('health.') ->group(function () { Route::get('', [HealthController::class, 'index'])->name('index'); Route::get('logs', [HealthController::class, 'logs'])->name('logs'); // cache clear Route::get('cache-clear', [HealthController::class, 'cacheClear'])->name('cache.clear'); }); // Update license type Route::view('license', 'panel.admin.license.index')->name('license.index'); Route::post('translations/auto/{lang}', [TranslateController::class, 'autoTranslate'])->name('translations.auto'); }); // Coupons Route::prefix('coupons')->name('coupons.')->group(function () { Route::post('/validate-coupon', [AdminController::class, 'couponsValidate'])->name('validate'); }); Route::post('change-chat-title', [AIChatController::class, 'changeChatTitle'])->name('change-chat-title'); // Support Area Route::prefix('support')->name('support.')->group(function () { Route::get('/my-requests', [SupportController::class, 'list'])->name('list')->middleware(CheckTemplateTypeAndPlan::class); Route::get('/new-support-request', [SupportController::class, 'newTicket'])->name('new'); Route::post('/new-support-request/send', [SupportController::class, 'newTicketSend']); Route::get('/requests/{ticket_id}', [SupportController::class, 'viewTicket'])->name('view'); Route::post('/requests-action/send-message', [SupportController::class, 'viewTicketSendMessage']); }); // Admin Area2 Route::middleware('admin') ->group(function () { // Pages Route::prefix('page')->name('page.')->group(function () { Route::get('/', [PageController::class, 'pageList'])->name('list'); Route::get('/add-or-update/{id?}', [PageController::class, 'pageAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [PageController::class, 'pageDelete'])->name('delete'); Route::post('/save', [PageController::class, 'pageAddOrUpdateSave']); }); // Email Templates Route::get('email-templates/{id}/send', [EmailTemplatesController::class, 'sendView']) ->name('email-templates.send'); Route::post('email-templates/{id}/send', [EmailTemplatesController::class, 'sendQueue']); Route::resource('email-templates', EmailTemplatesController::class); // delete email template route Route::get('email-templates/{id}/delete', [EmailTemplatesController::class, 'delete']) ->name('email-templates.destroy'); // Blog Route::prefix('blog')->name('blog.')->group(function () { Route::get('/', [BlogController::class, 'blogList'])->name('list'); Route::get('/add-or-update/{id?}', [BlogController::class, 'blogAddOrUpdate'])->name('addOrUpdate'); Route::get('/delete/{id?}', [BlogController::class, 'blogDelete'])->name('delete'); Route::post('/save', [BlogController::class, 'blogAddOrUpdateSave']); }); }); // Notifications Route::post('notifications/mark-as-read', [NotificationController::class, 'markAsRead'])->name('notifications.markAllAsRead'); // Chatbot // Route::prefix('chatbot')->name('chatbot.')->group(function () { // Route::get('/', [ChatBotController::class, 'chatbotIndex'])->name('index'); // Route::get('/add-or-update/{id?}', [ChatBotController::class, 'addOrUpdate'])->name('addOrUpdate'); // Route::get('/delete/{id?}', [ChatBotController::class, 'delete'])->name('delete'); // Route::post('/save', [ChatBotController::class, 'addOrUpdateSave']); // Route::post('/save-settings', [ChatBotController::class, 'chatbotSettingsSave']); // }); // Search Route::get('/api/search/recent-search-keys', [SearchController::class, 'recentSearchKeys']); Route::get('/api/search/recent-lunch', [SearchController::class, 'recentLunch']); Route::post('/api/search', [SearchController::class, 'search']); Route::delete('/api/search/delete-search-key/{key}', [SearchController::class, 'deleteSearchkey']); }); Route::group(['prefix' => config('elseyyid-location.prefix'), 'middleware' => config('elseyyid-location.middlewares'), 'as' => 'elseyyid.translations.'], function () { Route::get('home', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@index')->name('home'); Route::get('lang/{lang}', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@lang')->name('lang'); Route::get('lang/generateJson/{lang}', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@generateJson')->name('lang.generateJson'); Route::get('newLang', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@newLang')->name('lang.newLang'); Route::get('newString', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@newString')->name('lang.newString'); Route::get('search', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@search')->name('lang.search'); Route::get('string/{code}', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@string')->name('lang.string'); Route::get('publish-all', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@publishAll')->name('lang.publishAll'); // Reinstall Route::get('regenerate', [CommonController::class, 'regenerate'])->name('lang.reinstall'); // setLocale Route::get('setLocale', [CommonController::class, 'setLocale'])->name('lang.setLocale'); }); Route::post('translations/lang/update/{id}', '\Elseyyid\LaravelJsonLocationsManager\Controllers\HomeController@update')->name('elseyyid.translations.lang.update'); Route::post('translations/lang/update-all', [CommonController::class, 'translationsLangUpdateAll'])->name('elseyyid.translations.lang.update-all'); Route::post('translations/lang-save', [CommonController::class, 'translationsLangSave'])->name('elseyyid.translations.lang.lang-save'); Route::post('image/upload', [CommonController::class, 'imageUpload'])->name('upload.image'); Route::post('images/upload', [CommonController::class, 'imagesUpload'])->name('upload.images'); Route::post('files/upload', [CommonController::class, 'filesUpload'])->name('upload.files'); Route::post('pdf/getContent', [ChatPdfController::class, 'getSimiliarContent'])->name('pdf.getcontent'); Route::post('rss/fetch', [CommonController::class, 'rssFetch'])->name('rss.fetch'); $files = glob(base_path('routes/extroutes/*.php')); for ($i = 0; $i < count($files); $i++) { include $files[$i]; } Route::middleware('auth') ->group(function () { Route::middleware('admin')->get('debug', DebugController::class)->name('dashboard.debug'); Route::get('admin-vip-button', [VipStatusController::class, 'adminVipButton'])->name('admin-vip-button'); Route::get('check-vip-status', [VipStatusController::class, 'checkVipStatus'])->name('checkVipStatus'); Route::view('vip-intercom-partial', 'panel.layout.includes.vip-intercom')->name('vip-intercom-partial'); }); if (file_exists(base_path('routes/custom_routes_panel.php'))) { include base_path('routes/custom_routes_panel.php'); } auth.php000064400000005452152665330400006230 0ustar00group(function () { Route::get('register', [AuthenticationController::class, 'registerCreate']) ->name('register'); Route::post('register', [AuthenticationController::class, 'registerStore']); Route::get('login', [AuthenticatedSessionController::class, 'create'])->name('login'); Route::post('login', [AuthenticatedSessionController::class, 'store']); Route::get('verify-otp', [AuthenticatedSessionController::class, 'verifyOtpCode'])->name('verify-otp'); Route::post('verify-otp', [AuthenticatedSessionController::class, 'verifyOtp'])->name('verify-otp'); Route::get('forgot-password', [AuthenticationController::class, 'PasswordResetCreate']) ->name('forgot_password'); Route::post('forgot-password', [MailController::class, 'sendPasswordResetMail']); Route::get('forgot-password/retrieve/{password_reset_code}', [MailController::class, 'passwordResetCallback']); Route::post('forgot-password/save', [MailController::class, 'passwordResetCallbackSave']); // Social Login Route::get('github/redirect', function () { return Socialite::driver('github')->redirect(); })->name('login.github'); Route::get('google/redirect', function () { return Socialite::driver('google')->redirect(); })->name('login.google'); Route::get('twitter/redirect', function () { return Socialite::driver('twitter')->redirect(); })->name('login.twitter'); Route::get('/facebook/redirect', function () { return Socialite::driver('facebook')->redirect(); })->name('login.facebook'); Route::get('/github/callback', [AuthenticationController::class, 'githubCallback']); Route::get('/google/callback', [AuthenticationController::class, 'googleCallback']); Route::get('/twitter/callback', [AuthenticationController::class, 'twitterCallback']); Route::get('/facebook/callback', [AuthenticationController::class, 'facebookCallback']); Route::get('2fa/login', [Google2FAController::class, 'login'])->name('2fa.login'); Route::post('2fa/login', [Google2FAController::class, 'verify']); }); Route::middleware('auth')->group(function () { Route::put('password', [PasswordController::class, 'update'])->name('password.update'); Route::post('logout', [AuthenticatedSessionController::class, 'destroy']) ->name('logout'); }); if (file_exists(base_path('routes/custom_routes_auth.php'))) { include base_path('routes/custom_routes_auth.php'); } api.php000064400000033414152665330400006037 0ustar00group(function () { Route::post('register', 'App\Http\Controllers\Api\AuthController@register'); Route::post('forgot-password', 'App\Http\Controllers\Api\AuthController@sendPasswordResetMail'); Route::get('email/verify', 'App\Http\Controllers\Api\AuthController@emailConfirmationMail'); Route::post('email/verify/resend', 'App\Http\Controllers\Api\AuthController@resend')->middleware('throttle:6,1'); Route::get('social-login', 'App\Http\Controllers\Api\AuthController@getSupportedLoginMethods'); Route::get('logo', 'App\Http\Controllers\Api\AppController@getLogo'); Route::post('google-login', 'App\Http\Controllers\Api\SocialLoginController@google'); Route::post('apple-login', 'App\Http\Controllers\Api\SocialLoginController@apple'); }); Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); Route::middleware('auth:api')->group(function () { Route::prefix('auth')->group(function () { Route::post('logout', 'App\Http\Controllers\Api\AuthController@logout'); Route::prefix('profile')->group(function () { Route::get('/', 'App\Http\Controllers\Api\UserController@index'); Route::patch('/', 'App\Http\Controllers\Api\UserController@update'); Route::delete('/', 'App\Http\Controllers\Api\UserController@destroy'); }); }); Route::prefix('app')->group(function () { Route::get('email-confirmation-setting', 'App\Http\Controllers\Api\AppController@getEmailConfirmationSetting'); // if emailconfirmation = true -> then mail required, elseif emailconfirmation = false -> then email confirmation not required Route::get('get-setting', 'App\Http\Controllers\Api\AppController@getSetting'); // returns all settings Route::get('usage-data', 'App\Http\Controllers\Api\AppController@getUsageData'); // returns usage data and plan details of current user. Route::get('currency/{id?}', 'App\Http\Controllers\Api\AppController@getCurrency'); // returns default currency defined in settings. }); Route::prefix('general')->group(function () { Route::get('recent-documents', 'App\Http\Controllers\Api\AIChatController@getRecentDocuments'); Route::get('favorite-openai', 'App\Http\Controllers\Api\AIChatController@openAIFavoritesList'); // favorite ai tool (ai_voiceover, ai_wizard, ai_writer(facebook_ads, youtube_video_title ..etc) ..etc) Route::post('search', 'App\Http\Controllers\Api\AIChatController@search'); }); Route::prefix('aichat')->group(function () { Route::post('/stream-test', 'App\Http\Controllers\Api\AIChatController@developerStreamTest'); Route::post('/change-chat-title', 'App\Http\Controllers\Api\AIChatController@changeChatTitle'); Route::prefix('chat-templates')->group(function () { Route::get('/{id?}', 'App\Http\Controllers\Api\ChatTemplatesController@index'); Route::patch('/', 'App\Http\Controllers\Api\ChatTemplatesController@update'); // If `request->template_id` is 'undefined' or `null`, a new template will be created. Route::delete('/{id}', 'App\Http\Controllers\Api\ChatTemplatesController@destroy'); }); Route::prefix('chat')->group(function () { Route::get('/{conver_id}', 'App\Http\Controllers\Api\AIChatController@conversations'); // get conversation chat by conversation id Route::get('/{conver_id}/messages', 'App\Http\Controllers\Api\AIChatController@conversationChats'); // get conversation chat by conversation id Route::get('/{conver_id}/messages/{id}', 'App\Http\Controllers\Api\AIChatController@conversationChats'); // get conversation chat by conversation id }); // must be out of chat to not to match with {conver_id} Route::match(['get', 'post'], '/chat-send', 'App\Http\Controllers\Api\AIChatController@chatOutput'); Route::post('/new-chat', 'App\Http\Controllers\Api\AIChatController@startNewChat'); Route::prefix('history')->group(function () { // returns all conversations of the template Route::get('/{cat_slug}', 'App\Http\Controllers\Api\AIChatController@openAIChat'); Route::delete('/', 'App\Http\Controllers\Api\AIChatController@deleteChat'); Route::patch('/', 'App\Http\Controllers\Api\AIChatController@renameChat'); }); // must be out of history to not to match with {cat_slug} Route::post('/search-history', 'App\Http\Controllers\Api\AIChatController@searchChatHistory'); Route::get('/recent-chats', 'App\Http\Controllers\Api\AIChatController@recentChats'); Route::post('/search-recent-chats', 'App\Http\Controllers\Api\AIChatController@searchRecentChats'); }); Route::prefix('airealtimechat')->group(function () { Route::post('/stream-test', 'App\Http\Controllers\Api\AIRealTimeChatController@developerStreamTest'); Route::post('/change-chat-title', 'App\Http\Controllers\Api\AIRealTimeChatController@changeChatTitle'); Route::prefix('chat-templates')->group(function () { Route::get('/{id?}', 'App\Http\Controllers\Api\ChatTemplatesController@index'); Route::patch('/', 'App\Http\Controllers\Api\ChatTemplatesController@update'); // If `request->template_id` is 'undefined' or `null`, a new template will be created. Route::delete('/{id}', 'App\Http\Controllers\Api\ChatTemplatesController@destroy'); }); Route::prefix('chat')->group(function () { Route::get('/{conver_id}', 'App\Http\Controllers\Api\AIRealTimeChatController@conversations'); // get conversation chat by conversation id Route::get('/{conver_id}/messages', 'App\Http\Controllers\Api\AIRealTimeChatController@conversationChats'); // get conversation chat by conversation id Route::get('/{conver_id}/messages/{id}', 'App\Http\Controllers\Api\AIRealTimeChatController@conversationChats'); // get conversation chat by conversation id }); // must be out of chat to not to match with {conver_id} Route::match(['get', 'post'], '/chat-send', 'App\Http\Controllers\Api\AIRealTimeChatController@chatOutput'); Route::post('/new-chat', 'App\Http\Controllers\Api\AIRealTimeChatController@startNewChat'); Route::prefix('history')->group(function () { // returns all conversations of the template Route::get('/{cat_slug}', 'App\Http\Controllers\Api\AIRealTimeChatController@openAIChat'); Route::delete('/', 'App\Http\Controllers\Api\AIRealTimeChatController@deleteChat'); Route::patch('/', 'App\Http\Controllers\Api\AIRealTimeChatController@renameChat'); }); // must be out of history to not to match with {cat_slug} Route::post('/search-history', 'App\Http\Controllers\Api\AIRealTimeChatController@searchChatHistory'); Route::get('/recent-chats', 'App\Http\Controllers\Api\AIRealTimeChatController@recentChats'); Route::post('/search-recent-chats', 'App\Http\Controllers\Api\AIRealTimeChatController@searchRecentChats'); Route::get('/websocket-credentials', 'App\Http\Controllers\Api\AIRealTimeChatController@getWebsocketCredentials'); Route::post('/save-conversation', 'App\Http\Controllers\Api\AIRealTimeChatController@saveConversation'); }); // hasToken middleware is removed because of redirection. Checks will be done via mobile ui and api endpoints. Route::prefix('aiwriter')->group(function () { // aiwriter generators Route::get('/generator/{slug}', 'App\Http\Controllers\Api\AIWriterController@openAIGeneratorApi'); // returns the openai writer info and related user generated docs Route::get('/generator/{slug}/workbook', 'App\Http\Controllers\Api\AIWriterController@openAIGeneratorWorkbookApi'); // returns the openai writer info Route::post('/generate', 'App\Http\Controllers\Api\AIController@buildOutput'); // generate output {AIController} Route::post('/generate-output', 'App\Http\Controllers\Api\AIWriterController@streamedTextOutput'); // Streamed Text Output Route::get('/generate/lazyload', 'App\Http\Controllers\Api\AIWriterController@lazyLoadImage'); Route::post('/generate/save', 'App\Http\Controllers\Api\AIWriterController@lowGenerateSave'); Route::get('/openai-list', 'App\Http\Controllers\Api\AIWriterController@getOpenAIWriterList'); // returns all openai list related to text generation with user check Route::get('/favorite-openai-list', 'App\Http\Controllers\Api\AIWriterController@favoriteOpenaiList'); // returns all favorited openais id list [1,2,3] related to current user Route::post('/favorite-openai-list-add', 'App\Http\Controllers\Api\AIWriterController@addToFavoriteOpenaiList'); // returns all favorited openais id list [1,2,3] related to current user Route::post('/favorite-openai-list-remove', 'App\Http\Controllers\Api\AIWriterController@removeFromFavoriteOpenaiList'); // returns all favorited openais id list [1,2,3] related to current user }); Route::prefix('aiimage')->group(function () { Route::get('/versions', 'App\Http\Controllers\Api\AIImageController@versions'); // returns the model versions Route::get('/check-availability', 'App\Http\Controllers\Api\AIImageController@checkActiveGeneration'); // returns if there is an active generation Route::post('/generate-image', 'App\Http\Controllers\Api\AIImageController@generateImage'); // returns generated images list Route::get('/recent-images', 'App\Http\Controllers\Api\AIImageController@getRecentImages'); // returns the latest 10 images }); Route::prefix('payment')->group(function () { Route::get('/', "App\Http\Controllers\Api\PaymentApiController@getCurrentPlan"); Route::get('/check-revenue-cat', "App\Http\Controllers\Api\PaymentApiController@checkRevenueCat"); Route::get('/plans/{plan_id?}', "App\Http\Controllers\Api\PaymentApiController@plans"); Route::get('/orders/{order_id?}', "App\Http\Controllers\Api\PaymentApiController@orders"); Route::prefix('/subscriptions')->group(function () { // / Subscriptions are started from mobile app. So, there is no need to create a subscription from api for RevenueCat. Route::post('/cancel-current', "App\Http\Controllers\Api\PaymentApiController@cancelActiveSubscription"); }); }); Route::prefix('affiliates')->group(function () { Route::get('/', "App\Http\Controllers\Api\AffiliateApiController@affiliates"); Route::get('/withdrawals', "App\Http\Controllers\Api\AffiliateApiController@withdrawals"); Route::post('/request-withdrawal', "App\Http\Controllers\Api\AffiliateApiController@requestWithdrawal"); }); Route::prefix('support')->group(function () { Route::get('/', "App\Http\Controllers\Api\UserSupportApiController@supportRequests"); Route::post('/', "App\Http\Controllers\Api\UserSupportApiController@newTicket"); Route::get('/ticket/{ticket_id}', "App\Http\Controllers\Api\UserSupportApiController@ticket"); Route::get('/ticket/{ticket_id}/last-message', "App\Http\Controllers\Api\UserSupportApiController@ticketLastMessage"); Route::post('/send-message', "App\Http\Controllers\Api\UserSupportApiController@sendMessage"); Route::get('/user/{ticket_id}', "App\Http\Controllers\Api\UserSupportApiController@ticketUser"); }); Route::prefix('documents')->group(function () { Route::get('/', "App\Http\Controllers\Api\DocumentsApiController@getDocs"); Route::get('/doc/{id}', "App\Http\Controllers\Api\DocumentsApiController@getDoc"); Route::post('/doc/{id}', "App\Http\Controllers\Api\DocumentsApiController@saveDoc"); Route::delete('/doc/{id}', "App\Http\Controllers\Api\DocumentsApiController@deleteDoc"); Route::get('/recent', "App\Http\Controllers\Api\DocumentsApiController@getRecentDocs"); Route::get('/all-openai', "App\Http\Controllers\Api\DocumentsApiController@getOpenAIList"); // returns all openai generators without user check Route::get('/openai-filters', "App\Http\Controllers\Api\DocumentsApiController@getOpenAIFilters"); }); Route::prefix('extensions')->group(function () { Route::get('/', "App\Http\Controllers\Api\ExtensionController@extensionIndex"); // / Extension Routes for API $files = glob(base_path('routes/extapiroutes/*.php')); for ($i = 0; $i < count($files); $i++) { include $files[$i]; } }); Route::prefix('brandvoice')->group(function () { Route::get('/', "App\Http\Controllers\Api\BrandController@index"); Route::get('/{id}', "App\Http\Controllers\Api\BrandController@index"); Route::post('/', "App\Http\Controllers\Api\BrandController@store"); Route::delete('/{id}', "App\Http\Controllers\Api\BrandController@delete"); }); Route::prefix('aivoiceover')->group(function () { Route::post('/preview', "App\Http\Controllers\Api\TTSController@preview"); Route::post('/generate', "App\Http\Controllers\Api\TTSController@generate"); }); Route::prefix('entity')->group(function () { Route::get('/list', 'App\Http\Controllers\Api\EntityController@getAllEntities'); // returns all entities with tokens }); }); channels.php000064400000001056152665330400007056 0ustar00id === (int) $id; }); webhooks.php000064400000001750152665330400007105 0ustar00name('webhooks.') ->group(function () { Route::match(['get', 'post'], '/{gateway}', [PaymentProcessController::class, 'handleWebhook']); Route::any('stripe/{subscription}/success', [PaymentProcessController::class, 'stripeSuccess'])->name('stripe.success'); Route::any('stripe/{subscription}/cancel', [PaymentProcessController::class, 'stripeCancel'])->name('stripe.cancel'); Route::any('stripe/{plan}/{user}/success/prepaid', [PaymentProcessController::class, 'prepaidStripeSuccess'])->name('stripe.success'); Route::any('stripe/cancel/prepaid', [PaymentProcessController::class, 'stripeCancel'])->name('stripe.cancel'); }); Route::prefix('webhook') ->name('webhook.') ->group(function () { Route::match(['get', 'post'], '/{gateway}', [PaymentProcessController::class, 'handleWebhook']); }); console.php000064400000001120152665330400006715 0ustar00comment(Inspiring::quote()); })->purpose('Display an inspiring quote'); config/config.zip000064400000560766152665330400010032 0ustar00PK W]À.Õ¤@@ index.php.tarnu„[µü¤home/nectalco/public_html/routes/config/index.php000064400000234247152665267060016227 0ustar00‰PNG  IHDR 6 £ 7¾Âß PLTEÿÿÿL‹õïïïåååLΛOŽõÜÜÜRÂ�õI‰ôÙÙÙçççáááJ‰ñÞÞÞDU¶OÂ�ò6€ö©Çüb|‰ÕÕ×eÂ�Â�÷÷÷ÒÒÖÛåð^w‡„«ôÃ�Ã�Ó^•óöôïEnÓBP°ÇÈÃ�DV´>…õpŠ•ÂÃÎüùîÊ×ñÃÇÉš¨°Â�±óPo{~¦óZw…\tˆ>P³m öc˜ó°Æòäéï»Ã�񫳸2F³Yf¸ó÷ýŸ¾øÕáûéðýÚåûØÙᢰÔwœæ°ºÕÀÑñ‡¦å’©ßº¾Ã�Ÿ¯Ú—¶óPt¢PƒÔ^r|tÂ�‡pÆ’â€�}Â�š„¢äMi“¡©—¤ª¬±½Mr¢ÕÃ�É¡¦ÆÂ�™Ñ’˜Â}„¿oy»½Ã�Þhu¨«Å–š¿þ­)€ (IDATxϒÃ� [ÚÈ p"&bEA gÓDQ«-½¸­v÷â€�êzzv{¶Ã�ïÿAÎÜ’L’É¥ä™$ÿgût­í®ù=ï;—db …Ü'd*Ö@¶xj6.7¥Ûm¿yóF¯V«Eâ€�u.ÞÂ�]Ÿ A¬%­;l1Ñl5ºQxËÜt,W-ÆI•OQ8![\4ŽÂ�té»>q{2ú3’¸ Øâ£qjô€\·kšíç°Éâæe[ÀÌÃ�ßš( Ë,t( $â€�bfp±-fæR#_Â�Z»]/©E@¶õ¤I⤃Š$Ã’KÂ�¨¡j¨äs[XÂ�¹ÉPnËœm+Ô ÂÎñÙÃ�l6;<¿Æ’cĕ [£»Ú}*ÃèÃ�¦Ô7k=ÃXÃ1ŒžÑ¼ƒP RC]Ú&lÂ�úúÓÙdèÒP6ÞM{â€�ÌŽaÅ“W`€šªTpµ5P´˜n‚i¡˜´IŒ„±Ã�Ã�ÔcÆà¶QÃ�‰Ô¬.Ã…nÃ¥XÅ–>6ÞˆÃ�\³Ø~m°.­ë™dS*ÂR³àZb7Â¥Cæ4)`·mÅ¡26elFê w©é¸EÂ¥‹Mõ¨8܇³ 5Ô¥m›­®G/CÃ’Ã…V™òfkÃ�óí³óÙÔZ‰ª‘.Â¥nx|+G¹yÕ¤f«€™SZÆôzB7 °48Ä¿nª¡¥Û{êFØp½e‡ l÷œJ»Öú¶¤*pÜ4BÕTøÃ�ìb·s[¬GÂ¥f›Øµf4éÚÖ™*àÃ�M-D uiŸÜ>Šç–&6xh±áÂòN `ÉfwéGÊË-ElêØVkúÕ"ƒ»´Ëº±i¡nR³¹o9»ã jª2qwiX½ùÔ¤bsËT¬Â�­7PW£]ÚuØ´Â�z©IÊŽ­b›Ã�§¨¡.íÚ]JªMÓ‚ÜRÄfO½±ú5Ö¥ÖŠ—°iÕÔ³{Æ’PãY©‰"Å“UÙ\Ú°ÊM«÷ûýFch““MíXóÃ�9ߣÊ`Úôg*º¢À[÷œ õO†ÃáÊAzÙ¬GÂ�cnBPÃ�ÀÞ8ð»Õ3Ã�†A¬K96D¶‹’^6{FèMì¡ 7žÂ�mM°Ã�RÃ…ZñºØv|l~5‰Ùî,¶ŠƒÈæ¿í†Ôh—:ûƶ“ ¶’ÊMŸqÙ°šƦˆÃ�;¶¥Ší˜¯6gv\„M®9!€M &/›Òr–mü¢"USÈa{åæ°íVÓÊfoäÂ�;àf3¸L LMïúB¶~Ã�›*¶R%€„ßï[Kb´¶©¡rkX›+´EÃ�6]/Zÿyá–A^6Ød×Õ ¾©Xy …j dsdf true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/xml"); $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '