| Server IP : 146.59.209.152 / Your IP : 216.73.216.152 Web Server : Apache System : Linux webm009.cluster131.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : monpetu ( 144298) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/monpetu/www/ipprint/wp-content/plugins/loco-translate/src/ajax/common/ |
Upload File : |
<?php
/**
* Common functions for all Ajax actions that operate on a bundle
*/
abstract class Loco_ajax_common_BundleController extends Loco_mvc_AjaxController {
/**
* {@inheritdoc}
* Note: "route" is a trusted routing arg supplied by the router, not filtered here.
*/
public function allowedParams():array {
return [
'type' => '',
'bundle' => '',
'domain' => '',
];
}
/**
* @return Loco_package_Bundle
*/
protected function getBundle(){
if( $id = $this->get('bundle') ){
// type may be passed as separate argument
if( $type = $this->get('type') ){
return Loco_package_Bundle::createType( $type, $id );
}
// else embedded in standalone bundle identifier
// TODO standardize this across all Ajax end points
return Loco_package_Bundle::fromId($id);
}
// else may have type embedded in bundle
throw new Loco_error_Exception('No bundle identifier posted');
}
/**
* @param Loco_package_Bundle $bundle
* @return Loco_package_Project
*/
protected function getProject( Loco_package_Bundle $bundle ){
$project = $bundle->getProjectById( $this->get('domain') );
if( ! $project ){
throw new Loco_error_Exception('Failed to find translation project');
}
return $project;
}
}