function ptgen_generator($post_id) { $pg_options = get_option('pg_options'); $text = pg_limit_text(get_the_title($post_id), 30); $call_to_action_text = $pg_options['pg_text_call_to_action']; $call_to_action_website = $pg_options['pg_website_call_to_action']; $thumbnail = get_the_post_thumbnail_url($post_id, 'full'); $hash = hash('md5', strval($post_id)); $photo_diretory = PTGEN_PLUGIN_PATH . 'files/images/img-' . $hash . '.jpg'; // Fix: Encode the URL properly to handle special characters $encoded_thumbnail = esc_url_raw($thumbnail); // Use wp_safe_remote_get instead of file_get_contents for better error handling $response = wp_safe_remote_get($encoded_thumbnail, array( 'timeout' => 60, 'redirection' => 5, 'httpversion' => '1.0', '-agent' => 'WordPress/' . get_bfo('version'), 'ssl' => false, )); // Check if the request was successful if (is_wp_error($response) || 200 !== wp_remote_retrieve_response_code($response)) { error_log('Failed to image: ' . $encoded_thumbnail); return false; } // Get the image content $image_content = wp_remote_retrieve_body($response); // Save the image to the local file if (file_put_contents($photo_diretory, $image_content)) { $feed_diretory = PTGEN_PLUGIN_PATH . 'files/feed-' . $hash . '.jpg'; $feed_facebook_diretory = PTGEN_PLUGIN_PATH . 'files/feed-facebook-' . $hash . '.jpg'; $story_diretory = PTGEN_PLUGIN_PATH . 'files/story-' . $hash . '.jpg'; $logo = new Imagick(); $logo->readImage(pg_get_image_logo_patch(wp_get_attachment_url($pg_options['pg_image'], 'full'))); $logo->scaleImage(200, 60, true); // Rest of the function remains the same // ------------------ FEED FACEBOOK ------------------ $image_fb = new Imagick(); $title_fb = new ImagickDraw(); $cta_fb = new ImagickDraw(); $website_fb = new ImagickDraw(); $pixel_fb = new ImagickPixel('white'); $image_fb->newImage(1440, 1800, $pixel_fb); $thumbnail_fb = new Imagick($photo_diretory); $thumbnail_fb->scaleImage(4320, 1800, true); $thumb_width = $thumbnail_fb->getImageWidth(); $thumb_x = (1440 - $thumb_width) / 2; $bg_feed_fb = new Imagick(); $bg_feed_fb->readImage(PTGEN_PLUGIN_PATH . "assets/images/feed.png"); $logo_x = 720 - ($logo->getImageWidth() / 2); $image_fb->compositeImage($thumbnail_fb, Imagick::COMPOSITE_OVER, ceil($thumb_x), 0); $image_fb->compositeImage($bg_feed_fb, Imagick::COMPOSITE_OVER, 0, 0); $image_fb->compositeImage($logo, Imagick::COMPOSITE_OVER, ceil($logo_x), 1680); $title_fb->setFillColor($pg_options['pg_feed_font_color']); $title_fb->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $title_fb->setFontSize(90); $title_fb->setTextAlignment(Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image_fb, $title_fb, $text, 1350); $text_height = count($lines) * $lineHeight; $title_y = 1350 - ($text_height / 2); // centralizado na área útil inferior foreach ($lines as $i => $line) { $image_fb->annotateImage($title_fb, 720, $title_y + $i * $lineHeight, 0, $line); } $cta_fb->setFillColor($pg_options['pg_color_call_to_action']); $cta_fb->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $cta_fb->setFontSize(40); $cta_fb->setTextAlignment(Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image_fb, $cta_fb, $call_to_action_text, 1300); foreach ($lines as $i => $line) { $image_fb->annotateImage($cta_fb, 720, 1200 + $i * $lineHeight, 0, $line); } $website_fb->setFillColor($pg_options['pg_color_call_to_action']); $website_fb->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $website_fb->setFontSize(36); $website_fb->setTextAlignment(Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image_fb, $website_fb, $call_to_action_website, 1300); foreach ($lines as $i => $line) { $image_fb->annotateImage($website_fb, 720, 1200 + $i * $lineHeight, 0, $line); } $image_fb->optimizeImageLayers(); $image_fb->setCompression(Imagick::COMPRESSION_JPEG); $image_fb->setImageFormat("jpg"); $image_fb->setInterlaceScheme(Imagick::INTERLACE_PLANE); $image_fb->stripImage(); $image_fb->setImageCompressionQuality(0); $image_fb->writeImage($feed_facebook_diretory); $image_fb->destroy(); /* ------------------ / Feed / ---------------- */ $image = new Imagick(); $title = new ImagickDraw(); $call_to_action = new ImagickDraw(); $website = new ImagickDraw(); $pixel = new ImagickPixel('white'); $image->newImage(1080, 1080, $pixel); $thumbnail = new Imagick($photo_diretory); $thumbnail->scaleImage(3000, 1080, true); $thumbnail_width = $thumbnail->getImageWidth(); $thumb_position_x = (1080 - $thumbnail_width) / 2; $bg_feed = new Imagick(); $bg_feed->readImage(PTGEN_PLUGIN_PATH . "assets/images/feed.png"); $logo_position_x = 540 - ($logo->getImageWidth() / 2); $image->compositeImage($thumbnail, imagick::COMPOSITE_OVER, ceil($thumb_position_x), 0); $image->compositeImage($bg_feed, imagick::COMPOSITE_OVER, 0, 0); $image->compositeImage($logo, imagick::COMPOSITE_OVER, ceil($logo_position_x), 980); $title->setFillColor($pg_options['pg_feed_font_color']); $title->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $title->setFontSize($pg_options['pg_feed_font_size']); $title->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $title, $text, 950); $text_height = sizeof($lines) * $lineHeight; $title_position_y = 1080 - (180 + $text_height); for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($title, 530, $title_position_y + $i * $lineHeight, 0, $lines[$i]); } $call_to_action->setFillColor($pg_options['pg_color_call_to_action']); $call_to_action->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $call_to_action->setFontSize(32); $call_to_action->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $call_to_action, $call_to_action_text, 950); for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($call_to_action, 530, 920 + $i * $lineHeight, 0, $lines[$i]); } $website->setFillColor($pg_options['pg_color_call_to_action']); $website->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $website->setFontSize(32); $website->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $website, $call_to_action_website, 950); for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($website, 530, 965 + $i * $lineHeight, 0, $lines[$i]); } $image->optimizeImageLayers(); $image->setCompression(imagick::COMPRESSION_JPEG); $image->setImageFormat("jpg"); $image->setInterlaceScheme(Imagick::INTERLACE_PLANE); $image->stripImage(); $image->setImageCompressionQuality(0); $image->writeImage($feed_diretory); $image->destroy(); /* ------------------ / Story / ---------------- */ $image = new Imagick(); $title = new ImagickDraw(); $call_to_action = new ImagickDraw(); $website = new ImagickDraw(); $pixel = new ImagickPixel('white'); $image->newImage(720, 1280, $pixel); $thumbnail = new Imagick($photo_diretory); $thumbnail->scaleImage(3000, 1280, true); $thumbnail_width = $thumbnail->getImageWidth(); $thumb_position_x = (720 - $thumbnail_width) / 2; $bg_story = new Imagick(); $bg_story->readImage(PTGEN_PLUGIN_PATH . "assets/images/story.png"); $logo_position_x = 360 - ($logo->getImageWidth() / 2); $image->compositeImage($thumbnail, imagick::COMPOSITE_OVER, ceil($thumb_position_x), 0); $image->compositeImage($bg_story, imagick::COMPOSITE_OVER, 0, 0); if ($pg_options['pg_story_title_custom_position_options'] == 'auto-adjust') { $image->compositeImage($logo, imagick::COMPOSITE_OVER, ceil($logo_position_x), 1080); } else { $image->compositeImage($logo, imagick::COMPOSITE_OVER, ceil($logo_position_x), 1180); } $title->setFillColor($pg_options['pg_story_font_color']); $title->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $title->setFontSize(35); $title->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $title, $text, 600); $text_height = sizeof($lines) * $lineHeight; switch ($pg_options['pg_story_title_custom_position_options']) { case 'auto': $title_position_y = 1280 - (180 + $text_height); break; case 'figure': $title_position_y = 1280 - (350 + $text_height); $figure = new Imagick(); $figure->readImage(PTGEN_PLUGIN_PATH . 'assets/images/figure.png'); $figure->scaleImage(390, 113, true); $figure->evaluateImage(Imagick::EVALUATE_MULTIPLY, 0.2, Imagick::CHANNEL_ALPHA); $image->compositeImage($figure, imagick::COMPOSITE_OVER, 150, 930); break; case 'pixel': $title_position_y = $pg_options['pg_story_title_custom_position']; break; case 'auto-adjust': default: $title_position_y = 1280 - (280 + $text_height); break; } for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($title, 350, $title_position_y + $i * $lineHeight, 0, $lines[$i]); } $call_to_action->setFillColor($pg_options['pg_color_call_to_action']); $call_to_action->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $call_to_action->setFontSize(28); $call_to_action->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $call_to_action, $call_to_action_text, 600); $cta_y = ($pg_options['pg_story_title_custom_position_options'] == 'auto-adjust') ? 1015 : 1110; for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($call_to_action, 350, $cta_y + $i * $lineHeight, 0, $lines[$i]); } $website->setFillColor($pg_options['pg_color_call_to_action']); $website->setFont(PTGEN_PLUGIN_PATH . 'assets/fonts/Inter-Bold.ttf'); $website->setFontSize(28); $website->setTextAlignment(\Imagick::ALIGN_CENTER); list($lines, $lineHeight) = ptgen_word_wrap($image, $website, $call_to_action_website, 600); $website_y = ($pg_options['pg_story_title_custom_position_options'] == 'auto-adjust') ? 1060 : 1155; for ($i = 0; $i < count($lines); $i++) { $image->annotateImage($website, 350, $website_y + $i * $lineHeight, 0, $lines[$i]); } $image->optimizeImageLayers(); $image->setCompression(imagick::COMPRESSION_JPEG); $image->setImageFormat("jpg"); $image->setInterlaceScheme(Imagick::INTERLACE_PLANE); $image->stripImage(); $image->setImageCompressionQuality(0); $image->writeImage($story_diretory); $image->destroy(); unlink($photo_diretory); $images = array( 'feed' => get_site_url() . '/wp-content/plugins/post-generator/files/feed-' . $hash . '.jpg', 'feed_facebook' => get_site_url() . '/wp-content/plugins/post-generator/files/feed-facebook-' . $hash . '.jpg', 'story' => get_site_url() . '/wp-content/plugins/post-generator/files/story-' . $hash . '.jpg' ); return $images; } return false; } Vagas de emprego na MODEC! Gigante no setor de petróleo e gás está recrutando Técnicos, Analistas, Operadores e outros profissionais de nível médio, técnico e superior - G Click Petroleo e Gas
  1. Início
  2. / Vagas de Emprego
  3. / Vagas de emprego na MODEC! Gigante no setor de petróleo e gás está recrutando Técnicos, Analistas, Operadores e outros profissionais de nível médio, técnico e superior
Tempo de leitura 4 min de leitura Comentários 0 comentários

Vagas de emprego na MODEC! Gigante no setor de petróleo e gás está recrutando Técnicos, Analistas, Operadores e outros profissionais de nível médio, técnico e superior

Escrito por Ruth Rodrigues
Publicado em 15/08/2024 às 03:55
Multinacional MODEC busca novos profissionais para integrar a sua equipe e preencher as vagas de emprego disponíveis no Rio de Janeiro.
Multinacional MODEC busca novos profissionais para integrar a sua equipe e preencher as vagas de emprego disponíveis no Rio de Janeiro. Foto: Modec

Multinacional japonesa MODEC busca novos profissionais para integrar a sua equipe e preencher as vagas de emprego disponíveis.

Nesta quinta-feira, (15/08), a MODEC está com vagas de emprego abertas para técnicos, analistas, operadores e muito mais! Como a maior operadora independente de plataformas FPSO do mundo, a MODEC é uma multinacional referência na indústria de óleo e gás, dedicada a oferecer tecnologia de ponta no setor. Com mais de 50 anos de experiência global e 20 anos de atuação no Brasil, a MODEC valoriza profissionais dinâmicos e comprometidos que buscam crescer em um ambiente ético, multicultural e repleto de desafios. 

Quais as vagas de emprego disponíveis na Multinacional MODEC? 

Analista de projetos de infraestrutura de TI

Requisitos exigidos pela MODEC: Possuir graduação completa em Ciência da Computação, Sistemas de Informação, Análise de Sistemas, Informática, Engenharia da Computação, Engenharia Eletrônica ou áreas correlatas.

É desejável ter pós-graduação em Gerenciamento de Projetos ou áreas similares e certificação PMP. Além disso, é necessário ter inglês avançado para comunicar-se eficazmente com o time global.

Dia
Baratíssimo
📱 Smartphones poderosos com preços e descontos imperdíveis!
Ícone de Episódios Comprar

Responsabilidades: Alavancar seu desenvolvimento pessoal e profissional por meio de s e treinamentos variados.

Ele liderará a execução de novos projetos e demandas de infraestrutura de TI, incluindo planejamento e reporte de andamento para a área de PM de TI e Facilities.

Também dará e à orçamentação de itens de infraestrutura corporativa, promoverá a otimização contínua de custos e assegurará a adequação das soluções de infraestrutura de TI. 

Local da vaga de emprego: Rio de Janeiro, Rio de Janeiro.

Coordenador de facilities

Requisitos exigidos pela MODEC: Graduação superior completa em Engenharia ou Arquitetura e experiência prévia em gestão, implementação e manutenção de certificações, bem como análise de processos.

É essencial ter sólida vivência em gestão de equipes e inglês avançado. Conhecimento em SAP é desejável, e o profissional deve estar disponível para viagens recorrentes entre as bases da MODEC.

Responsabilidades: Responsável pelo planejamento orçamentário anual corporativo da MdB, controlando custos e despesas e garantindo a qualidade e integridade dos processos.

Ele deverá auditar o uso da ferramenta de gestão de metas e assegurar o alinhamento dos empregados com os objetivos da empresa.

Local da vaga de emprego: Rio de Janeiro, Rio de Janeiro.

Operador de rádio

Requisitos exigidos pela MODEC: Ensino médio completo e experiência prévia como Rádio Operador. É necessário possuir certificações GMDSS, CNS 014, HT, CBSP e Huet, além de inglês fluente para comunicação eficaz em ambientes internacionais.

Responsabilidades: Oportunidade offshore realizando comunicação interna e externa conforme as instruções do OIM (Offshore Installation Manager).

As principais tarefas incluem controlar o POB (Personnel On Board) da aeronave, transmitir e receber documentos, informar sobre atrasos ou cancelamentos de voos e assegurar a comunicação de rádio com controle aéreo em VHF e SSB. 

Local da vaga de emprego: Rio de Janeiro, Rio de Janeiro.

Analista de e de TI sênior

Requisitos exigidos pela MODEC: Graduação superior completa em Ciência da Computação, Sistemas de Informação, Análise de Sistemas, Informática, Engenharia da Computação, Engenharia Eletrônica ou áreas similares.

É necessário ter sólida experiência em e e serviços de infraestrutura e sistemas de TI, com forte conhecimento em servidores, cabeamento, redes estruturadas, servidores de e-mail e soluções em cloud. 

Responsabilidades: Fornecer e técnico de 1º nível em infraestrutura, sistemas e Facilities para clientes internos e externos.

As principais tarefas incluem apoiar a orçamentação dos itens de e de TI, contribuir para processos e alocação de recursos e custos, e estar disponível para atender demandas de acordo com horários e turnos definidos, incluindo regime de plantão e embarque para atendimento presencial offshore. 

Local da vaga de emprego: Rio de Janeiro, Rio de Janeiro.

Operador de sala de controle

Requisitos: Experiência prévia como Operador de Sala de Controle (CRO) em FPSO e um nível técnico ou superior. É essencial possuir inglês avançado para comunicação eficaz em um ambiente offshore.

Responsabilidades: Operar equipamentos relacionados à planta de processo e produção de maneira segura e eficiente, conforme as diretrizes estabelecidas pelo Superintendente de Processos e/ou Supervisor de Produção.

Suas funções incluem monitorar e controlar todo o equipamento relacionado ao processo por meio de FCS e outros painéis de controle durante o turno. 

Local da vaga de emprego: Rio de Janeiro, Rio de Janeiro.

Interessado nas vagas de emprego disponíveis na multinacional MODEC? Clique aqui e inscreva-se já!

Inscreva-se
Entre com
Notificar de
guest
0 Comentários
Mais antigos
Mais recente Mais votado
s
Visualizar todos comentários
Ruth Rodrigues

Formada em Ciências Biológicas pela Universidade do Estado do Rio Grande do Norte (UERN), atua como redatora e divulgadora científica.

Compartilhar em aplicativos
0
Adoraríamos sua opnião sobre esse assunto, comente!x