当前位置: 首页>>代码示例>>PHP>>正文


PHP image::remove方法代码示例

本文整理汇总了PHP中image::remove方法的典型用法代码示例。如果您正苦于以下问题:PHP image::remove方法的具体用法?PHP image::remove怎么用?PHP image::remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在image的用法示例。


在下文中一共展示了image::remove方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: image

 function image()
 {
     $response = '';
     $errors = array();
     $message = array();
     $image_command = $this->response->html->request()->get('image_command');
     if ($image_command !== '') {
         switch ($image_command) {
             case 'add':
                 $root_device = $this->response->html->request()->get('root_device');
                 if ($this->deployment->type == 'kvm-gluster-deployment') {
                     $image_name = $this->response->html->request()->get('image_name');
                 } else {
                     $image_name = basename($root_device);
                 }
                 // check if image name is not in use yet
                 $image = new image();
                 $image->get_instance_by_name($image_name);
                 if (strlen($image->id)) {
                     $errors[] = sprintf($this->lang['error_exists'], $image_name);
                 } else {
                     $tables = $this->openqrm->get('table');
                     $image_fields = array();
                     $image_fields["image_id"] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0"));
                     $image_fields['image_name'] = $image_name;
                     $image_fields['image_type'] = $this->deployment->type;
                     $image_fields['image_rootfstype'] = 'local';
                     $image_fields['image_storageid'] = $this->storage->id;
                     $image_fields['image_comment'] = "Image Object for volume {$image_name}";
                     $image_fields['image_rootdevice'] = $root_device;
                     $image = new image();
                     $image->add($image_fields);
                     $message[] = sprintf($this->lang['msg_added_image'], $image_name);
                 }
                 break;
             case 'remove':
                 $image_id = $this->response->html->request()->get('image_id');
                 // check if image is not in use any more before removing
                 $remove_error = 0;
                 $appliance = new appliance();
                 $appliance_id_list = $appliance->get_all_ids();
                 foreach ($appliance_id_list as $appliance_list) {
                     $appliance_id = $appliance_list['appliance_id'];
                     $app_image_remove_check = new appliance();
                     $app_image_remove_check->get_instance_by_id($appliance_id);
                     if ($app_image_remove_check->imageid == $image_id) {
                         $image_is_used_by_appliance .= $appliance_id . " ";
                         $remove_error = 1;
                     }
                 }
                 if ($remove_error == 1) {
                     $errors[] = sprintf($this->lang['error_image_still_in_use'], $image_id, $image_is_used_by_appliance);
                 } else {
                     $image_remove = new image();
                     $image_remove->remove($image_id);
                     $message[] = sprintf($this->lang['msg_removed_image'], $image_id);
                 }
                 break;
         }
         if (count($errors) === 0) {
             $response = join('<br>', $message);
         } else {
             $msg = array_merge($errors, $message);
             $response = join('<br>', $msg);
         }
     } else {
         $response = '';
     }
     return $response;
 }
开发者ID:kelubo,项目名称:OpenQRM,代码行数:70,代码来源:kvm.image.class.php

示例2: stripslashes

     $image_fields["image_deployment_parameter"] = stripslashes($image_deployment_parameter);
     $image->add($image_fields);
     break;
 case 'update_image':
     $image = new image();
     if (!strlen($image_fields["image_isshared"])) {
         $image_fields["image_isshared"] = "0";
     }
     // unquote
     $image_deployment_parameter = $image_fields["image_deployment_parameter"];
     $image_fields["image_deployment_parameter"] = stripslashes($image_deployment_parameter);
     $image->update($image_id, $image_fields);
     break;
 case 'remove':
     $image = new image();
     $image->remove($image_id);
     break;
 case 'remove_by_name':
     $image = new image();
     $image->remove_by_name($image_name);
     break;
 case 'add_deployment_type':
     $deployment = new deployment();
     $deployment_fields["deployment_id"] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0"));
     $deployment->add($deployment_fields);
     break;
 case 'remove_deployment_type':
     $deployment = new deployment();
     $deployment->remove_by_type($deployment_name);
     break;
 default:
开发者ID:kelubo,项目名称:OpenQRM,代码行数:31,代码来源:image-action.php

示例3: openqrm_cloud_monitor


//.........这里部分代码省略.........
    $cloud_image_list = $cil->get_all_ids();
    foreach ($cloud_image_list as $ci_list) {
        $phase_one_actions = 0;
        $ci_id = $ci_list['ci_id'];
        $ci = new cloudimage();
        $ci->get_instance_by_id($ci_id);
        $ci_state = $ci->state;
        $ci_image_id = $ci->image_id;
        $ci_appliance_id = $ci->appliance_id;
        $ci_resource_id = $ci->resource_id;
        $ci_cr_id = $ci->cr_id;
        $ci_resource = new resource();
        $ci_resource->get_instance_by_id($ci_resource_id);
        $ci_appliance = new appliance();
        $ci_appliance->get_instance_by_id($ci->appliance_id);
        // not the openQRM server resource, accept 0 only for private image remove
        if ($ci_cr_id != 0) {
            if ($ci_resource_id == 0) {
                continue;
            }
            // not when the cr is in starting phase
            $ci_request = new cloudrequest();
            $ci_request->get_instance_by_id($ci_cr_id);
            if ($ci_request->status == 8) {
                continue;
            }
        }
        // image still in use ?
        if ($ci_state == 1) {
            // its resource its active with the idle image ? sounds like pause
            if (!strcmp($ci_resource->state, "active") && $ci_resource->imageid == 1) {
                // ####################### remove auto createed vm #################
                // check for auto-create vms, if yes remove the resource if it is virtual
                $app_stop_autovm_remove_conf = new cloudconfig();
                $app_stop_auto_remove_vms = $app_stop_autovm_remove_conf->get_value(7);
                // 7 is auto_create_vms
                if (!strcmp($app_stop_auto_remove_vms, "true")) {
                    // we only remove virtual machines
                    if ($ci_resource->vtype != 1) {
                        // check if we still wait for the image_authentication stop hook
                        unset($ci_image_authentication);
                        $ci_image_authentication = new image_authentication();
                        $ci_image_authentication->get_instance_by_image_id($ci_image_id);
                        if (strlen($ci_image_authentication->id)) {
                            // we still wait for the image_authentication hook to run
                            continue;
                        }
                        // cloudvm->remove .....
                        $event->log("cloud", $_SERVER['REQUEST_TIME'], 5, "monitor-hook", "Auto-removing resource {$ci_resource_id}", "", "", 0, 0, 0);
                        $auto_cloudvm = new cloudvm();
                        $auto_cloudvm->remove($ci_resource_id, $ci_resource->vtype, $ci_appliance->name, $ci_resource->mac);
                        // update cloudimage with resource -1
                        $ar_ci_update = array('ci_resource_id' => "-1");
                        $ci->update($ci->id, $ar_ci_update);
                        $phase_one_actions = 1;
                    }
                }
                // ####################### end remove auto createed vm #############
            }
            // the image is still in use
            continue;
        }
        // image not in use any more and resource active (idle) again ?
        if ($ci_resource_id > 0) {
            if (strcmp($ci_resource->state, "active")) {
                // not yet active again
开发者ID:kelubo,项目名称:OpenQRM,代码行数:67,代码来源:openqrm-cloud-monitor-hook.php

示例4: image

 function image()
 {
     $response = '';
     $errors = array();
     $message = array();
     $image_command = $this->response->html->request()->get('image_command');
     if ($image_command !== '') {
         switch ($image_command) {
             case 'add':
                 $root_device = $this->response->html->request()->get('root_device');
                 $image_name = $this->response->html->request()->get('image_name');
                 // check if image name is not in use yet
                 $image = new image();
                 $image->get_instance_by_name($image_name);
                 if (strlen($image->id)) {
                     $errors[] = sprintf($this->lang['error_exists'], $image_name);
                 } else {
                     $image_rootfstype = '';
                     // for lvm-aoe deployment we need to get the shelf + slot from get_root_identifiert
                     $ident_file = $this->openqrm->get('basedir') . '/plugins/lvm-storage/web/storage/' . $this->resource->id . '.lvm.' . $image_name . '.adapt';
                     $get_ident_command = $this->openqrm->get('basedir') . '/plugins/lvm-storage/bin/openqrm-lvm-storage adapt';
                     $get_ident_command .= ' -n ' . $image_name;
                     $get_ident_command .= ' -t ' . $this->deployment->type . ' -v ' . $this->volgroup;
                     $get_ident_command .= ' -u ' . $this->openqrm->admin()->name . ' -p ' . $this->openqrm->admin()->password;
                     $get_ident_command .= ' --openqrm-ui-user ' . $this->user->name;
                     $get_ident_command .= ' --openqrm-cmd-mode background';
                     if (file_exists($ident_file)) {
                         unlink($ident_file);
                     }
                     $this->resource->send_command($this->resource->ip, $get_ident_command);
                     while (!file_exists($ident_file)) {
                         usleep(10000);
                         // sleep 10ms to unload the CPU
                         clearstatcache();
                     }
                     $found = false;
                     if ($this->deployment->type == 'lvm-aoe-deployment') {
                         $name = $root_device;
                         $root_device = '';
                         $ident_lines = explode("\n", file_get_contents($ident_file));
                         if (count($ident_lines) >= 1) {
                             foreach ($ident_lines as $ident_line) {
                                 if ($ident_line !== '') {
                                     $ident_line = explode(',', $ident_line);
                                     $ident_root_path = explode(':', $ident_line[1]);
                                     $ident_check = $ident_root_path[1];
                                     if ($name === $ident_check) {
                                         $root_device = $ident_line[1];
                                         $image_rootfstype = 'ext3';
                                         $found = true;
                                         break;
                                     }
                                 }
                             }
                         }
                     } else {
                         if ($this->deployment->type == 'lvm-iscsi-deployment') {
                             $image_rootfstype = 'ext3';
                             $found = true;
                         } else {
                             if ($this->deployment->type == 'lvm-nfs-deployment') {
                                 $image_rootfstype = 'nfs';
                                 $found = true;
                             }
                         }
                     }
                     if ($found) {
                         $tables = $this->openqrm->get('table');
                         $image_fields = array();
                         $image_fields["image_id"] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0"));
                         $image_fields['image_name'] = $image_name;
                         $image_fields['image_type'] = $this->deployment->type;
                         $image_fields['image_rootfstype'] = $image_rootfstype;
                         $image_fields['image_storageid'] = $this->storage->id;
                         $image_fields['image_comment'] = "Image Object for volume {$image_name}";
                         $image_fields['image_rootdevice'] = $root_device;
                         $image = new image();
                         $image->add($image_fields);
                         $message[] = sprintf($this->lang['msg_added_image'], $image_name);
                     } else {
                         $message[] = sprintf($this->lang['msg_add_failed'], $image_name);
                     }
                 }
                 break;
             case 'remove':
                 $image_id = $this->response->html->request()->get('image_id');
                 // check if image is not in use any more before removing
                 $remove_error = 0;
                 $appliance = new appliance();
                 $appliance_id_list = $appliance->get_all_ids();
                 foreach ($appliance_id_list as $appliance_list) {
                     $appliance_id = $appliance_list['appliance_id'];
                     $app_image_remove_check = new appliance();
                     $app_image_remove_check->get_instance_by_id($appliance_id);
                     if ($app_image_remove_check->imageid == $image_id) {
                         $image_is_used_by_appliance .= $appliance_id . " ";
                         $remove_error = 1;
                     }
                 }
                 if ($remove_error == 1) {
//.........这里部分代码省略.........
开发者ID:kelubo,项目名称:OpenQRM,代码行数:101,代码来源:lvm-storage.image.class.php

示例5: add

 function add()
 {
     $response = $this->get_response();
     $form = $response->form;
     if (!$form->get_errors() && $this->response->submit()) {
         $config = $form->get_request('config');
         $storage_id = $this->response->html->request()->get('storage_id');
         $storage = new storage();
         $resource = new resource();
         $storage->get_instance_by_id($storage_id);
         $resource->get_instance_by_id($storage->resource_id);
         $file = $this->openqrm->get('basedir') . "/plugins/nfs-storage/web/storage/" . $resource->id . ".nfs.stat.manual";
         $image = new image();
         $error = '';
         // get old data
         $old = array();
         if ($this->file->exists($file)) {
             $old = $this->file->get_contents($file);
             $old = str_replace("\r\n", "\n", $old);
             $old = explode("\n", $old);
         }
         if (isset($config) && $config !== '') {
             $new = str_replace("\r\n", "\n", $config);
             $new = explode("\n", $new);
             $new = array_unique($new);
             // sync old and new values
             foreach ($old as $v) {
                 if (!in_array($v, $new)) {
                     $name = substr($v, strrpos($v, '/') + 1);
                     if (isset($name) && $name !== '' && $name !== false) {
                         $current = $image->get_instance_by_name($name);
                         if (isset($current) && $current->name === $name) {
                             $image->remove($current->id);
                         }
                     }
                 } else {
                     if (in_array($v, $new)) {
                         unset($new[array_search($v, $new)]);
                     }
                 }
             }
             // add new values to images
             foreach ($new as $v) {
                 $name = substr($v, strrpos($v, '/') + 1);
                 if (isset($name) && $name !== '' && $name !== false) {
                     $current = $image->get_instance_by_name($name);
                     if (isset($current) && $current->name === $name) {
                         $error[] = sprintf($this->lang['error_image_in_use'], $name, $v);
                     } else {
                         if ($v !== '') {
                             $tables = $this->openqrm->get('table');
                             $f['image_id'] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0"));
                             $f['image_name'] = $name;
                             $f['image_type'] = 'nfs-deployment';
                             $f['image_rootfstype'] = 'nfs';
                             $f['image_rootdevice'] = $v;
                             $f['image_storageid'] = $this->storage;
                             $f['image_comment'] = 'Manually added nfs export';
                             $image->add($f);
                         }
                     }
                 } else {
                     if ((!isset($name) || $name === '' || $name === false) && $v !== '') {
                         $error[] = $this->lang['error_name_empty'];
                     }
                 }
             }
             // handle config file
             if ($error === '') {
                 if (!($handle = fopen($file, 'w+'))) {
                     $error = "Cannot open file ({$file})";
                 }
                 if (fwrite($handle, $config) === FALSE) {
                     $error = "Cannot write to file ({$file})";
                 }
                 if ($error !== '') {
                     $response->error = $error;
                 } else {
                     $response->msg = $this->lang['saved'];
                 }
             } else {
                 if (is_array($error)) {
                     $response->error = implode('<br>', $error);
                 } else {
                     if (is_string($error)) {
                         $response->error = $error;
                     }
                 }
             }
         } else {
             // remove old values from image table
             foreach ($old as $v) {
                 if (!in_array($v, $new)) {
                     $name = substr($v, strrpos($v, '/') + 1);
                     if (isset($name) && $name !== '' && $name !== false) {
                         $current = $image->get_instance_by_name($name);
                         if (isset($current) && $current->name === $name) {
                             $image->remove($current->id);
                         }
                     }
//.........这里部分代码省略.........
开发者ID:kelubo,项目名称:OpenQRM,代码行数:101,代码来源:nfs-storage.manual.class.php

示例6: remove

 function remove()
 {
     $response = $this->get_response();
     $remove_image_id = $this->response->html->request()->get($this->identifier_name);
     $force_remove = $response->html->request()->get('force_remove');
     $form = $response->form;
     $image = new image();
     if ($remove_image_id !== '') {
         $submit = $form->get_elements('submit');
         $submit->handler = 'onclick="wait();"';
         $form->add($submit, 'submit');
         $submit = $form->get_elements('cancel');
         $submit->handler = 'onclick="cancel();"';
         $form->add($submit, 'cancel');
         $image->get_instance_by_id($remove_image_id);
         $d['param_f' . $remove_image_id]['label'] = $image->name;
         $d['param_f' . $remove_image_id]['object']['type'] = 'htmlobject_input';
         $d['param_f' . $remove_image_id]['object']['attrib']['type'] = 'checkbox';
         $d['param_f' . $remove_image_id]['object']['attrib']['name'] = $this->identifier_name;
         $d['param_f' . $remove_image_id]['object']['attrib']['value'] = $remove_image_id;
         $d['param_f' . $remove_image_id]['object']['attrib']['checked'] = true;
         $d['force_remove']['label'] = $this->lang['msg_force_remove'];
         $d['force_remove']['object']['type'] = 'htmlobject_input';
         $d['force_remove']['object']['attrib']['type'] = 'checkbox';
         $d['force_remove']['object']['attrib']['name'] = 'force_remove';
         $d['force_remove']['object']['attrib']['value'] = 1;
         $d['force_remove']['object']['attrib']['checked'] = false;
         $form->add($d);
         if (!$form->get_errors() && $response->submit()) {
             $errors = array();
             $message = array();
             if ($force_remove == 1) {
                 $image->get_instance_by_id($remove_image_id);
                 $image_is_used_by_appliance = "";
                 $remove_error = 0;
                 $appliance = new appliance();
                 $appliance_id_list = $appliance->get_all_ids();
                 foreach ($appliance_id_list as $appliance_list) {
                     $appliance_id = $appliance_list['appliance_id'];
                     $app_image_remove_check = new appliance();
                     $app_image_remove_check->get_instance_by_id($appliance_id);
                     if ($app_image_remove_check->imageid == $remove_image_id) {
                         $image_is_used_by_appliance .= $appliance_id . " ";
                         $remove_error = 1;
                     }
                 }
                 if ($remove_error == 1) {
                     $message[] = sprintf($this->lang['msg_not_removing_active'], $remove_image_id, $image_is_used_by_appliance);
                 } else {
                     $image_name = $image->name;
                     $image->remove($remove_image_id);
                     $form->remove($this->identifier_name . '[' . $remove_image_id . ']');
                     $message[] = sprintf($this->lang['msg'], $image_name);
                 }
             } else {
                 $message[] = sprintf($this->lang['msg_not_removing'], $image->name);
             }
             if (count($errors) === 0) {
                 $response->msg = join('<br>', $message);
             } else {
                 $msg = array_merge($errors, $message);
                 $response->error = join('<br>', $msg);
             }
         }
     } else {
         $response->msg = '';
     }
     return $response;
 }
开发者ID:kelubo,项目名称:OpenQRM,代码行数:69,代码来源:image.remove.class.php

示例7: foreach

     foreach ($list as $hc_id) {
         $storage->get_instance_by_id($hc_id);
         if ($storage->resource_id == 0) {
             $found_hc = true;
             $found_hc_id = $storage->id;
             break;
         }
     }
 }
 if ($found_hc) {
     // remove all AMI Images, then the storage
     $image = new image();
     $hc_image_list = $image->get_ids_by_storage($found_hc_id);
     foreach ($hc_image_list as $list) {
         foreach ($list as $hc_image_id) {
             $image->remove($hc_image_id);
             $event->log("init", $_SERVER['REQUEST_TIME'], 5, "hybrid-cloud-ation", "Removed AMI Image Object " . $hc_image_id . ".", "", "", 0, 0, 0);
         }
     }
     $storage->remove($found_hc_id);
 }
 // remove cloud products
 if (file_exists($cloud_usergroup_class)) {
     require_once $cloud_usergroup_class;
     $cloud_project = new cloudusergroup();
     $cloud_project->get_instance_by_name('Admin');
     if (file_exists($cloud_selector_class)) {
         if (file_exists($cloud_product_hook)) {
             $cloud_hook_config = array();
             $cloud_hook_config['cloud_admin_procect'] = $cloud_project->id;
             require_once $cloud_product_hook;
开发者ID:kelubo,项目名称:OpenQRM,代码行数:31,代码来源:hybrid-cloud-action.php

示例8: image

 function __remove_cloud_image($image_id, $noop)
 {
     $error = '';
     $image = new image();
     $image->get_instance_by_id($image_id);
     if (strlen($image->name)) {
         $authblocker = new authblocker();
         $authblocker->get_instance_by_image_id($image->id);
         if ($authblocker->image_name == $image->name) {
             if ($noop) {
                 $authblocker->remove($authblocker->id);
             } else {
                 // error
                 $error = "removing authblocker: " . $authblocker->id . "<br>";
             }
         }
         $this->cloudimage->get_instance_by_image_id($image_id);
         if ($noop) {
             $this->cloudstorage->remove($this->cloudimage->id, $this->timeout);
             $image->remove($image->id);
         }
     }
     return $error;
 }
开发者ID:kelubo,项目名称:OpenQRM,代码行数:24,代码来源:cloud-request.clean.class.php


注:本文中的image::remove方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。